Encyclopedia of Computer Science & Engineering
Encyclopedia of Computer Science & Engineering
COMPUTER SCIENCE
THIRD EDITION
Edited by Anthony Ralston and Edwin D. Reilly
i ;
.
vad P .
ate
} ) | oC
a
Encyclopedia}
of Computer
Science
THIRD EDITION
Editors:
Anthony Ralston
Edwin D. Reilly
Managing Editor:
Editorial Board vi
Contributors vii
Editors’ Foreword XV
ENCYCLOPEDIA 1-1445
Appendices
Index 1495
EDITORIAL BOARD
Malcolm P. Atkinson
University of Glasgow
Peter J. Denning
George Mason University
Aaron Finerman
University of Michigan
Bernard A. Galler
University of Michigan
Martin Campbell-Kelly
University of Warwick
Laurence Press
California State University at Dominguez Hills
Jean E. Sammet
Programming Languages Consultant
Ian H. Witten
University of Calgary
CONTRIBUTORS
(Numbers after each name indicate the pages at which contributions by each author begin.)
John N. Ackley 1429 Frederick G. Bohme, U.S. Bureau of the Census 613
David H. Ahl, SBI Associattes 285 Ronald F. Boisvert, National Institute of Standards and
Suad Alagic, University of Sarajevo 26 Technology 1229
James Allen, University of Rochester 913 Grady Booch, Rational, Inc. 1, 10
Jonathan Allen, Massachusetts Institute of Technology Kathleen H. V. Booth, Autonetics Research Associates
1264 870
Saul Amarel, Rutgers University 315 Fred Braddock, Delphi Communications Corporation 2
Charles Ames, Composer 312 Susan C. Brewer 1424
Ronald E. Anderson, University of Minnesota 1210 Allan G. Bromley, University of Sydney 67, 431
Scott E. Anderson, Industrial Light and Magic 512 Heather Brown, University of Kent, UK 429
Deane Arganbright, Whitworth College 1269 PeterJ.Brown, University of Kent, UK 809, 1068
William F. Aspray, Jr., Rutgers University 173 G. Edward Bryan, Honeywell Corporation 1380
Malcolm P. Atkinson, Glasgow University 399, 476, 863 Janusz A. Brzozowski, University of Waterloo 1191
Isaac L. Auerbach, Auerbach Consultants 40, 41, 98, 99, Werner Buchholz, IBM Corporation 1301
485, 682, 701, 703, 1212, 1213 R. A. Buckingham, University of London, UK 104
Algirdas Avizienis, UCLA 12, 76, 1159 Alan J. Buddendeck, NCR Corporation 919
G. David Baer, Computer Task Group, Inc. 637 Alice R. Burks, Writer 102, 103
Jean-Loup Baer, University of Washington 352, 775, 904 Arthur W. Burks, University of Michigan 102, 103
F. Terry Baker, FTB Software Engineering 175 Martin Campbell-Kelly, University of Warwick, UK 1071,
David R. Baldauf, Consultant 1348 1136, 1138, 1300
Mario R. Barbacci, Carnegie-Mellon University 597 Carl F: Cargill, Sun Microsystems 1274
David W. Barron, University of Southhampton, UK 92, John Case, University of Delaware 105
753, 768 Yair Censor, University of Haifa, Israel 1003
David H. Bartley, Texas Instruments 577 Paul Ceruzzi, Smithsonian Institution 122, 447, 1443
Farokh B. Bastani, University of Houston 1242 Janice F. Cerveny, Canisius College 505
Valdis Berzins, Naval Postgraduate School 1241 RobertP. Cerveny, SUNY at Buffalo 588, 1048
DileepP.Bhandarkar, Digital Equipment Corporation 463 Sreejit Chakravarty, SUNY at Buffalo 271
Adrienne Bloss, Virginia Polytechnic Institute and State Joseph Chammas, Bell Canada 1416
University 727, 1030, 1315 Ned Chapin, Consultant 422, 559
Daniel G. Bobrow, Xerox Corporation 39 Thomas Charland, Control Data Corporation 358
William E. Boggs, Author 189 Keith Clark, Imperial College, UK 783
Vii
Vili ©CONTRIBUTORS
Edmund M. Clarke, Jr., Carnegie-Mellon University 608 EdwardJ. Garrity, Canisius College 1048
Billy G. Claybrook, Claybrook Enterprises 553 Narain Gehani, AT&T Bell Laboratories 349
W. J. Cody, Jr., Argonne National Laboratory 73 Donald E. Geister, University of Michigan 352
Sam D. Conte, Purdue University 946 Pat Gelsinger, Intel Corporation 872
RobertP. Cook, University of Virginia 895 Michael Gemignani, University of Houston at Clear Lake
James W. Cooley, IBM Corporation 544 741, 743, 1073
Christopher Cooper, Rutherford Appleton Laboratory, UK Alan Gibbons, University of Warwick, UK 584
771 Norman E. Gibbs, Carnegie-Mellon University 1222
F. J. Corbato, Massachusetts Institute of Technology 1376 Eric Giguere, University of Waterloo, Canada 430
John Corcoran, SUNY at Buffalo 176 Stanley Gill 1299, 1430
Tony L. Cox, Amoco Production Company 1088 Jonathan Goldstine, Pennsylvania State University 561,
Daniel Craigen, ORA Ottawa 1111 1404
John Crowcroft, University College, London 578, 870 Julian Gomez, Polished Pixels 242
Hugh Darwen, IBM Corporation, UK 1161 Gaston Gonnet, ETH-Zurich 231
Charles H. Davidson, 962, 1263 Saul Gorn, 1052
Gordon B. Davis, University of Minnesota 813 James Gosling, SUN Microsystems 1434
Richard G. Davis, Mformation Systems 911 V. Govindaraju, SUNY at Buffalo 1034
Carl deBoor, University of Wisconsin 1268 John B. Graves, Library of Congress 750
Richard DeMillo, Purdue University 1246 Harvey J. Greenberg, University of Colorado at Denver
PeterJ.Denning, George Mason University 319, 717, 898, 989
966, 1005, 1332, 1374, 1374, 1420, 1441 Saul Greenberg, Alberta Research Council, Canada 1240,
Dorothy E. Denning, Georgetown University 717, 1005, 1411
1374 David Gries, Cornell University 322, 796
George D. Detlefsen 121 Ralph E. Griswold, University of Arizona 1302
Ted A. Dolotta, Interactive Systems Corporation 193 Fred Gruenberger, California State University, Northridge
Jack Dongarra, University of Tennessee 123 143, 719
Philip H. Dorn, Dorn Computer Consultants, Inc. 1409 Dominik Gruntz, ETH-Zurich 231
Phillippe L. Dreyfus, CAP Gemini Sogeti, Paris 1479 Stanley Habib, City College, City University of New York
Charles Eaker, General Electric Co. 565 510
Richard H. Eckhouse, Jr., University of Massachusetts— Tim Hackworth, British Computer Society 140
Boston 7, 889 Mark Halpern, Tandem Computers, Inc. 125, 140, 487,
William Eddy, Carnegie-Mellon University 1159, 1283 195, 799
Heyward Ehrlich, Rutgers University 623 Sven Hammarling, The Numerical Algorithms Group Ltd.,
Jon Eklund, Smithsonian Institution 460 UK 1431
Philip Emma, IBM Corporation 1290 Richard Hamming, Naval Postgraduate School 531
PhilipH. Enslow, Jr., Georgia Institute of Technology 198, Mary Ellen Hanley, Florida Atlantic University 21
476 David R. Hanson, Princeton University 1302
Richard E. Fairley, Software Engineering Managemant As- Fred H. Harris, University of Tennessee 680
sociates, Inc. 1232 Marion J. Hart, 164
Mary A. C. Fallon, Writer 68 Brian Harvey, University of California, Berkeley 792
Francis D. Federighi, Union College 1114 Patrick J. Hayes, Stanford University 719
Edward Feigenbaum, Stanford University 536 David G. Hays 175
Richard Fenrich, SUNY at Buffalo 993 Robert V. Head, Federal Information Systems Marketing
Domenico Ferrari, University of California, Berkeley 1238 Service 1149
Nicholas V. Findler, Arizona State University 611 Jacques Hebenstreit, Ecole Superieure d’Electricite, Paris
Aaron Finerman, University of Michigan 493 501
Janet Finlay, University of York, UK 1240 Laurence Heilprin, University of Maryland 372
Patrick C. Fischer, Vanderbilt University 1397, 1428 Herb Hellerman, Amdahl Corporation 323, 706
Barry B. Flachsbart, McDonnell Douglas Corporation 216 Gabor T. Herman, University of Pennsylvania 37, 1381
Ivan Flores, Flores Associates 90, 180, 489, 1261 Bertram Herzog, University of Michigan 222, 353
Michael J. Flynn, Stanford University 375, 572, 774, 882, Clyde W. Holsapple, University of Kentucky 588
1107, 1148 John E. Hopcroft, Cornell University 30
Robert H. Follett, IBM Corporation 1118 Ellis Horowitz, University of Southern California 33
Dennis J. Frailey, Texas Instruments, Inc. 245 H. K. Huang, UCLA 842
Mark A. Franklin, Washington University in St. Louis 62 Watts S. Humphrey, Carnegie-Mellon University 1217
David N. Freeman, Ketron, Inc. 5, 131, 378, 381, 739, 855, Horst Hiinke, Commission of the European Communities,
1005, 1104, 1154, 1185, 1401 Brussels 1479
Gideon Frieder, George Washington University 369, 579, E. Gerald Hurst, Jr., University of Pennsylvania 1061
651, 677, 684, 819, 963, 1074, 1198 Harry D. Huskey, University of California, Santa Cruz 333
Paul Fuqua, Texas Instruments, Inc. 754 504, 511, 712, 1185, 1331, 1433
BernardA. Galler, University of Michigan 14, 683, 1286 Velma R. Huskey 797
CONTRIBUTORS ix
W. John Hutchins, University of East Anglia, UK 733 Stephen B. Maurer, Swarthmore College 29
H. V. Jagadish, AT&T Bell Laboratories 348 David May, Inmos Ltd. 1389
Everett L. Johnson, Wichita State University 341 Michael M. Maynard, Sperry Corporation 491, 767, 1405
Charles V. Jones, Ball State University 749, 1034 John McCarthy, Stanford University 1154
Phillippe Jorrand, Université de Grenoble 1479 E. J. McCluskey, Stanford University 775, 1332
David K. Kahaner, National Bureau of Standards 946 Jeffrey McConnell, Canisius College 294, 696
_ Alain Kaloyeros, SUNY at Albany 687 Daniel D. McCracken, City College, City University of New
Laveen N. Kanal, University of Maryland 1041 York 114, 535, 898
Arthur I.Karshmer 572 William McKeeman, Digital Equipment Corporation 207
Kenneth M. Kempner, National Institutes of Health 694 John M. McKinney, University of Cincinnati 1141
Brian W. Kernighan, AT&T Bell Laboratories 151 Barbara E. McMullen, McMullen & McMullen, Inc. 1053
Robin H. Kerr 121 John McMullen, McMullen & McMullen, Inc. 1053
Helene G. Kershner, SUNY at Buffalo 311 John C. McPherson, IBM Corporation 917, 1427
William King, Florida Atlantic University 21 Jon Meads, Jon Meads & Associates 303
Peter T. Kirstein, University College, London 116, 351, 381 Chester L. Meek, City of Grande Prairie, Canada 205, 342,
Graham Knight, University College, London 693 711, 715, 809, 811, 1401
Kenneth E. Knight, University of Texas at Austin 588 Robert B. Mehnert, National Library of Medicine 847
Donald E. Knuth, Stanford University 869, 1353 Norman Meyrowitz, GO Corporation 1355
Jill C. Knuth 869, 1353 Jerald Mikesell, Sierra Vista Public Schools, Arizona 162
Elliot B. Koffman, Temple University 493 Leslie Jill Miller, Xerox Corporation 1173
RobertR. Korfhage, University of Pittsbargh 27, 135, 1065 Russ Miller, SUNY at Buffalo 1015, 1025
Robert Kowalski, Imperial College of Science and Technol- Richard G. Mills, Consultant 116
ogy, UK 778 Jack Minker, University of Maryland 424
H. Kung, Carnegie-Mellon University 1345 Benjamin Mittman, Northwestern University 1077
Andrew Laine, University of Florida 929 Cleve B. Moler, ARDENT Corporation 828
Stephen Lam, SUNY at Buffalo 993 Michael K. Molloy, Hewlett-Packard 1062
J, Paul Landauer, Scientific Analysis Tools 626 Graham Morris 167, 434, 467
Steven P. Landry, University of Southwestern Louisiana Jack Moshman, Moshman Associates, Inc. 1066
416 Richard R. Muntz, UCLA 1043
Charles L. Lawson, California Institute of Technology 740 Miles J. Murdocca, Rutgers University 1000
Norman E. Layer, IBM Corp. 638 Jean E. Musinski, Comshare, Inc. 30
Edward Lazowska, University of Washigton 980 Richard E. Nance, Virginia Polytechnic Institute and State
Burton M. Leavenworth, Consultant 934 University 989
Ruth Leavitt, University of Maryland Baltimore County Thomas Narten, SUNY at Albany 554, 1343, 1407, 1442
257 Jiri Necas 717, 1009, 1031
Olivier Lecarme, Université de Nice, France 206 Anne Neirynck, Cornell University 30
John A. N. Lee, Virginia Polytechnic Institute and State Monroe M. Newborn, McGill University 269
University 80, 206, 580, 581, 645, 727, 768, 1030, 1087, Allen Newell, Carnegie-Mellon University 1201, 1336
1105, 1125, 1158, 1315, 1342 Toshio Nisimura, Tukuba National University 502
Nancy Leveson, University of California, Irvine 509 Jerre D. Noe, University of Washington 602
Paul Levinson, The New School for Social Research 144 Susan H, Nycum, Gaston Snow and Ely Bartlett 747
Brian Lewis, Sun Microsystems 367 Richard Oehler, IBM Corporation 1165
Peter Linnington, University of Kent, UK 392, 964 T. William Olle, Consultant 413, 669
Andrew Lisowski, Library of Congress 750 Holger Opderbeck, Netrix Corporation 387
Joyce Currie Little, Towson State University 1058 E. L. Ortiz, Imperial College of Science and Technology, UK
C. L. Liu, University of Illinois at Urbana-Champaign 190 1384
Keith R. London 478 Enrique I. Oviedo, Arvin-Calspan Advanced Tecnology
Ralph L. London, University of California at Irvine 1111 Center 1479
WilliamF.Luebbert, Computer Literacy Institute 612 David A. Padua, University of Illinois at Urbana-Cham-
John MacKrell, CIMdata, Inc. 222 paign 1317
Jennifer Marill, Library of Congress 750 Victor Ya. Pan, Herbert. H. Lehman College 1479
George Marsaglia, Florida State University 899, 1145 Donn B. Parker, SRI International 281
Dorothy Marsh, Cornell University 322 Yale Patt, University of Michigan 284, 492
Joanne Martin, IBM Corporation 123 Azaria Paz, Technion, Israel 1074, 1076
Johannes J. Martin, University of New Orleans 541 Trevor Pearcey, Caulfield Institute of Technology, Aus-
G. Swami Mathad, IBM Corporation 687 tralia 168
Francis P. Mathur, California State Polytechnic University Charls Pearson, Consultant 665
604, 811, 1157 Leslie E. Perreault, Stanford University 615, 835
Richard Matick, IBM Corporation 153 Linda Hutz Pesante, Carnegie-Mellon University 1222
David W. Matula, Southern Methodist University 1072, George Peters, McDonnell Douglas Corporation 216
1200, 1201 James L. Peterson, IBM Corporation 1062, 1266
X CONTRIBUTORS
Charles P. Pfleeger, Trusted Information Systems 403 Stuart C. Shapiro, SUNY at Buffalo 87
John R. Pierce, Stanford University 671, 1196 Mary Shaw, Carnegie-Mellon University 1, 10
Milton Pine, Royal Melbourne Institute of Technology 168 Mildred L. G. Shaw, University of Calgary 225
Martin Piszczalski, The Yankee Group 306 Ben Shneiderman, University of Maryland 411, 429, 532,
Seymour V. Pollack, Washington University in St. Louis 552, 619, 632
174, 347, 351, 423, 426, 535, 1091, 1280, 1385, 1390 Bruce Shriver, Consultant 416
Vaughn R. Pratt, Stanford University 789 David Shuey, McDonnell Douglas Corporation 216
Laurence Press, California State University at Dominguez Herbert A. Simon, Carnegie-Mellon University 659, 1336
Hills 165, 642, 1415 Steven Skiena, SUNY at Stony Brook 214
Jan Prokop, Levolor Corporation 179 James R. Slagel, University of Minnesota 756, 1372
Michael J. Quinn, Oregon State University 1011, 1028 Vladimir Slamecka, Georgia Institute of Technology 665
Joseph Raben, Consultant 623 Alvy Ray Smith, Pixar Corporation 166
Andrew Radics, Telephoto Communications 874 Kenneth C. Smith, University of Toronto 100, 131, 375,
Masoud Radparvar, Hypress, Inc. 1329 699, 700, 1068, 1340
Anthony Ralston, SUNY at Buffalo 76, 80, 124, 173, 210, Kirk Snyder, New York University 1195
402, 470, 532, 580, 942, 993, 1087, 1105, 1170, 1199, 1202 John S. Sobolewski, University of New Mexico 121, 196,
C. V. Ramamoorthy, University of California, Berkeley 376, 486, 549, 595, 892, 901, 920, 921, 924, 1068, 1347
1242 Ellen Spertus, Massachusetts Institute of Technology
Ramaswamy Ramesh, SUNY at Buffalo 820 1436
Brian Randell, University of Newcastle upon Tyne, UK James C. Spohrer, Apple Computer, Inc. 535, 1007, 1134
440 SargurN. Srihari, SUNY at Buffalo 993, 1034
William J. Rapaport, SUNY at Buffalo 185 Vason P. Srini, Dataflow Systems 416, 418
Sukumar Rathnam, The University of Texas at Austin 588 Richard Stearns, SUNY at Albany 938
Ann Redelfs, Cornell University 1327 Theodor D. Sterling, Simon Fraser University 347, 1091,
H. K. Reghbati, Consultant 396 1280, 1390
Keith Reid-Green, Educational Testing Service 287 Elizabeth Luebbert Stoll 819
Edwin D. Reilly, SUNY at Albany (Emeritus) 9, 92, 114, Thomas Strothotte, Freie Universitat, Berlin 1479
163, 406, 419, 425, 467, 469, 486, 489, 517, 540, 557, 590, P. A, Subramanyam, AT&T Bell Laboratories 608
699, 717, 792, 868, 900, 900, 934, 964, 1071, 1072, 1154, Andrew S. Tanenbaum, Vrije Universiteit, Amsterdam
1175, 1249, 1308, 1388, 1390, 1406, 1436 184, 1135
Edward M. Reingold, University of Illinois at Urbana-Cham- Robert W. Taylor, Digital Equipment Corporation 142,
paign 190, 1185 672, 789, 963
David A. Rennels, UCLA 547 Daniel Teichroew, University of Michigan 666
John R. Rice, Purdue University 826 David Temkin, Brown University 1355
Frederic N. Ris, IBM Corporation 709 Harold Thimbleby, University of Stirling, Scotland 761
Robert Rittenhouse, Florida Atlantic University 507, 593 Walter Tichy, University of Karlsruhe, Germany 898, 910,
Ronald L. Rivest, Massachusetts Institute of Technology 369 966, 1197, 1216
Eric Roberts, Stanford University 335 Will Tracz, IBM Corporation 1244
David Rodgers, Mathematical Reviews 1069 Joseph F. Traub, Columbia University 212, 655
Stephen J. Rogowski, SUNY at Albany 131, 146, 517, 557, Mohan Trivedi, University of Tennessee 645
595, 1427 Henry S. Tropp, Humboldt State University 25, 134, 491,
Saul Rosen, 14, 72,120, 580, 651, 868, 965, 1214, 1232, 1330 614, 833, 1284, 1424, 1429
Daniel J. Rosenkrantz, SUNY at Albany 938 Murray Turoff, New Jersey Institute of Technology 280
RobertF.Rosin, Enhanced Service Providers, Inc. 1425 Geoffrey Tweedale, University of Sheffield, UK 718, 817,
Mark Rotenberg, Computer Professionals for Social Re- 1432
sponsibility 652 Andries van Dam, Brown University 715
Paul Roth, Consultant 1204 Patricia B. Van Verth, Canisius College 1234
ArthurI,Rubin 43 Mary O. Vargo, Teradata Corporation 412
Nelson Russell, Integral 1386 G. Michael Vose, Peterborough Technology Group 738
HarryJ.Saal, Network General Corporation 907 Eugene L. Wachspress, University of Tennessee 555
Arto K. Salomaa, University of Turku, Finland 1160 Jerrold L. Wagener, Amoco Production Research 361, 589
Gerard Salton, Cornell University 370, 660 Samuel S. Wagstaff, Jr., Purdue University 543,941
RoyM. Salzman, Arthur D. Little, Inc. 109 William M. Waite, University of Colorado, Boulder 1223
Jean E. Sammet, Consultant 934, 1077, 1118, 1121, 1224, Deborah K. Walters, SUNY at Buffalo 330
1471 Ronald Waxman, University of Virginia 597
Dietmar Saupe, Universitat Bremen, Germany 566 Peter Wegner, Brown University 406, 725, 959, 1064, 1106,
Michael Scanlan, Oregon State University 176 1115, 1272, 1390, 1419
Jacob T. Schwartz, New York University 1195 Fred W. Weingarten, Computing Research Association
Thomas Scott, Western Illinois University 81 315
Adel S. Sedra, University of Toronto 100, 375, 699, 700, David M. Weiss, Software Productivity Consortium Sit)
1068 657
CONTRIBUTORS Xi
Eric Weiss, Editor and Writer 762, 834, 1395 Tan H. Witten, University of Calgary 329, 1240, 1411
Barry D. Wessler, GTE Telenet Communications Corpora- Matthew Witten, University of Texas at Austin 125
tion 1007 Larry D. Wittie, SUNY at Stony Brook 874
Andrew B. Whinston, University of Texas at Austin 588 Amy D. Wohl, Wohl Associates 507, 1437
Richard P. Wildes, David Sarnoff Research Center 1167 Matthew R. Wordeman, IBM Corporation 849
Maurice V. Wilkes, Olivetti Research 113, 432, 443, 503, David B. Wortman, University of Toronto 133, 178
610, 1403 Boris Yamrom, General Electric 1479
JamesH. Wilkinson 526, 828, 1394 David M. Young, University of Texas at Austin 1032
Michael Williams, University of Calgary 145, 148, 157, 913 Marshall C. Yovits, Indiana University—Purdue University
Erich R. Willner, Citibank, N. A. 116 at Indianapolis 653
Theodore C. Willoughby, Indiana University Northwest Heinz Zemanek, IBM Corporation, Austria 1444
1342 Karl L. Zinn, University of Michigan 104, 261, 263, 311,923
Robin J. Wilson, The Open University, UK 1274 Stanley Zionts, SUNY at Buffalo 820
Jeanette Wing, Carnegie-Mellon University 564, 1107 Albert L. Zobrist, The RAND Corporation 290
Franz Winkler, Johannes Kepler Universitat, Austria 227 Jeffery I. Zucker, McMaster University, Canada 1115
David S. Wise, Indiana University 573
& outer”
oe i oabens Pe :
‘ee? ee yma? T asttas °. 68
ee
AY
eo
ink Rely, Se Away, ph —e " 134 < Mae etiep
on, Shaby ier
re:
a oatgeome anh, 58 “ 43 / aa ead i
ya 5 aT ‘Bali 4
ted, OR % a, Wat, Set, 2: ah Tartare =e “da
dll! UE, Toad, poe SAGES
dwar pe Ladue ig@th baries.2 eat Lintapas
Te a Be eee, eae
at iA Sto Mena Pintereae 0-gail
ieitis, he uuepiget¢ Au acy CP v. Pinnies
bas a Bh ie -
te | «* wrk a wd pa
a ” hy haan
i ieee Sse’ a5.00s
roves fi danis
warchecd
9 =
Wars:
;
:
aii Piesa 10° aa
oles WANN ey - : i
imi rape Ryaaicdd | om eroy W4i Tet wml oxG—— vied
Poa. eel ae ~_ matics 'é hog Se uh ple. Fran eS Sioa
mare) A Ca” k t0r say - (ea eery A epepall: Ci pie .
vai
werd
THe Soh
ae i>qen, | spe siIe oad) c
OP > ine (iM, | ‘ =
Otiwi hve 4 ‘ we | Le Fae), i Tah
Ms ; raves
» Aird: eed Be ui g
a el { BS e Pees tic LSID O
ar Ot tinati wei A oa
Swell. # Paiplateisey PR >
- fat a pag pe teie Sop
; e
Neri Ke, Airaiened, SOY: ahd
a
: ras Wen om, coop
(Vion Upper, Soe mall vers
ne Me CMG, eel os
=
rod 16 (Sbaineneth Tanta
35. J a tt
an
a? ras
3
.
cei
it, See
> : eai. or.
a ee
PREFACE TO THE THIRD EDITION
Nine years have elapsed since the publication of the Timeline of Significant Computing Milestones, which we
second edition of the Encyclopedia (which had followed think readers will find informative and suitably irreverent.
the first edition by seven years). In computer science and The overall result is a third edition in which over 40% of the
technology nine years is still a long time. The pace in material was either not contained in the second edition or
computing may not be as breakneck as it once was, but it has been significantly modified from the second edition.
is still more rapid than in any other scientific or technical Last—and probably not least—the title has been
discipline. Therefore, this “snapshot”—for a snapshot is changed from Encyclopedia of Computer Science and Engi-
all that an encyclopedia can be—is markedly different neering to Encyclopedia of Computer Science, as it was for
from the one published in 1983. the first edition. The reason could be—but is not—be-
How different? cause we are implementing an algorithm to name odd-
The second edition of this encyclopedia contained numbered editions Encyclopedia of Computer Science and
550 articles from 301 contributors (compared to, respec- even-numbered editions Encyclopedia of Computer Sci-
tively, 470 and 210 in the first edition). This edition has ence and Engineering. It also could be—but is not—be-
cause the “engineering” aspects of computing have been
e 605 articles from 370 contributors of which deemphasized in this edition. Quite the contrary. Rather,
e 174 are new articles it is due to some arcane marketing considerations, which
e 70 are rewritten articles on subjects covered in the are no doubt of even less interest to our readers than they
second edition are to us.
e 18 are second edition articles that have been ex- Anthony Ralston
tensively modified and brought up to date. June 1992 Edwin D. Reilly
In addition, almost all the other articles from the second NOTE: The editors and publisher would appreciate
edition have undergone at least minor modifications. comments from readers on how future editions of this
Many articles have been retitled to conform to current encyclopedia could be improved. What additional sub-
usage. Also, 108 articles from the second edition have jects should be covered? Did you find any errors of fact or
been merged into other articles or deleted, generally be- typographical errors? (The entire Encyclopedia was type-
cause their subject matter is obsolete and not of histori- set using PostScript, so we hope to achieve a declining
cal importance. number of errors—typographical ones anyhow—in fu-
The six appendices from the second edition have all ture editions. (All correspondence should be sent to Edi-
been updated. (One—Appendix 2—has been substantially tors, Encyclopedia of Computer Science, Van Nostrand
streamlined.) Also, one new appendix has been added—a Reinhold, 115 Fifth Avenue, New York, NY 10003.
xiii
aaceaTEsTI quite ge”? aa uillingic hr andes adh 16 Rotinoildiey ‘oft setae,
cb
pe ite evissrcexcricel fpr! {iw evvh oo Ane
Dawollad bast rable RATA
ier
ithpirate ei nottebrcathna ye git Hike Sr ae TTA OM (wise ey
ote art! intboriistrion ont italia aw larestaan is soa. ST amet |goth 6 he ee
hye aiigend Polite yriesaling ip rises mac nit new Sones Hane :
—-
a” } Gime
i
EDITORS’ FOREWORD
The most important purpose of an encyclopedia in a encyclopedia is a basic reference to computer science
particular disciplinary area is to be a basic reference work and technology, as well as a broad picture of the discip]-
for non-specialists who need elaboration of subjects in ine, its history, and its direction.
which they are not expert. The implication of “basic” is
that an encyclopedia, while it should attempt to be com- Organization The organization of this volume is on an
prehensive in breadth of coverage, cannot be com- alphabetic basis according to the first word of each arti-
prehensive in the depth with which it treats most topics. cle title. Titles have been chosen in such a way that the
An encyclopedia should, however (and this one does), first word is the one most likely to be selected by the
direct the reader to information at the next level of depth reader searching for a given topic. In addition, main cross-
through cross-references to other articles and _biblio- references have been provided when more than one word
graphic references. in a title might reasonably be referenced. These cross—
What constitutes breadth of coverage is always a references are also used to refer to important subjects
difficult question, and it is especially so for computer that are included in longer, more general articles rather
science and technology. As a new discipline that has than as separate articles.
evolved over the past four decades, and that is still chang- Four additional aids to the reader have been pro-
ing rather rapidly, its boundaries are blurred. This is vided. The first such aid is the CLASSIFICATION OF ARTICLES,
complicated further because there is no general agree- which follows this foreword. This classification is in-
ment among computer scientists or technologists about tended to guide the reader to clusters of related articles.
whether certain areas are or are not part of computer It may also be useful in helping readers to follow a self-
science and technology. study regime.
The choice of specific subject matter for this encyclo- The second such aid is the CROSS-REFERENCE list at the
pedia has necessarily been a personal one by the editors, beginning of each article, which lists titles of related
modulated by the editorial board, and by the practical articles.
problems of finding authors to write particular articles. The APPENDICES at the back of the book constitute
Our hope is that, while inevitably there will be quibbles the third aid. These include lists of abbreviations, ac-
about the inclusion of certain topics, little or nothing of ronyms, special notation, programming languages, aca-
major importance has been omitted. demic departments of computer’ science and
Articles in this encyclopedia normally contain defini- engineering, and research journals in computer science
tions of the article titles, but even the shortest articles and technology, as well as some useful numerical tables
also contain explanatory information to broaden and and a five language glossary of important computer
deepen the reader’s understanding. Long articles contain terms.
historical and survey information in order to integrate the The fourth aid is the INDEX. In a dictionary or glossary,
subject matter and put it into perspective. Overall, the all terms appear as entries, but in an encyclopedia only
XV
Xvi EDITORS’ FOREWORD
the most important terms are used as article titles or even The encyclopedia user who searches among the article
main cross-references. Without an index, the location of titles unsuccessfully will find the index invaluable in locat-
much important information would be left to the ingenu- ing specific information. In addition, the index will often
ity of the reader. In fact, the index contains all terms that provide pointers to unfamiliar terms.
should appear in a dictionary of computer science. In Anthony Ralston
addition, it contains entries that would not normally ap- Edwin D. Reilly
pear in a dictionary, such as references to subcategories.
CLASSIFICATION OF ARTICLES
This classification of articles embodies a taxonomy that should be helpful to the reader in grasping the scope of material
contained in this volume. Articles are classified under nine categories:
. Hardware
. Computer Systems
. Information and Data
. Software
. Mathematics of Computing
. Theory of Computing
. Methodologies
. Applications
. Computing Milieux
DN
WOON
PRWN
Each Encyclopedia article appears at least once in this classification. Some titles appear more than once in order to
avoid the clutter of cross-references. Most classification headings are themselves article titles, in which case each is
followed by a page reference. Headings preceded by an asterisk (*), however, are not actual titles but rather were
invented to provide coherence to the classification.
7. *METHODOLOGIES 8. *APPLICATIONS
Vi
‘ F 3
Rita
a
cm “ = | i a aonb y oak, ies
——
|
gallon 7 Aa ete,
veas = ae Fexessy
At :
is 4 |
= ———— — —
|
UC at
es aes ih wey ° my ey * & =
rAZ
$ A 2Mia -
A a
b g
2:
LIDITSa
5) cD Ags
iet porn, eliea Oi
iis > [S50
‘ . ee
j
7 bl
‘ Ny ra)
is = 4 a
Lf
‘i
1A ';
j i
= x A
5
= ;
=Z
An Pin t
, b
ls 5- i
'
4 = te
é ig F .
=< i os es @!
4
a:
a Hf t caren
mo
nei Y -alees> 4 ‘ 2
q j
*
~
‘
i i
~ 2 t '
sition Cole: Mao =, ) ee
a rae
Ga- sf 4 " ~ S < i
a ie wre of, Gastig™ ary
+)
. Pie
‘ a
ae
Se5 i a nh outa ‘
hy
© Lert
—~ ,
~
’
n> 1 ~
;
t ™ i
'
r 7
Ae | ata Go GOOD
; ¢
Ag 2 '
t
Ro
y #
«
” a} reese ra
? ifs é ,
? i ye
we sege yal ts i?@
il TT ad ator}
. P ,
9 Bro) ¥ :
a
‘ni
ti 1 ? Aus
a 4
é i ( MB icei4), 34 rene
ii iy ae Maal
€ & Je aiat
, Te ae
‘
gett é
4 He f
‘ 7
i
Pe
:
fi “ i
———— pune
.
\w
ABSTRACT DATA TYPE protecting the data structures from arbitrary manipula-
tion—malicious or accidental—by other parts of the pro-
For articles on related subjects see ADA; CLASS; DATA STRUC- gram. Languages that support abstract data types include
TURES; DATA TYPE; ENCAPSULATION; INFORMATION HIDING; OB- scope rules that guarantee this locality by hiding the
JECT-ORIENTED PROGRAMMING; PROGRAM VERIFICATION; and names of local data from all parts of the program outside
STRUCTURED PROGRAMMING. the module that defines the abstract data type. The objec-
tive of organizing a program using abstract data types is
A major issue for software development and mainte- to expedite program development and to simplify mainte-
nance is managing the complexity of the software system. nance by imposing a certain kind of predictable and use-
Over the years, programming methodologies and lan- ful structure on the program.
guages have developed in response to new ideas about Like structured programming (q.v.), the methodology
how to cope with this complexity. A dominant theme in of abstract data types emphasizes locality of related col-
the growth of methodologies and languages is the devel- lections of information. In the case of abstract data types,
opment of tools for dealing with abstractions. An abstrac- attention is focused on data rather than on control, and
tion is a simplified description, or specification, of a the strategy is to form modules consisting of a data struc-
system that focuses on some essential structure or be- ture and its associated operations. The objective is to
havior of a real-world or conceptual object. A good ab- treat these modules in the same way as ordinary types,
straction is one in which information that is significant to such as integers and reals, are treated; this requires sup-
the client (i.e. the user) is emphasized while details that port for declarations, infix operators, specification of pa-
are immaterial, at least for the moment, are suppressed. rameters to subroutines, etc. The resulting abstract data
We use the principles of information hiding (q.v.) to encap- type effectively extends the set of types available to a
sulate these details. During the late 1970s, most research program. It explains the properties of a new group of
activity in abstraction techniques was focused on the variables by specifying the values that one of these vari-
language and specification issues raised by these consid- ables may have, and it explains the operations that will be
erations; much of the work is identified with the concept permitted on the variables of the new type by giving the
of abstract data types. effects the operations have on the values of the variables.
An abstract data type is a programming language facil- In designing a data type abstraction, we first specify
ity for organizing programs into modules using criteria the functional properties of a data structure and its oper-
that are based on the data structures of the program. The ations, then we implement them in terms of existing lan-
specification of the module should provide all informa- guage constructs (and other data types) and show that
tion required for using the type, including the allowable the specification is accurate. When we subsequently use
values of the data and the effects of the operations. How- the abstraction, we deal with the new type solely in terms
ever, details about the implementation, such as data rep- of its specification. This philosophy has been developed
resentations and algorithms for implementing the in several programming languages, including Ada (q.v.),
operations, are hidden within the module. This separa- Alphard, C++, CLU, Concurrent Pascal, Euclid, Gypsy,
tion of specification from implementation is a key idea of Mesa, Modula (q.v.), and Simula. In these languages, the
abstract data types. module-definition construct for abstract data types asso-
Each module that defines an abstract data type may ciates a specification with the implementation of a mod-
include both data declarations and subroutine defini- ule and hides all information that is not explicitly
tions. The criteria for organizing the modules emphasize included in the specification. This specification does not
1
2 ACCESS METHODS
explain how the data structure is laid out; rather, it defines tion to a data type (Guttag, 1980). One class of specifica-
the effects of the various operations. As a result, the tion techniques defines the properties of a data type as a
implementation of the abstract data type, including both set of axioms; these techniques draw on the similarity
the layout of the data structure and the algorithms for the between a data type and the mathematical structure
operations, may be modified without requiring modifica- called an algebra (Liskov and Guttag, 1986). Another class
tion of user programs. When it has been verified that the of techniques explicitly models a newly defined type by
implementation performs in accordance with its public defining its properties in terms of the properties of com-
specification, the specification may safely be used as the mon, well-understood types.
definitive source of information about how higher-level The theory of abstract data types has greatly influ-
programs may correctly use the module. In one sense, we enced the relatively recent development of object-ori-
build up “bigger” definitions out of “smaller” ones; but ented programming (q.v.) languages, including Smalltalk,
because a specification alone suffices for understanding, C++, and CLOS. In these languages, a class (g.v.) denotes
the new definition is in another sense no bigger than the aconcrete realization of an abstract data type. Classes are
pre-existing components. It is the compression of detail often organized into a hierarchy so that general proper-
that gives the technique its power. ties are shared by classes at high levels of abstraction
For example, we might define a data type Stack, (the superclasses) and specialized properties are embod-
whose elements are of an arbitrary type 7 and for which ied in classes at lower levels of abstraction (the sub-
operations Push, Pop, and Top are provided. The defini- classes).
tion of the abstract data type would be
References
type Stack(T:type);
1972. Hoare, C.A.R. “Proof of Correctness of Data Representa-
specifications
tions,” Acta Informatica 1, No. 4.
procedure Push(var S: Stack(T); x:T); 1980. Guttag, J. “Abstract Data Types and the Development of
[specification of Push in the formal Data Structures,” Programming Language Design. A. Wasser-
notation of choice] man, Ed. New York: Computer Society Press of the IEEE.
procedure Pop(var S: Stack(T)); 1980. Proceedings of the Workshop on Data Abstraction, Databases,
[specification of Pop in the formal and Conceptual Modelling. SIGPLAN Notices, 16 (1).
notation of choice} 1982. Hilfinger, P. Abstraction Mechanisms and Language Design.
function Top(S: Stack(T)) returns T; Cambridge, MA: The MIT Press.
[specification of Top in the formal 1984. Shaw, M. “Abstraction Techniques in Modern Programming
notation of choice] Languages,” JEEE Software, 1 (4). October.
1985. Cardelli, L., and Wegner, P. “On Understanding Types, Data
implementation
Abstraction, and Polymorphism,” ACM Computing Surveys,
[declarations of data structure used to 17(4). December.
represent Stacks] 1986. Bishop, J. Data Abstractions in Programming Languages.
[bodies of Push, Pop, and Top] Wokingham, England: Addison-Wesley.
end type. 1986. Liskov, B., and Guttag, J. Abstraction and Specification in
Program Development. Cambridge, MA: The MIT Press.
A program might then declare stacks of integers,
reals, or other data types, including types defined by the GRADY E. BOOCH AND Mary SHAW
programmer. For example, after the definition above, the
following program fragment would be legal.
times used, depending on the manufacturer. The termi- routine. The access method, when invoked by the appli-
nology used in this discussion is common to several cation, uses the contents of the table to perform the task
manufacturers, including IBM. However, the evolution requested. This technique has the advantage that, when
and concepts of access methods apply to all manufactur- a new storage device becomes available, the access
ers, although not all manufacturers support every variant method rather than the application programs can be
described below. modified. Thus, all programs using the access method are
able to use the new device without significant modifica-
tion, and frequently without any modification. When ac-
Evolution of Access Methods In the earliest
cess methods were first used, they rarely provided
days of computers and programming, each programmer
complete transparency (i.e. independence) from the de
had to program the flow of data to and from I/O devices,
vice, because new devices provided new characteristics
including auxiliary storage units such as disks, drums,
that required the addition of new variables to the param-
and tapes. This required that the programmer be familiar
eter table. Today, most variables are known or have been
with the characteristics of particular devices and write
anticipated. Thus, it is now commonplace for existing
code for functions such as testing for available channels
applications to utilize new devices without any change to
(g.v.), testing for I/O errors, and programming error re-
the application. Applications thereby have achieved phys-
covery. Many of these functions were time dependent.
ical device independence and are transparent to the intro-
Programming I/O in this manner tended to bind the pro-
grams to a particular device. When the storage device duction of new devices.
changed, the programming had to be substantially modi- On early computers without multiprogramming
fied. p” (q.v.), it was important to use the central processing unit
Since I/O programming tended to be fairly similar (CPU) as efficiently as possible. Fig. 1 illustrates an appli-
from one program to the next, it was not long before cation that continues processing while data transfer takes
utility service programs (or access methods) were devel- place. This is achieved by having the access method
oped. Such programs perform, in a generalized manner, return control to the application program after it starts
all of the interactions with the storage device. The pro- the data transfer. When data transfer is complete, the
grammer need merely be concerned with requesting a interrupt mechanism gives control to the access method
record and providing a location in storage for it. The again. The access method performs checking for data
division of functions is depicted in Fig. 1. Note the as- transfer errors and, assuming no problem, “posts” or flags
sumption in this figure that the application program can the file parameter table that the data transfer is complete.
continue processing while data is being transferred, a Control is then returned to the application program. The
point to which we return below. responsibility of ensuring that processing of data does
The interface between the application program and not begin until the data transfer is complete is left to the
the access method tends to be fairly simple and standard- application program, which must check the parameter
ized and is generally reducible to a set of parameters. The table for completion of the data transfer.
technique usually used is to place the input and/or output The most popular auxiliary storage device on pre-
parameters in a table. This table may be called (among multiprogrammed computers was magnetic tape. Be
other names) the DTF (Define The File), DD (Data Defini- cause records are stored sequentially, one after the other,
tion), or FCT (File Control Table). The parameters include on magnetic tape, they must be processed sequentially
a pointer to an area of storage to and from which the data for most efficient processing. The standard access
transfer is to be made (i.e. the record buffer), the size of method thus became known as SAM (Sequential Access
the record, whether labels are to be written or exist at the _ Method). Using SAM, there was little processing that an
front of the file, whether a tape is to be rewound at the end application program could do on input while waiting for
of the file, and pointers to special error-handling routines the next record (although, on output, it could start to
(provided by the application). The application program generate the next record). A better method was needed to
need only place the necessary data into the table. This is take advantage of the predictability that the next one of
a far easier task than having the programmer write an I/O the sequentially stored records would be read. Thus, a
Request :
data Parallel processing Check for
Application record of application completion
program
oe f of data
| | transfer
| |
cPU | | |
: l |
processor
Access { J ee ee |
method +e
Initiate | | Error :
data | j checking,
transfer | | post
completion
| of data
1/0 transfer
processor Data
transfer
new access method was designed to achieve what the used in multiprogramming systems so that while one
application program generally could not—namely, to application is waiting another is executing.
overlap processing with data transfer. When reading data, The second direct access method introduced com-
this is achieved by looking ahead and performing the bined the advantages of sequential and direct access.
access for the next record while the application program This access method is known as ISAM (Indexed Sequential
is processing the last (or current) record. This modifica- Access Method). It combines the two modes of basic and
tion of the model of Fig. 1 is illustrated in Fig. 2. queued access, depending upon whether the operation
As Fig. 2 illustrates, the data transmission proceeds demands the application check for completion (Basic) or
in parallel with the application processing, with a brief permits “lookahead” by the access method (Queued).
time-out at the end of the transmission for the access Thus, when we speak generically of ISAM, we mean both
method to handle the details of error checking. In this BISAM (Basic ISAM) and QISAM (Queued ISAM). ISAM
case, the access method does not have to post the com- permits the application to process records sequentially,
pletion of data transfer to the application, since the appli- by the key within the record, or directly, by means of
cation is still working with the last record. Fig. 2 illustrates maintaining a separate index of keys (or list of pointers)
the normal situation, but clearly there are situations to all records.
where the application finishes its work before the data With ISAM, therefore, record keys become important.
transfer is complete. In this case, some waiting is neces- Typical examples of record keys are employee names in an
sary, but nevertheless some overlap of processing and alphabetized file or social security numbers in a file or-
data transfer has been achieved that otherwise would not dered numerically. QSAM always gets the next record and,
have been. This access method is known as QSAM thus, for QSAM (or BSAM), the key has no significance in
(Queued Sequential Access Method) and the sequential accessing the record. In the case of ISAM, unlike QSAM, the
access method of Fig. 1 became known as BSAM (Basic records are not necessarily stored next to each other and
Sequential Access Method). QSAM has been illustrated the key becomes important as a means for locating the
above for input, but applies equally well to output. On record. ISAM, in principle, keeps a list of keys and pointers
output, QSAM also absorbs the responsibility of blocking to the appropriate records. In this manner, working from
records—whereby several application program records the index list, the records can be presented back to the
are batched together to the same physical record on disk application program in sequence by key (when all or a
(see BLOCK AND BLOCKING FACTOR). significant portion of the file is to be processed) or a
BSAM and QSAM were well suited to handling tape unique record can be obtained directly without having to
files that are inherently sequential. With the advent of “pass over” any of the records logically preceding it. While
direct (random) access storage devices, the need arose to ISAM doesn’t always read the next record, because of the
support direct access of a record without passing (and characteristics of disk storage devices, data transfer is
inspecting) all previous records in the file. This need gave most efficient when the records are adjacent. A great deal
rise to two additional access methods. of effort goes into handling the organization of records on
In the first of these, it is assumed that the application the device for optimum performance.
program has the ability to compute the location of the Since records in a file accessed by ISAM need not be
data on the direct access device relative to the beginning stored in sequential order, the insertion of a new record
of the file and to instruct the access method to retrieve in a large file is much more efficient than for files accessed
(or replace) the data at that location. This access method by QSAM or BSAM, since a record can be placed anywhere
is known as DAM (Direct Access Method) or BDAM (Basic and the index of the key list updated so that it may be
Direct Access Method). As with BSAM, the application found subsequently.
program is required to check that the input (or output) is An example of how ISAM use indexes is shown in
complete before using the data. Since the location of the Table 1. Since use of a single index sometimes results ina
data is computed by the application program, there can search of a quite long list, it is common to use a hierarchy
be no “lookahead” by the access method. However, over- of indexes, as shown in the table. The table assumes that
all computer efficiency can still be maintained if BDAM is an exployee file with 10,000 records is stored in 100 blocks
Request Continue
data Application processes with “last” a potication
Application record “‘last’’ record record requests
program et
| Interrupt | | nese
CPU | time-
| | Ge || |
| record
processor
Access | | | |
method eee lea
Pass “‘last’’ | Error “Next” is passed
record back | | checking to application
to application (“‘next”’ (start data
and start data | record is transfer of
1/0 transfer of now ready “another”
Processor next’ record Data transmission of
and waiting) record)
“next” record
TABLE 1. A Hierarchical Block-Oriented Index A further step in the evolution of data organization is
the advent of the concept of the Database Manager, a
Index Index Block Block Starting system software program that manages the data re
Level 1 Level 2 Number Address sources for a series of programs. An access method is
concerned only with moving data back and forth from
00000-00713 1 46217 main storage to a peripheral storage device (generally
00718-01426 2 46337
disk or tape). A Database Manager has a wider spectrum
00000-08756
of concerns, including maintaining relationships between
different sets of data, converting the data format to fit that
07823-08756 10 47395 required by the application programs, and simultaneous
use of the same data by different application programs.
As organizations move towards a database environment,
applications are using Database Managers where they
41063-42217 41 50362 formerly used access methods. Most Database Managers
call upon the established access methods to perform
41063-52071
input and output. The access methods used are generally
based on BDAM or, occasionally, on VSAM.
49278-50593 49 51612
Another aspect of access methods is related to the
50614-52071 50 51738
advent of on-line processing in which there is a need for
the application program to interact with an on-line termi-
nal. Many of the traditional problems solved by access
methods are also apparent here: blocking, buffering, error
recovery, protocols of communicating with the devices,
etc. But there are differences, since there is no storage
medium involved and the devices are intended for inter-
on a disk, with the first block starting at disk address acting with people. Communication with such devices is
46217. Each block would store an average of 100 em- heavily influenced by communications (e.g. phone line)
ployee records, but would have the capacity to store capabilities. Just as device access methods evolved in
more than 100 records so that change to, and growth of, parallel with operating systems, so telecommunication
the file would be possible before it is reorganized and the access methods evolved in parallel with telecommunica-
indexes updated. Table 1 also assumes that employee tion monitors. Telecommunication access methods are,
numbers are in the range 00000-99999. To retrieve the however, far less standard than mass storage device ac-
record for the employee whose number is 49731, the first cess methods.
level index would be searched until the fifth entry (41063- Storage device access methods evolved to enable the
52071) was found; then the second level would be application to process data stored on a variety of devices
searched, starting at 41063-42217, until the ninth entry in a variety of ways in an efficient manner and to isolate
(49278-50593) was found; finally, address 51612 (the start the application from the physical characteristics of the
of block 49) on the disk would be searched sequentially device; telecommunication access methods evolved to
until the record with key 49731 was found. Note how allow the application to communicate with a variety of
much more efficient this is than searching the entire file terminal devices and in a variety of ways in an efficient
sequentially. Note also how much more efficient a two- manner and to isolate it from the physical characteristics
level index is than a single index search would be. ._ of the device. Thus, terminal access methods have
The next advance in access methods was the Virtual evolved from BTAM (Basic Telecommunications Access
Storage Access Method (VSAM), which was introduced in Methods), whereby a terminal is locked to an application
conjunction with the introduction of Virtual Storage Op- under a specific communications monitor, to VTAM (Vir-
erating Systems by IBM, although such operating systems tual Telecommunications Access Method), where a termi-
were in use by Burroughs and several other manufactur- nal may be connected to any application under a variety
ers prior to IBM’s adoption of the concept. VSAM com- of telecommunications monitors.
bines many of the features of ISAM, QSAM, and BDAM into
FRED BRADDOCK
one comprehensive access method. It also incorporates
improved techniques for the positioning of records on the
disk and for increasing the degree of overlap of computa-
tion and I/O processing (buffering). ACCESS TIME
VSAM can operate like ISAM in that records can be
accessed by keys, like QSAM in that records can be ac- For articles on related subjects see CYLINDER; DIRECT AC-
cessed by the order on the storage device, or like BDAM, CESS; FLOPPY DISK; HARD Disk; LATENCY; and MEMORY: AUXIL-
where the record is accessed by a “relative” position in IARY.
the file. However, the current state of the art permits it to
operate in only one of these modes for any one file. Thus, Access time is the elapsed time between the initiation
if ISAM mode is chosen for a file, that file must always be of a request for data and receipt of the first bit or byte of
accessed by VSAM in “ISAM mode.” that data.
6 ACCESS TIME
x Disk | pack
Surface
numbers
+>
Access
mechanism Axial
motion rotation
Tracks within
e It prevents unauthorized users from accessing
cylinders C,
Rotational ee Ce hardware and software facilities for which they
weap 4) have not received permission.
e It prevents users from exceeding their allocated
funds or other account limits.
e It enforces job limitations on such things as page
or line limits, computer time, memory size, and
disk file space.
e It assists the operating system in providing more
effective control of resources such as main mem-
Access ory, auxiliary memory, peripheral devices, etc.
mechanism
motion
-_ ->
FIG. 3. Top view of typical disk drive. Early Computer Systems Since early computer systems
consisted of hardware with little or no software support,
automated accounting was almost non-existent. The ac-
For “honeycomb” lattices of videotape cartridges
counting that did exist was done by user sign-up sheets,
and similar mass storage systems, average access times
time clocks, or a flat-rate charge per computer run.
depend on movement of the medium to a read/write head.
The idea of basing charges on the value of resources
For tape-cartridge mass storage systems, average access
used was not very important either. Because the entire
time is approximately 15 sec and minimum access time to
computer was dedicated to the current user, there was
a new cartridge is approximately 12 sec.
little reason to charge less if the program used only half
DAVID N. FREEMAN of the memory or no tape units, etc. Besides, the hard-
ware could not usually support an accounting system
because there was no hardware-readable clock and it was
often not practical for the machine operator to type in the
ACCOUNTING SYSTEM, date and time for each job logged on the machine. (Inter-
estingly, personal computer systems have put the user
COMPUTER back into this mode of operation!)
For articles on related subjects see BENCHMARK; COMPUTING
CENTER; DATA SECURITY; OPERATING SYSTEMS; and SOFTWARE Early Automated Accounting Systems As Rosin (1969)
MONITOR. points out, the first accounting systems were often noth-
ing more than system logs produced by the “on-line”
As computer/software systems have developed, printing facility. Since the purpose of such a log was to
there has been a corresponding need to develop an ac- record the use of major system components, the log was
counting system for the resources of the system. As with more useful for measuring system behavior than for ac-
any accounting system, the goal of this capability must be tual user accounting.
to charge the user for the cost of services rendered in Some systems were enhanced by a hardware-reada-
such a fashion that the user is motivated to evaluate the ble clock, which made it possible to log the time along
benefits of those services. Furthermore, the resources with the system component in use. However, the content
used by any one user must be limited in order to prevent of each entry in the log was a function of the sophistica-
that user from degrading the total effective services avail- tion of the resident monitor and often provided only such
able to others. information as log-on and log-off time. Thus, user ac-
Accountability is important both to the computing counting was still based on total machine time used, with
center staff and to its users. In order to perform their the hardware clock now providing a more accurate
duties as financial planners for the center, the administra- method for recording that time.
tors require some form of an accounting system. Such a
system may be expected to yield statistics on hardware Executive Systems and Automated Accounting With
utilization and individual spending. These statistics can the introduction of channels (g.v.) and interrupts (q.v.),
then be used to form the basis for monthly and yearly the establishment of resident monitors or supervisors
reports. became an accepted fact. These supervisors were com-
A completely automated accounting and resource plex routines that could process interrupts, software re-
control system does the following. quests, and a new language called the command and job
control language (q.v.). Thus, the computer user could
e It provides minute details concerning both hard- communicate with the system via command language
ware and software utilization along with job statis- control cards that provided such information as name
tics on account spending. and account number, job limitations on time, pages, and
8 ACCOUNTING SYSTEM, COMPUTER
cards to be used, and special resources (tapes, plotter, systems, which bills the individual users for actual re-
etc.) required. sources used (both hardware and software).
Utilizing a hardware clock, most user interactions Another example might be the instructor who allo-
with the system were recorded, detailing what com- cates fixed amounts of time or money to each student in
mands the system had received. The purpose of the a course in such a fashion that no student can use more
accounting system was to monitor the individual user’s than a fair share. Obviously, the person responsible for
interaction with the system and not simply the system the account must be able to reallocate the resources
performance. without exceeding the total allotted. In addition, it should
Still, until the introduction of disk files, it was not be possible to place limits, which may not be uniform, on
feasible to verify each user’s identification against some each student account so that special projects may use
master file of valid users. Nor was it possible to determine extra memory or disk space, special hardware, etc.
user limits as to funds available, privileges, etc. Instead, Since some software can be charged only on a “value
accounting information was collected on magnetic tape or received” or transaction basis (such as ledger entries in
punched cards for later processing on an after-the-fact an accounting system or students scheduled in an auto-
basis. mated scheduling system), the accounting system must
be flexible in terms of the algorithm used to calculate
Disk Files The introduction of disk files added another actual charges.
step in automated accounting. The disk file was suffi-
ciently fast to provide for an on-line verification of valid
user identification. The accounting information could be Costs of an Automated Accounting System
made resident within the system, available only to the and Charges Levied The costs of an automated
accounting programs and to those with sufficient access accounting system are directly a function of the resources
privilege. used to gather and maintain the accounting information.
The accounting system could record each job transi- In order that the overhead of collecting the information
tion or step, print out job charges at the completion of a not interfere with normal system operation, the charges
job, and accumulate monthly statistics. By maintaining themselves must reflect the unique characteristics of the
the accounting information in an on-line fashion, users system. Normally, charges are based on such things as:
could be prevented from using more than their current
funds or exceeding their current account limits. 1. CPU time used.
2. Memory residence time (e.g. number of pages
Multiprogramming and Time Sharing The next step in referenced or amount of memory occupied by a
computer hardware/software development—namely, job).
multiprogramming (q.v.) and time sharing (g.v.)—pro-
3. Connect time and/or port cost.
duced the greatest impact on automated accounting. Be-
4. I/O operations performed (e.g. disk reads and
cause these advantages have made it feasible to allocate
writes).
and share the multiple resources of a computing system,
5. Physical I/O units used:
it is possible to have multiple users on the system at the
a. Cards read/punched;
same time.
b. Lines printed;
For each user of the system, the accounting system
c. Magnetic tapes mounted; and
must know (1) who is responsible for the charges, (2)
d. File space used.
what type of service this user is entitled to (and with what
constraints), (3) what resources have been allocated to
However, these charges must relate to the characteristics
the user, and (4) what price schedules apply. Further, the
pricing structure must allow the user to estimate easily of the operating system if they are to be easily collected.
and predict costs, and should require only small amounts They should also relate to the allocation scheme for the
of system resources for the accounting. resources if they are to be fairly levied (i.e. disk space
should not be charged on a bit or character basis if it is
Proprietary Software Time sharing (g.v.) has brought allocated on a track or sector basis).
new problems in automated accounting. Where it was An on-line system where each user has an active
previously possible to simply charge the proprietary sys- account, although costly in terms of disk space required,
tem user for computer time used, more complex multi- allows the accounting system to:
user systems have made it possible to allow one user to
provide service to another. The result is that users are 1. Encumber funds on a per-job basis so as to pre-
billed by both the computing center (for hardware use, vent deficit spending.
expendable supplies, etc.) and other users (for propri- 2. Set dynamic limits on controlled privileges as a
etary software use). Thus, the accounting system must be function of time, geographic entry point, and sys-
cognizant of the use of such proprietary software and tem load.
should, in fact, allow some “higher-order” user to suballo- 3. Maintain flexible and dynamic pricing, with ac-
cate resources to another user. For instance, it should be tual cost information available to users on de-
possible for one user to develop and maintain a subsys- mand.
tem, fully consistent with the operating and accounting 4. Maintain up-to-the-minute accounting for each
ACTIVATION RECORD Q9
Reference
1969. Rosin, R.F. “Supervisory and Monitor Systems,” Computing Activation (Old AP),
Surveys 1:37-54. record for
1987. Milenkovic, M. Operating Systems: Concepts and Design. New proc2 (Old FP),
York: McGraw-Hill. (Old PC),
(Saved registers),
RICHARD H. ECKHOUSE
(Argument list),
2
(Local variables),
AC M - See ASSOCIATION FOR COMPUTING MACHINERY.
terminal condition is reached, and then recede to its “Ironman,” and “Steelman” resulted. The actual language
original status as each successive stage feeds information design (DoD, 1980) was obtained through an international
back to the stage that called it. design competition, combined with extensive public re-
view of the winning initial design, which was done by a Cii
Reference Honeywell Bull design team led by Jean Ichbiah.
The language was named Ada in honor of Lady Au-
1989. Sethi, R. Programming Languages: Concepts and Structures.
gusta Ada Byron, the Countess of Lovelace (g.v.). She
Reading, MA: Addison-Wesley.
1991. Federighi, F. D. and Reilly, E. D. VAX Assembly Language
programmed Babbage’s Analytical Engine (q.v.) in the
Programming. New York, NY: Macmillan. 1830s, and she is often called the world’s first computer
programmer.
EDWIN D. REILLY Ada compilers are currently available for virtually
every hardware architecture, from personal computers
(g.v.) to supercomputers (g.v.).
—Get data for division WhichDiv only existing language definition. Some language facilities will
be simplified, and some new features will be added.
DivSize := 0;
for iin 1..StaffSize loop References
if GetDiv(Staff(i)) = WhichDiv then
DivSize := DivSize + 1; 1981. Hibbard, P., Hisgen, A., Rosenbers, J., Shaw, M., and Sher-
Phones(DivSize) := (Staff(i).Name, man, M. Studies in Ada Style. New York: Springer-Verlag.
1983. U.S. Department of Defense. Reference Manual for the Ada
Staff@i).Phone);
Programming Language. Washington, D.C.: Ada Joint Program
end if;
Office.
end loop; 1984. Buhr, R. System Design with Ada. Englewood Cliffs, NJ: Pren-
—Sort telephone list* tice Hall.
1986. Booch, G. Software Engineering with Ada. Menlo Park, CA:
for i in 1..DivSize loop Benjamin/Cummings.
forjin i+1..DivSize loop 1986. Cohen, N. Ada as a Second Language. New York: McGraw-
if Phones(i).Name > Phones(j).Name then Hill.
q := Phones(i);
GRADY R. BOOCH AND MARY SHAW
Phones(i) := Phones(j);
Phones(j) := q;
end if;
end loop; ADA, AUGUSTA. See CounTLess oF LOVELACE
end loop;
of information about an employee” and “record of An adder is a logic circuit that forms the sum of two
information for a telephone list.” Both the employee or more numbers represented in digital form. The sim-
database and the telephone list can thus be represented plest adder is the binary one-position adder, or full adder
as vectors whose elements are records of the appropriate (see Fig. 1), in which the ith bits of two summands and the
types. carry from the (previous) stage (i — 1) are added to form
The declarations of Staff and Phones have the effect the ith sum bit and the carry to the (next) stage (i+ 1). A
of indicating that all the components are related to the
same information structure. In addition, the definition is
x.! Ye'
organized as a collection of records, one for each em-
ployee—so the primary organization of the data structure
is by employee.
The telephone list is constructed in two stages (Fig.
3). Note that Ada’s ability to operate on strings and C; +1 FA C
Xn-1 Yn-1
Ci
Si So
U Vv Ww x ve Zz
S=P+Q+UtVt+WtY¥+Z
ripple-carry adder for two n-bit binary numbers is formed DIRECT ADDRESS; INSTRUCTION SET; MACHINE AND ASSEMBLY LAN-
by connecting n full adders in cascade (Fig. 2). The addi- GUAGE PROGRAMMING; and VIRTUAL MEMORY.
tion time of the ripple-carry adder corresponds to the
worst-case delay, which is n times the time required to
form the C,,, (carry) output by one full adder, plus the BASIC TERMINOLOGY AND HARDWARE
time to form the S; output, given the C; input. CONCEPTS
Higher speeds of two-operand addition can be at-
A typical computer instruction must indicate not only the
tained by the use of carry-completion sensing, carry-look-
operation to be performed but also the location of one or
ahead, and conditional-sum techniques (Garner, 1965). In
more operands, the location where the result of the com-
these techniques, additional logic circuitry is employed
putation is to be deposited, and, sometimes, the location
to reduce the total delay in the adder circuits.
where the next instruction is to be found. Of course, in
One-position adders for a higher radix r (for example,
certain kinds of instructions, such as those involved in
4, 8, 10, or 16) are similar to the full adder of Fig. 1. The
decision making, there may be no computational oper-
digits X, and Y, assume values 0 to r — 1, and they are
ands but only a determination of the next instruction to
represented by two or more binary variables. The values
be executed. Normally, however, all parts of the instruc-
of the bits in S, are easily described by a truth table; carry
tion are either explicitly or implicitly given. We will first
signals (C, and C;,,) remain two-valued (0 and 1). The
consider the hardware techniques by which an address
adder speed-up techniques discussed for radix 2 also
(or location) in the computer may be specified. In what
apply to two-operand addition of higher radix numbers.
follows, we shall consider primarily storage in which each
Fast summation of three or more operands can be
location has associated with it a sequentially assigned
accomplished by the use of carry-save adders (CSA). A
binary three-operand n-bit CSA is shown in Fig. 3. The address. An alternative method of method of determining
third n-bit operand Z is entered on the C; inputs of n a desired storage location will be considered briefly in the
binary full adders. The C,, ,outputs form a second output later section “Content-Addressable Storage.”
word C = (C, -- - C,) and the sum of the three input Historically and presently, computer hardware al-
words X, Y, Z is represented by two output words, C lows addresses to be specified in a variety of ways. The
and S = (S,_, --- S,). The time required to form C and most straightforward approach would be to put the entire
S is equal to the time required by one binary full adder. address directly into the instruction, representing a spe-
The final sum, which is the sum of C and S, is then cific location of a word or part of a word in storage. Thus,
obtained in a two-operand adder, which may employ on the IBM 650, an early decimal computer, the 2-digit
any of the speed-up techniques discussed above. operation code and the two 4digit addresses, represent-
The summation of more than three operands uses ing the location of the data and the location of the next
CSAs in a similar manner to reduce the sum to two words. instruction, respectively, were represented in the instruc-
Fig. 4 illustrates the CSA configuration for eight operands tion itself. (On modern computers, except for the case of
PQ U,V, WX, Y, Z. The abbreviated notation of Fig. 3(b) decision-making instructions, the address of the next in-
is employed. The time required to form the words C6 and struction is always taken implicitly to be the location after
S6 (representing the sum of the eight input operands) is that of the instruction being executed.) The operation
equal to four full-adder operation times, regardless of the code in the 650 (as on modern computers) implied the
length of the operands. location of one of the operands and the location of the
Carry-save adders are frequently employed to imple- result.
ment fast multiplication by means of multiple-operand
summation. The technique of pipelining may be employed
to further improve the effective speed of CSA utilization
(see SUPERCOMPUTERS). Op Data Next Inst.
Code | Address Address
Reference 2digit 4 digit 4 digit
installation might have only a small part of that storage. In the no-address mode (n), which is usually now
In such cases, the addresses actually occurring would use referred to as the immediate address mode, the six-bit
only a small portion of that part of the instruction set address part was not treated as an address, but as a
aside for addresses. The remaining portion must always constant to be used in the actual computation.
contain zeros, representing a waste of a valuable In the CDC 160A, seven banks of 4,096 words each
resource. were added to the storage, thus complicating the specifi-
Several hardware devices have been and are em- cation of an address. The modes of addressing already
ployed to obtain, from one of a small number of larger available were retained, but several three-bit registers
registers, most of the information needed to specify an were added to contain the number of the bank (0-7) in
address, with the instruction itself containing only the which a designated address would be found, and different
information needed to complete the address. A number operations referred to different bank registers. Additional
of these methods were employed in the Control Data operations were provided so that the programmer could
Corp. (CDC) 160 and 160A computers, early small ma- set the values of these registers as necessary. This later
chines that started out with 4,096 12-bit words of machine also provided for two-word instructions in
storage. In the CDC 160, which dates back to 1959, six which the second word might be a 12-bit immediate oper-
bits were used for the operation code, while the other and as well.
six bits (with only 64 possible values) were used in
the determination of an address. By choosing an ap- Indirect Addressing One way to address amemory
propriate operation code, the address would be inter- larger than the address part of an instruction allows is to
preted to be in one of five modes: direct address (d); have the instruction address point to another address
indirect address (i); relative address forward (f) and that stores the operand address. This facility, called indi-
backward (b); and no address (n). rect addressing or deferred addressing, was available on
The direct addressing mode (d-mode) corresponds the CDC 160 and is available on most contemporary com-
to the IBM 650 situation discussed above, in that the puters. Fig. 1 illustrates this situation on a hypothetical
address referred to a 12-bit operand in one of the first 64 16-bit computer with a 7-bit instruction field and a 9-bit
words of storage. address field that permits the direct addressing of only
Relative addressing provided for operand addresses 512 (= 2°) memory locations. Indirect addressing can be
and jump addresses that were near the storage location used to address a memory of up to 65,536 words. In the
containing the current instruction. In relative addressing example in Fig. 1, the program has placed the operand
forward (f), the six-bit address portion was added to the address 021326 (where we express addresses in octal for
current contents of the program counter (PC - g.v.). This convenience) at a specific address (125) in the first 512
register held the full 12-bit address of the current instruc- words of memory. If the instruction is, for example, an
tion. The new value was then used for obtaining the “add indirect” instruction, the address 125 is interpreted
operand or to jump to one of the 63 addresses forward as an indirect address or pointer to the actual operand at
from the address holding the instruction that was being location 021326. The address stored at 125 (namely,
executed. For relative addressing backward (b), the oper- 021326) becomes the effective address.
and or jump address was obtained by subtracting the Some systems allow multilevel indirect addressing.
six-bit address from the current contents of the PC. Thus, the number stored at 021326 may have a bit set that
Instruction
eee)
7 bits
Directiy
addressable
memory
(512 locations)
65536-word
memory,
addressable by
indirect addressing
indicates that it, itself, is an indirect address that points systems in which more than one task may be executing
to another location that contains the operand address. the same instructions at the same time, it has become
Indirect addressing may be combined in various ways very important that instructions not be modified during
with the use of index registers to produce complex ad- execution, since the modification by one task might be
dressing chains. inappropriate for another task executing the same set of
instructions (see REENTRANT PROGRAM).
Index Registers The concept of an index register,
sometimes called a “tally register” or “base register” (see General Registers The use of variable-length in-
below), grew out of the B-line or B-register introduced on structions has also become much more widespread in
some of the earliest computers developed in England at recent years. The IBM System/360/370/390 (g.v.), for ex-
the University of Manchester (see Manchester University ample, uses instructions that may take one, two, or three
Computers). This represented a major advance in com- half-words for their representation. In the System/360, 16
puter design. Index registers are hardware registers that general registers are provided, each capable of acting as
can be set, incremented, tested, etc., by machine instruc- an arithmetic register, a base register for relative address-
tions. Each instruction contains an indication as to ing, or as an index register. (The fact that one cannot tell
whether its address is to be added to (or subtracted from) by looking at one of these registers whether its contents
the contents of a designated index register to form the represents an ordinary number or an address has some-
effective address. One of the main purposes, as suggested times led to other problems, but this degree of flexibility
by the name, was to allow the effective address to be used is very useful.) An instruction might refer only to one or
as an index into a set of contiguous storage registers two of these registers, in which case only four bits would
commonly referred to as a “vector.” Without changing the be needed in the instruction for each one, and it could fit
part of the address that was in the instruction itself, one in a half-word (16 bits).
could refer to one after another of the contiguous regis- A full-word instruction could accommodate one ref-
ters merely by changing the contents of the index register erence to a general register (4 bits) and a reference to a
successively. This replaced the more time- and space-con- storage address. The latter could be a combination of a
suming sequence of instructions that would normally put base register (4 bits), an index register designation (4
an instruction containing an address into an arithmetic bits), and a 12-bit displacement, which could be used as a
register, modify it by ordinary addition, and then store it local offset from the contents of the base register. Fig. 2
back to replace its former value. (This modified instruc- illustrates the determination of an effective address from
tion was then executed, and it would refer to a different a System/360 instruction.
storage location.)
The use of index registers eliminated the need for Relocation Registers Many computers have one or
modification of the instruction itself by allowing the index more hardware relocation registers, which aid in the im-
register to be modified by special instructions added to plementation and running of multiprogramming (q.v.) sys-
the computer for that purpose. With the advent of newer tems. An example is the CDC Cyber series. A number of
——
fs ieee
ee ee es al
Pie, ee
|
BS
|
{ 24-bit adder
|
| Effective address 2
|
|
| To memory for operand 2
= (by way of dynamic address
ically indicates an indirect address by adding a character the same time. The term folding has sometimes been used
such as *, to the absolute or symbolic address. Thus, for this process.
In many older systems, the programmer had the re-
INCR ADD ALPHA* sponsibility for breaking the program into overlays and
for providing the loading instructions that bring neces-
would indicate that the effective address is not ALPHA, sary overlays into main memory as they are needed.
but is in the location specified by ALPHA. Many software systems provide aids to overlay planning.
The user can name the overlays so that all symbolic
Indexing. If an index register is to be used in calculat- addresses in an overlay will be automatically tagged with
ing an effective address, this is normally specified follow- a special identifier that indicates which overlay they be-
ing the instruction address. For example, long to.
A loader (q.v.) or linker (q.v.) creates an object pro-
ADD A,4 gram organized as a set of overlays and a root segment
containing information about the overlay structure. The
indicates that the contents of index register 4 is to be root segment is loaded into main memory along with the
added (subtracted on some computers) to A to determine segments needed to get the program started. Any refer-
the effective address. Indexing can be combined with ence to a symbolic address in a segment that is not in
indirect addressing so that main memory causes a call on the supervisor to load the
required segment, overlaying other segments if neces-
ADD Ax,4 sary.
There have been a number of efforts to produce
would specify the effective address as the sum of the software systems that provide automatic folding of pro-
contents of location A and index register 4. grams. In such systems, a programmer would write a
program as if there were enough main memory to contain
the whole program, and the software system would orga-
Higher-Level Languages The development of
nize the program into overlays to fit the actual amount of
higher-level programming languages has relieved the pro-
storage that would be available. Efforts to produce soft-
grammer of the responsibility for many aspects of mem-
ware systems of this type date back to the earliest com-
ory management. However, that responsibility must
puters, but none was particularly successful until the
reside somewhere: Either the programmer or the lan-
advent of so-called virtual memory systems that first
guage processor and operating system must take on the
made their appearance around 1959 and that have be-
responsibility for allocating space for instructions and
come increasingly popular since the 1970s.
data and for producing the programs that make appropri-
ate use of the addressing structure of the computer. The
software features of addressing discussed in this article The Atlas System The Atlas (g.v.) computer was
probably the first virtual memory system. Its designers
are therefore mainly of interest to the assembly language
programmer. The programmer who writes in a higher- called it a single-level storage system. The idea was that a
level language such as Pascal or C does not have to be programmer would program as if all available memory
aware of the details of memory addressing in the com- were on a single level and directly addressable, whereas
puter on which a program will run, but may be sure that in fact memory was on two levels. In the Atlas, the two
the compiler being used is very much aware of these levels were drum and core.
details, and usually expends a great deal of effort to take A program for the Atlas could be written as if it were
to run in a homogeneous memory consisting of 2”? =
advantage of the memory-addressing hardware features
1,048,576 words. Memory was organized into pages of 2°
provided on the computer.
= 512 words each. The physical core memory might con-
SAUL ROSEN sist of only 32 or 64 such pages. However, the “address
space” (i.e. the addresses that a user could address)
consisted of 2!! = 2,048 such pages. Thus, an address in
the Atlas consisted of an 11-bit page number and a 9-bit
VIRTUAL MEMORY
number indicating the location within the page.
A hardware page-address register is associated with
Overlays Many programs are too long to fit into the each physical page (or page frame, as it is sometimes
space in main memory that can be allocated to them at called). A typical running program might consist of 50
run time. In a uniprogramming system, this will be true pages, of which 20 pages at a particular time would be
when the amount of space required by the program is located in core memory and the other 30 located on the
greater than the total memory available to problem pro- drum.
grams. In a multiprogramming system it may be true Each page of the program represents a set of 512
because the amount of space that is needed is more than consecutive addresses with the same page number (i.e.
the operating system is willing to allocate to this particu- the same 11 leftmost bits). The program page number is
lar program. In either case, it becomes necessary to break kept in the page address register of the physical page that
the program up into sections, segments, or overlays so is occupied by that program page. Thus, any program (or
that the entire program need not be in main memory at logical) page may occupy any physical page, and it may
ADDRESSING 19
occupy different physical pages at different times during transfer of that page from drum into core. Assume that
the running of the program. physical page 16 is available. The supervisor will cause
Assume now (see Fig. 3) that the next instruction to be program page 231 to be loaded into physical page 16, and
executed refers to an operand whose address (in octal) is will place the number 231 in the corresponding page
0231443. This is a reference to location 443 in page 231. address register. It then returns contro] to the program,
Note that core memory of the machine contains nowhere which tries again to access an operand in virtual location
near 231 pages, and there are only 50 pages in the program 231443. This time it finds logical page 231 in physical page
being executed. The programmer does not have to confine 16 and translates the address 231443 to 16443.
the program to the first 50 pages or to any contiguous
block of 50 pages. He or she can use any areas in virtual Segments and Pages TheAtlas system is an exam-
memory that are convenient. Thus, the programmer does ple of a one-dimensional or single-segment virtual mem-
not have to know beforehand how long the code areas and ory system. The programmer or the language processor
data areas are going to be. The program can be broken up must provide symbolic or absolute addresses in the one-
into segments and placed far enough apart in virtual mem- dimensional virtual memory. Many of the classical stor-
ory so that their memory allocations will not overlap. age allocation problems remain, although they are helped
There is no point at all to scattering a program at random considerably by the fact that the virtual memory is much
over a large virtual memory; in fact, such programs will larger than the actual central memory of the computer on
usually perform very inefficiently. One wants a very large which the program is run.
virtual memory in order to be able to assign areas, whose From the point of view of program organization, there
ultimate size is not necessarily known in.advance, to pro- are a number of advantages to a two-dimensional organi-
gram and data modules that do not overlap and that form zation of virtual memory. Although two-dimensional vir-
the structural units of a program. The segmented, two-di- tual memory systems usually are multiprogrammed
mensional virtual memories discussed below were intro- systems, it is convenient to think of each program in the
duced to make this type of modular programming (q.v.) multiprogrammed environment as if it were running in its
more automatic and more convenient. own virtual memory.
The page address registers form an associative or In such a system, a program runs in a large virtual
content-addressable memory. They are subject to a very memory consisting of a number of segments. An address
rapid hardware scan to determine if one of them is page then consists of a segment name (or number) and a
231. If it is (say, if page 231 is in physical page 12, as in Fig. displacement relative to the beginning of the segment.
3), then the operand sought is in physical location 12443, This is somewhat analogous to the regional organization
and the operand is fetched from that location. If, on the of programs in earlier computer generations and has
other hand, page 231 of this program is not in core mem- some of the same advantages. The programmer or the
ory, it must be fetched from the drum. An interrupt called language processor can assign programs and data to dif-
a page fault occurs, and the operating system initiates a ferent segments without worrying about the relative posi-
Physical address
To memory
Associative
memory of
page address
registers
tion of the segments in the total addressing space. This is pear in several segment tables that correspond to several
especially true if the segments are large enough so that jobs that are simultaneously active. The possibility of
possible segment overflow is not a problem. The seg- sharing segments was one of the strong motivations for
ments themselves may be organized into pages. the development of the segmented virtual memory sys-
Ajob (or process) is then represented in central mem- tems.
ory by a segment table that provides a set of pointers The first and perhaps the only complete implementa-
(q.v.) to page tables corresponding to the active segments tion of this type of virtual memory system was attempted
of the process. Each active segment will usually have one in the Multics system developed at M.I.T. on the General
or more pages in memory. The actual address space or Electric (ater Honeywell) 645 computer and its succes-
virtual memory is very large, and in most practical situa- sors. The actual addressing and address translation
tions it consists mostly of unused space. Of the part of scheme used is too complicated to be discussed here. The
virtual memory that is actually used by a program, only a reader is referred to Organick (1972).
relatively few pages will be in central memory; the rest
will reside on a paging drum (or disk) or in a backup mass IBM Virtual Memory Systems The IBM 360/67
storage system (usually disk storage). The segment may introduced in 1965, and later the IBM 370 series intro-
serve as a unit of sharing among programs. The same duced in 1972, helped to popularize some of the concepts
segment (i.e. a pointer to the same page table) may ap- of virtual memory. In the standard 370 systems, the vir-
Effective Address
Segment Page
Number Number Displacement
‘
Associative Memor
success To main
Logical address:
segment number,
Physical
(absolute) |15] 289 | memory
page number page address
tual memory associated with a process consists of 16 memory systems by allocating several bits of each data
segments, and a segment consists of 256 pages, each of word to provide information about the data type and
which has 4,096 bytes. The relatively small size of the format along with each individual word or item of data.
virtual memory loses some of the advantages associated These Burroughs systems were virtual memory sys-
with virtual memory systems, but it probably has the tems based on the use of relatively small segments that
advantage of making memory addressing more manage- are not broken into pages. A segment is moved as a unit
able. In the standard 370, the 24-bit address field* con- between central memory and backing drum or disk stor-
tains a 4-bit segment number, an 8-bit page number, and a age. The operating system is a multiprogramming system.
12-bit byte address within the page. Each active job has some of its segments in core memory
and the rest on the drum. Each segment descriptor in the
program reference table has a presence bit which indi-
segment page displacement cates whether or not that segment is present in central
no. no. memory. Any attempt to refer to a segment that is not in
central memory causes an interrupt to the supervisor,
The operating system maintains a 16- (or 32-) word requesting that that segment be loaded. The supervisor
segment table for each process that contains the pointers can load the segment into any available contiguous area
to the page table for each segment. The page table con- of memory that is large enough to hold it. If necessary, it
tains the physical address of each page that is present in can move out other segments. When the segment has
main memory. These tables are automatically searched been loaded, its new starting address in central memory
when a memory reference is made. Thus (Fig. 4), if page 6 is placed in its descriptor, and the program that referred
of segment 4 is in main memory starting at physical byte to the segment can be restarted.
location 15000 (hexadecimal), a reference to address lo-
SAUL ROSEN
cation 406289 would cause the dynamic address transla-
tion hardware to search the segment table for segment 4
and retrieve the address of the page table for segment 4. References
It would search the page table for page 6 and retrieve
absolute address 15. It would thus translate the seg- 1971. Bell, C. G. and Newell, A. Computer Structures: Readings and
Examples. New York: McGraw-Hill.
ment/page address 406 into the physical address 15. (Ac-
1972. Organick, Elliott I. The Multics Systems—An Examination of
tually 15000, but the three trailing zeros are understood.)
Its Structure. Cambridge: M.1.T. Press.
The absolute address reference is thus 15289, and the
operand is retrieved from that address.
Systems of this type usually have a small associative
memory in which the most recent translations are stored ADMINISTRATIVE
(Fig. 4). Thus, the first reference to page 6 of segment 4 APPLICATIONS
would proceed as discussed above, but the fact that 406
translates into 15 would be retained in the small associa- For articles on related subjects see BANKING APPLICATIONS;
tive memory. Then, so long as page 6 of segment 4 is one DATA PROCESSING; ELECTRONIC FUNDS TRANSFER SYSTEMS; E:LEC-
of the most recently referenced pages, its translation will TRONIC OFFICE; INFORMATION PROCESSING; INFORMATION SYSTEMS;
be in the associative registers, and the relatively slow MANAGEMENT INFORMATION SYSTEM; NETWORKS, COMPUTER; and
address translation process does not have to be repeated. TELEPROCESSING SYSTEMS.
First, government transactions processing grew no e In many cases, these applications were already
less rapidly than did business transactions processing, as being performed on punched card _ tabulating
government agencies, like the Social Security Administra- equipment, which allowed them to be converted
tion, established pioneering large-scale government ad- easily to the earliest punched card and magnetic
ministrative applications that were strikingly similar to tape—based computers.
business applications. This led to the recognition that the e Computerization of these functions was readily
term “administrative” applications was a more descrip- justified by clerical staff reductions and by savings
tive term than “business” applications, since both the realized through replacement of outmoded and
private and public sectors “administer,” while only the more expensive punched-card equipment.
private sector does “business” in the commercial sense of
the word. These early computer systems processed data in batches,
Second, these simple classifications fell to the way- that is, they executed one program at a time and handled
side with the establishment of other significant varieties of transactions (Say, an accounting entry, such as payment
computer applications, such as process control, informa- of a bill) one at a time from a predefined sequence of
tion retrieval, voice and message switching, and advanced transactions (such as all payments in a batch presorted
technical applications such as computer-aided design by account number). They required considerable
(CAD-q.v.) and computer-aided instruction (CAI-q.v.). amounts of manual intervention and the applications they
Today, administrative applications are widely con- performed were limited in scope. The computers of the
sidered to be those that involve the use of computers 1950s also tended to be physically large, internally slow,
for processing information in support of the operational, and somewhat unreliable in terms of system availability.
logistical, and functional activities performed by all or- They were vacuum-tube based, and it is clear that their
ganizations, and may be classified in a number of dif- price-performance ratio limited both the numbers and
ferent ways. One is by organization type, e.g. banking, kinds of applications that were run on them.
insurance, manufacturing, and government (which may The next major advance in systems came in the
be further subdivided into many different categories, early 1960s, with the invention of the transistor and
such as defense, education, revenue, health services, its implementation in the next generation of computers.
etc.), among others. Another is by type of function (e.g. These systems were smaller, faster, and more reliable.
accounting, budgeting, payroll, student registration, and They still ran applications one at a time, but their
many others). speed encouraged development of more administrative
This article describes the evolution and growth of applications. During the 1960s, virtually all large orga-
administrative applications, the organization of data pro- nizations computerized most of their primary “business”
cessing activity, and the increasingly complex administra- functions.
tive processing environment of the 1990s. In the 1970s, the arrival of the integrated circuit drove
the implementation of fast and reliable computer sys-
The Evolution of Administrative and Busi- tems. Advances in operating system technology precipi-
ness Applications Interestingly, the four stages of tated the rapid spread of multiuser systems, and data
the evolution of commercially viable computing systems communications systems enabled more and more appli-
cations to be accessed from remote locations by employ-
closely correspond to each of the last four decades. While
ees working at CRT terminals. The applications began to
the earliest computers were developed during World War
Il for specific defense applications—some of the first com- provide information that resulted in a wide range of ben-
efits, from significantly improved customer service to
puters were used to calculate artillery firing coordi-
tighter management control over widely dispersed oper-
nates—these systems did not become commercially
ations and functions.
marketable for a number of reasons: they were special-
In the 1980s, the microcomputer brought low-cost
purpose, designed for military applications; they were
extremely large, occupying huge warehouses; they con- computer power to virtually anyone who wished to use it.
sumed enormous amounts of electricity, generated im- Office automation eased the administrative workload in
mense amounts of heat, required tons of chilled air, and
even the smallest offices. User-friendly word processing
broke down every few hours. No organization but the (q.v.), spreadsheets (q.v.), databases, and similar applica-
government could afford to own and operate one. tions made it cost-justifiable to computerize.
The first commercial systems were installed in the
1950s and ran such “business” applications as account- The Challenges of the 1990s _ In the decade of
ing, billing, payroll, and inventory control. This was a the 1990s, several trends are evident:
logical first step in the application of computers to solve
business-related problems, for several reasons: e Administrative applications will continue to evolve
into tools for the strategic use of an organization’s
e These activities were well understood and reason- information assets to create a competitive advan-
ably well documented, which facilitated their com- tage for the organization.
puterization. e Advances in electronic technology will continue to
e These applications were well suited to the oneat- improve the cost-performance of computer sys-
a-time sequential processing of data typically per- tems; they will continue to shrink in size and in-
formed by the early computers. crease in power,
ADMINISTRATIVE APPLICATIONS 23
e These high-performance systems will allow the in- organizational departments known as. data centers.
tegration of digital audio and video into previously These centers may be called data processing offices,
text-only systems. management information systems offices, electronic data
e Advances in communication technology will place processing offices, etc., and they are responsible for a
more and more information at the fingertips of the number of functions:
average worker, as systems are tied into local,
national, and international networks. e Providing good quality service to all customers.
e Commuting costs will increase as telecomputing e Providing liaison activities to customer offices.
costs decrease, so that, by the end of the century, e Keeping current with state of the art systems and
many employees will work at home. emerging standards.
e Planning, scheduling, and managing resources for
Increasing emphasis will be placed on a number of critical operational economy and adequate service levels
issues: to customers.
e Providing separate development and operating re-
e The hiring of technically competent staff, and their sponsibilities to increase auditing controls and to
continued technical training. ensure formal procedures for purchasing, develop-
e Adoption of standards for software, hardware, op- ing, and changing administrative software sys-
erating systems, telecommunication systems, and tems. :
the like; non-standard applications and interfaces e Providing separate data processing functions and
have historically ended up costing users millions, responsibilities so that security systems can be
if not billions, of dollars to resolve. developed to maintain proper controls over the
e The security of information, from the point of its data, particularly for restricting direct control
creation or gathering through its transmission and over assets, disbursement of funds, issuance of
storage on permanent or semipermanent media, inventory, etc.
will become increasingly important, as access to
systems becomes pervasive. Some specific functional areas generally associated with
e The importance of these and other issues, and the administrative processing are:
value of information as an organizational asset will
cause many organizations to develop strategic e The support of one or more major development
plans for management of their information re- projects, for example, bridge construction, aircraft
sources. design, software development of new products, or
e Competition for a portion of the high technology nuclear reactor research.
market will continue to increase. The Japanese use e The support of operational activities, such as air-
automated factories to produce one-of-a-kind cus- line/hotel reservations, manufacturing control, de-
tom cars built to order, and they plan 10 years into mand deposit accounting, and electronic transfer
the future. Other countries will have to do the of banking funds.
same, or lose their competitive advantage in world e The support of management systems, like financial
markets. management, payroll, personnel, budgeting, cost
control, college admission, or registration.
e The provision of a computer utility serving author-
The Applications Development Environment ized users.
Administrative applications systems extend over a
broadly based clientele, ranging from municipal govern-
The efficiency impacts of computer software in adminis-
ments to private corporations to public and state
trative applications are primarily visible as reductions in
institutions supporting their day-to-day as well as de
transaction processing costs that can reflect reductions
‘cision-support operations. As the machine and data cen-
in clerical costs, inventory costs, and measures of econ-
ter centralized environments of the 1970s and 1980s
omy, such as office automation and desktop publishing
evolved into cooperative and client/server environments,
(q.v.). Further effectiveness lies in uses of the growing
new computing architectures increasingly support the
body of management science, econometrics, and other
user by the provision of information-centered require-
advanced methodologies of informational analysis. Some
ments. The applications evolution has followed the ex-
administrative analytical applications are valuable at the
panding hardware capabilities of the computer with its
lowest physical level in organizations, as in the daily
four major physical components; the central processing
scheduling of refinery output with the help of linear pro-
unit, main storage, auxiliary storage, and input/output
gramming models.
devices.
Administrative applications (software) are written
by technical staff identified as “programmers,” “pro-
grammer analysts,” and “software engineers,” to name
Traditional Organization of Data Processing
a few titles. Even though most software development Activity The organization of applications processing
projects are moving perceptibly closer to the end user, activities varies from organization to organization; how-
a majority of software projects are still developed in ever, there are several required areas of support:
24 ADMINISTRATIVE APPLICATIONS
Systems development—This activity is usually di- izational structures required to properly and successfully
vided into two parts: systems analysis, and design support distributed processing across microcomputer-
and applications programming. The basic organi- based LAN structures (see LOCAL AREA NETWORK).
zational unit is project driven, either developing, -« New mainframe machine families offer dramatic new
installing, or modifying systems. features and functions with the promise of even more
Operations—Major divisions within operational advanced features over the next several years. As admin-
functions are production support and _hard- istrative commercial applications begin to require general
ware/peripheral operations. All of the planning, purpose processor speeds reaching into the 300-500
scheduling, control, job setup, and logistical work MIPS ranges within the next few years, advances in pro-
is done in an organization distinct from the actual cessor design will include the implementation of im-
“machine room floor.” In production support is the proved instructions that control processing within the
scheduling and coordination unit. This group mon- computer. The 24-hours-per-day, seven-days-per-week ap-
itors production job streams, adjusts problems, plications processing schedule that is standard operating
and serves as a customer contact point. A second procedure in most large organizations will continue. This
unit, job control, manages individual jobs as they demanding environment will lead to distributed data cen-
flow through the systems. Controls are estab- ter complexes that will be collections of geographically
lished, a job log is maintained, inputs are reviewed diverse data centers coupled by wideband, wide area
and edited, and outputs are reviewed and prepared communication capabilities.
for customer distribution. In order to manage and control applications process-
Library and services—This unit maintains the tape ing, mainframe-based expert systems (q.v.) will be widely
and disk library and provides support services used. Expert systems may replace the humans who are
(such as supplies inventory) to the operations now required to make the thousands of decisions needed
group. to run data processing complexes on a daily basis. Em-
e Computer operations—Within this group are all phasis upon portability and integration of multi-vendor
computer console operations and online periph- hardware and software systems will become key in the
eral equipment. use of these expert systems. Peripherals, particularly
Technical support—The division of duties within those supporting storage devices—traditional rotating
the technical support group will vary within the disks and optical disks—will be heavily used, as will
data processing environment. Typical functions as- image processing (q.v.) and microfiche replacement.
sociated here can be standards, database adminis- Administrative software applications will continue to
tration, user assistance, and training. drive the need for faster processing. Application develop-
Management—The director/manager of data pro- ers will use new languages and tools that dramatically
cessing performs long- and short-range planning, reduce the time required to develop new applications.
establishes and administers project management Some of these will reside in the fourth generation lan-
systems, monitors resource utilization, maintains guage (4GL) environment, and some will occur in the
financial management systems and is responsible computer-aided software engineering (CASE) environ-
for personnel and budget, and manages hardware ment (q.v.). Software will be forward and reverse engi-
and software upgrades/acquisitions. Network com- neered and software design recovery will become a
munications and contingency planning are fre- common analysis activity within data centers. Most of
quently a part of this person’s management these systems will be required to deal with Cobol code,
responsibilities. estimated currently at approximately 100 billion lines.
Migration to CASE and 4GL will be difficult because of this
extensive coding—much of which has no applications
The Administrative Applications Environ-
documentation and exists only as machine code.
ment of the 1990s “Cooperative processing” and The trend toward computer literacy will continue
“client/server” environments will service work group do- into the 1990s and beyond. This will create highly pres-
mains by using traditional mainframes as “warehouses” sured environments within data centers that will need to
for data and switching points for communication (see FILE
comply with tightly defined thresholds of reliability, avail-
SERVER). They will also provide security and manage data ability and serviceability. Data center professionals will
access and throughput for systems of interlocking experience changing roles with client offices and will find
databases. This will lead to a high level of diverse
their expertise being used at higher levels within the
database integration, enhanced system integrity, and, ul-
organization.
timately, a cost-effective array of hardware options, appli-
cations software, and data processing personnel. References
Even though personal computers have experienced
an incremental growth of power as measureed in millions 1985. Licker, Paul S. The Art of Managing Software Development
of instructions per second (MIPS), they will not be viable People. New York: John Wiley & Sons. (How to manage highly
creative and technically-oriented staff.)
alternatives to mainframe hardware for jobs that require
1985. Tapscott, Henderson, and Greenberg of Trigon Systems
robust security, task interleaving with other data process-
Group, Inc. Planning for Integrated Office Systems: A Strategic
ing jobs, and high rates of transaction processing. Few
Approach. Homewood, IL: Dow Jones-Irwin. (Planning for inte-
data centers have been able to realize the optimal organ- grated office systems, and the strategic value of information )
AIKEN, HOWARD 25
of those who did their doctoral dissertations under his nicating algorithms, executing them efficiently on differ-
direction is an excellent example of this impact. ent computers, and teaching computer science. Even
Aiken retired from Harvard in 1961 and moved to Fort though Algol 68 is a successor of Algol 60, it is a com-
Lauderdale, Florida, where he formed Aiken Industries. He pletely new language, different from Algol 60 in many
also joined the faculty of the University of Miami as Distin- essential aspects. Its design reflects the 1968 understand-
guished Professor of Information Technology. In this lat- ing of anumber of fundamental concepts of programming
ter position, he helped the University develop a computer languages, and computer science.
science program and design a computing center. Algol 68 has great expressive power and yet avery ele-
His honors are too numerous to mention in detail. gant.and interesting basic structure. It features five primi-
They include honorary degrees (University of Wisconsin, tive types (called “modes”) of values; bool (boolean), char
Wayne State University, and Technische Hochschule, (character), int (integer), real and format; and five rules
Darmstadt), prizes (Rochlitz Prize, Edison Medal of IEEE, for constructing new modes from the ones already de-
the John Price Award of the Franklin Institute) as well as fined. So, for example, values of mode [] real are one-di-
medals from both the United States (Air Force and Navy mensional arrays or multiple values of reals. Values of
for distinguished service) and foreign governments (Swe- mode struct ([]char name, bool sex, int age) are personal
den, Belgium, France, and Spain). records or structured values. Values of mode union (real,
Howard Aiken felt that he had to be continuously int) are either reals or integers, but no value of this mode
involved in challenging endeavors in order to stay alive can be both of mode real and int. References are values
both physically and intellectually. His career is a docu- that refer (point) to other values. For example, values of
ment of that creed. Some of his detractors accused him of mode ref [] char are references to one-dimensional arrays
living in the past, but nothing could be further from the of characters. Values of mode proc (int, real) bool are rou-
truth. He was a man of rare vision, whose insights have tines (i.e. procedures) that take two arguments of respec-
had a profound effect on the entire computing profession. tive modes int and real and return avalue of mode bool.
Since references and routines are values, they can be
References manipulated like any other values. In particular, they can
1973. Oettinger. Anthony G. “Howard Aiken,” Communications of be. passed as parameters in procedure calls. Because of
the ACM, 16. 298-299, May. this it is possible to achieve the effects of three types of
1984. Williams, M.R. “Howard Aiken and the Harvard Computa- procedure calls found in other programming languages:
tion Laboratory,” Annals of the History of Computing, 6(2), call by value, call by name, and call by reference. So, for ex-
157-159, ample, values of mode proc (ref [] char, int) int are rou-
1984. Hurd, C.C. “Aiken Observed,” Annals of the History of Com- tines with the first formal parameter called by reference.
puting, 6(2), 160-162.
Different sorts of declarations (for example, array
1988. Cohen, I.B. “Babbage and Aiken,” Annals of the History of
declarations and switch declarations) found in other pro-
Computing, 10(3), 171-194.
gramming languages are captured in the identity declara-
HENRY S. TROPP tion of Algol 68. This concept is also the basis of the
parameter-passing mechanism; it allows construction of
an infinite number of new modes from the already defined
ones and permits declaration of arithmetic and logical
ALGEBRA, BOOLEAN. see Bootean AtcE- operators and their priorities.
BRA. The identity declaration and the concept of a refer-
ence clarify the distinction between a variable and a con-
stant. An identity declaration in a program defines the
value possessed by the identifier that appears in the
ALGEBRA, COMPUTER. See Computer AL-
declaration. This value may be a reference to another
GEBRA.
value, in which case the identifier is declared as a vari-
able. An example of an initialized (i.e. one that includes
assignment) declaration of that sort is real x := 3.14,
ALGOL GO. See ProcepurE-ORIENTED LANGUAGES. which gives rise to the following scheme.
identifier pi > 3.14 1971. Lindsey, C.H. and van der Meulen, S.G. Informal Introduction
to Algol 68. Amsterdam: North-Holland.
This careful distinction permits, in particular, the 1975. van Wijngaarden, A., Mailloux, B.J., Peck, J.E.L., Koster,
definition of constant and variable procedures. For exam- C.H.A., Sintzoff, M., Lindsey, C.H., Meertens, L.G.L.T., and
ple, the declaration proc f = (real x, real y) real: (x + y)/2 Fisher, R.G. “Revised Report on the Algorithmic Language
—sqrt(x X y) establishes f as a constant, as opposed to Algol 68,” Acta Informatica 5: 1-3. Springer-Verlag: Berlin, Hei-
proc f= (real x, real y) real: (x + y)/2 — sqrt(x X y), which delberg, New York.
1976. Tanenbaum, A.S. “A Tutorial on Algo! 68,” Computing Sur-
defines a variable procedure. In the latter case we can, at
veys 8, No. 2.
another point in the program, assign some other value of 1978. Tanenbaum, A.S. “A Comparison of Pascal and Algol 68,”
mode proc (real, real) real to f; for example, we can write
Computer Journal 21, No. 4.
f:= (real x, real y) real: (x + y)/2.
A number of standard statements are available in SUAD ALAGIC
Algol 68: assignment, e.g. x:= (a + b)/2; repetitive, e.g. (for
i from 2 to n dof:= f X i; go to, e.g. go to loop; conditional,
e.g. ifx = y then go to /abel else go to end fi, etc. Inaddition ALGORITHM
to the conventional serial statement execution, it is possi-
ble to specify parallel or collateral execution. In the latter For articles on related subjects see ALGORITHMS, ANALYSIS
case, execution of statements is merged in time in a way to OF; ALGORITHMS, CLASSIFICATION OF; ALGORITHMS, THEORY OF;
be specified by the implementation. Parallel programming ERROR ANALYSIS; PROGRAM VERIFICATION; SCHEDULING ALGO-
facilities in Algol 68 include elementary means of control RITHM; and TURING MACHINE.
or synchronization of collateral execution. These are lan-
guage-defined values called semaphores. In discussing problem solving, we presuppose botha
The Algol 60 concept of a block appears in a more problem and a device to be used in solving the problem.
general form in Algol 68 as a range. An example of a range The problem may be mathematical or non-mathematical
is a sequence of declarations and statements placed be- in nature, simple or complex. The basic requirements for
tween generalized parentheses. Examples of pairs of a well-posed problem are that (1) the known information
these parentheses are begin and end, if and then, then is clearly specified; (2) we can determine when the prob-
and else, else and fi, etc. References possessed by the lem has been solved; and (3) the problem does not
identifiers declared in a range may be local to that range. change during its attempted solution. The second re-
Since the hardware representation of a reference is a quirement does not mean that the solution to the problem
memory location, storage is allocated dynamically to is knowna priori, but only that we know when the solution
local variables; i.e. storage for local variables of a range is has been attained. For example, in some numerical prob-
deallocated when leaving that range. In addition to these lems we obtain repeated approximations to the answer,
stack-controlled values, Algol 68 also has values whose terminating the solution process when two successive
lifetime does not fit into the last-in-first-out principle of a approximations are “sufficiently close” together. We can
stack. Values of this sort are stored in a randomly organ- specify in the problem statement the exact meaning of
ized memory region called the heap. “sufficiently close” without knowing the exact answer.
While Pascal, which was also designed as a successor The device to be used for problem solution may be human
of Algol 60, has been widely accepted and heavily used, or machine, or a combination of the two.
Algol 68 has not been. Pascal is a much smaller and
simpler language. Algol 68 is more complex and the gen- Definition Given both the problem and the device, an
erality that it offers is not always necessary nor of the . algorithm is the precise characterization of a method of
right kind. Because of that, Algol 68 is more difficult to solving the problem, presented in a language comprehen-
learn. This is partly due to unusual terminology that has sible to the device. In particular, an algorithm is charac-
not been widely accepted. The defining document of Algol terized by these properties:
68 is much more elaborate and precise but also much
more difficult to understand in comparison with the 1. Application of the algorithm to a particular input
shorter and less formal Pascal report. This in particular set or problem description results in a finite se-
‘applies to the two-level context sensitive grammar used quence of actions.
in the Algol 68 report in comparison with the usual BNF 2. The sequence of actions has a unique initial ac-
(g.v.) syntax used for Pascal. Finally, it is much more tion.
difficult to implement full Algol 68 than Pascal, for which 3. Each action in the sequence has a unique succes-
there are well-known, widely used, and efficient im- sor.
plementation techniques. 4. The sequence terminates with either a solution
to the problem, or a statement that the problem
References is unsolvable for that set of data.
1969. van Wijngaarden, A. ef al. “Report on the Algorithmic Lan-
guage ALGOL 68.” Numerische Mathematik, 14.
We illustrate these concepts with an example: “Find the
1971. Branguart, P., Lewi, J., Sintzoff, M., and Wodor, P.L. “The square root of the real number x.” As it is stated, this prob-
Composition of Semantics in Algol 68,” Communications of the lem is algorithmically either trivial or unsolvable, owing to
ACM 14, No. 11. the irrationality of most square roots. If we accept “V2 ” as
28 ALGORITHM
the square root of 2, for example, the solution is trivial: The used. For example, the following algorithm in
answer is the square root sign (V_) concatenated with the Pascal is suitable for computers that support
input. In Snobol, the entire algorithm is that language.)
Quality Judgments on Algorithms Any com- algorithm is needed to solve a single isolated problem,
puter program is at least a semi-algorithm, and any pro- more often algorithms are designed to handle a range of
gram that always halts is an algorithm. (Of course, it may input data. Generality, like accuracy, is often attained at
not solve the problem for which the programmer in- the cost of speed and memory requirements. A general
tended it.) Given a solvable problem, there are many polynomial root finder is more costly in both time and
algorithms (programs) to solve it, not all of equal quality. storage than an algorithm for extracting the roots of a
The primary practical criteria by which the quality of an quadratic equation. But the increased generality may jus-
algorithm is judged are time and memory requirements, tify the cost. This is a pragmatic decision. In another
accuracy of solution, and generality. To cite an extreme example, an information retrieval (q.v.) system based on
example, since a properly defined game of chess has only a free vocabulary is generally more expensive to design
a finite number of possible moves, there exists an algo- and operate than one based on a fixed or coded vocabu-
rithm to determine the “perfect” chess game. Simply ex- lary. But the difference in utility may far outweigh the
amine all possible move sequences, in some specified additional cost burden.
order. Unfortunately, the time required to execute any Questions of the minimal time and storage require-
algorithm based on this idea is measured in billions of ments posed by a given class of problems, and of the time
years, even at today’s computer speeds. The memory and storage requirements of any proposed algorithm,
requirements for such an algorithm are similarly over- have become increasingly important as we attempt to
bearing. solve larger and more complex problems. In recent years,
On a more practical plane, several numerical meth- much of the work in algorithm theory has been focused
on these questions of algorithmic complexity (see also
ods for solving problems fail to yield satisfactory algo-
COMPUTATIONAL COMPLEXITY).
rithms because the rate of convergence is so slow that
thousands or millions of iterations may be needed to
References
determine the answer. For other numerical methods,
rounding or truncation errors may accumulate so rapidly 1983. Aho, Alfred V., Hopcroft, John E., and Ullman, Jeffrey D. Data
that they destroy the answer. Structures and Algorithms. Reading, MA: Addison-Wesley.
There is often a trade-off in time and memory require- 1984. Gonnet, G.H. Handbook of Algorithms and Data Structures.
Reading, MA: Addison-Wesley.
ments that must be settled pragmatically. The simplest
1987. Korfhage, Robert R. and Gibbs, Norman E. Principles of Data
case of this arises in the computation and repeated use of
Structures and Algorithms with Pascal, Dubuque, IA: Wm. C.
a complicated function. If the computation of each func- Brown Publishers.
tion value is sufficiently complex, then in repeated usage 1988. Sedgewick, Robert. Algorithms (2nd Ed.). Reading, MA: Ad-
much time may be saved by precomputing a table of dison-Wesley.
values and using table lookup techniques (see SEARCHING).
However, such a table may require sufficient additional ROBERT R. KORFHAGE
One might suspect that, as the speed of computers list of all vertices adjacent to uv, Since each edge (vu,
increases, the effects of the efficiency of the algorithms v;) of G is stored twice (vu, is on the list of vertices
used decrease. Actually, just the opposite is true. The adjacent to v,, and vu, is on the list of vertices adjacent
reason is that the asymptotic behavior of the algorithm to v;), the memory required to store the list represen-
becomes more important, as we will now illustrate. tation of G is proportional to the number of edges. For
With each problem, we associate an integer that we planar graphs it can be shown that the number of edges
call the size of the problem. For example, the size of a is bounded by 3n-6, where n is the number of vertices.
matrix inversion problem is the dimension of the matrix, Thus, the memory required is bounded by C X n, where
the size of a graph problem is the number of edges, and C is a constant, rather than the n’ that was required
so forth. The growth rate of the execution time of the for the connection matrix representation. If the algorithm
algorithm is determined as a function of the size of the is required to determine if vertex v, is connected to
problem. The limiting behavior of the growth rate is vertex v,, then a trade-off between space and time occurs,
called the asymptotic growth rate. For example, the as- since only one operation is needed with the connection
ymptotic behavior of the function 17 + 5n + 2n? is 2n’, matrix representation, whereas the list representation
since, for sufficiently large n, 2n? approximates 17 + 5n + requires searching the entire list of vertices adjacent to
2n’ to arbitrary accuracy. For n > 100, the lower-order v; to see if v, is on the list.
terms account for less than 3%. Frequency Analysis. A frequency analysis of an algo-
In performing a hand computation, the size of the rithm reveals the number of times certain parts of the
problem is usually small, and consequently the asymp- algorithm are executed. Such an analysis indicates which
totic growth rate is unimportant. On such small problems, parts of the algorithm consume large quantities of time
most algorithms perform reasonably well. However, on a and hence where efforts should be directed toward im-
high-speed computer, the problem size normally encoun- proving the algorithm. For example, the following Pascal-
tered is large and the asymptotic growth rate becomes like function calculates
important. Given two algorithms with growth rates n? and
2", for problems up to size 6, the difference in execution N+1
times is never more than a factor of 2. However, with a aes
computer, a problem of size 100 might be encountered. In i=1
this case, the n’ algorithm is easily executed, whereas the
2” algorithm would require centuries to compute. This (1) function sum (a:array [1..N+1] of real;
example illustrates why so much effort is devoted to the x:real): real;
analysis of algorithms. (2) var
(3) i,j: integer;
(4) power_of_x: real;
Algorithm Complexity Space and Time. Economy
(5) term: array [1..N+1] of real;
of space and time are the most important aspects of
(6) begin
algorithm complexity. Since both are limited, it is advis-
(©) for i:= 1 to N do begin
able to determine how much space and time an algorithm
(8) power_of_x:= 1.0; N
requires. An algorithm that requires relatively little mem-
(9) for j:= 1 toido
ory space for execution may have a greater running time
(10) power_of_x:=
than another algorithm that requires more space, while
power_of_x * x; N(N-1)/2
both algorithms may provide a solution to the same prob-
(11) term[i]:= a[i+1] * power_of_x N
lem. Thus, there is frequently a trade-off between space
(12) end;
and time. (13) = sum:= a[1]; 1
As an example of a space-time trade-off, consider an
(14) fori:= 1toNdo
algorithm that requires the storage of an undirected
(15) sum:= sum + term[i] N
graph. (An undirected graph is a set V of n vertices, V=
(16) end;
(U,, Vy)..., V,), and a set E of edges, where an edge is an
unordered pair of vertices.) The algorithm stores the
The function is poorly written and just about every
graph as ann X n connection (or adjacency) matrix A,
statement can be changed to decrease the amount of time
where required. To the right of each assignment statement is the
1 if (uv, v,) is an edge in E number of times it is executed. As N increases, the func-
i | 0 otherwise. tion spends proportionately more and more time execut-
ing the statement inside the loop onj than it does for the
This requires n’ bits of memory, regardless of the number statements on lines 8, 11, 13, and 15. Thus, it is really futile
of edges. to try to improve the function by decreasing the time
Assume that the algorithm is used only for planar spent executing the latter statements without first de
graphs. (A planar graph is an undirected graph that can creasing the time spent executing the innermost state-
be drawn on a plane surface so that no edges intersect.) ment on line 10. The function can be improved by using
Let G be a planar graph with p vertices. Then G can be Horner’s rule for polynomial evaluation. Again, the num-
represented in the computer by a linked list of n vertices, ber of times each assignment statement is executed is
where the data structure for each vertex v, is a linked given at its right.
“
32 ALGORITHMS, ANALYSIS OF
(1) function sum (a‘array [1..N+1] of real; a lower asymptotic growth rate. Consider multiplying two
x:real): real; n-digit numbers, where n is a power of 2. The usual algo-
(2) begin rithm learned in elementary school requires on the order
(3) sum:= a[N+1]; 1 of n? operations. A recursive method of multiplying two
(4) for i:= N downto 1 do n-digit numbers x and y is to write x = a10"” + candy =
(5) sum:= sum*x + a[i] N b10"? + d, where a, b, c, and d are n/2-digit numbers.
(6) end; Compute ab, cd, and ad + bc. Then
xy = ab10° + (ad + bc)10%” + cd
Execution Time _ To determine the actual execution
time of an algorithm in seconds requires a knowledge of The problem of computing xy is reduced to the prob-
the operation times for each instruction of the computer lem of computing ab, cd, and ad + bc, which are computed
on which the algorithm is to be executed and how the by the three multiplications ab, cd, and (a + c) (6 + d).
compiler generates code. In order to avoid becoming The formula ad + bc is obtained by (a + c) (6 + d) — ab
involved in the specific details of operation of a particular — cd. Let T(n) be the time to compute the product of two
computer, it is customary to find upper and lower bounds n-digit numbers. Then 7(n) = 3 T(n/2) + kn, where the
c, and c,, such that the execution time of every instruction 37(n/2) is the time to compute the three multiplications,
is between c, and c,. Then the execution time of an algo- kis a nonnegative constant, and kn is the time to compute
rithm can be estimated from a count of the number of the necessary sums. Successively applying the formula
operations that are executed. This frees the analysis of above to each product, we obtain
the algorithm from peculiarities of individual computers.
Frequently, the time required by an algorithm is data kn(1 .3+ (3/2)
Tin) ~= 3kn!8 +(8/2)? +... + (3/2)°%"
dependent. In this case, one of two types of analyses is ~ 3kn!8
possible. The first is called the “worst case analysis,” in
The asymptotic growth rate is of order n'8 rather than
which that set of data of given size requiring the most
the n? of the more elementary method. The important
work is determined and the behavior of the algorithm is
observation is that, in computing ab, cd, and ad + bc, the
analyzed for that specific set of data. The other alterna-
number of multiplications was reduced from four to three
tive is to assume a probability distribution for the possi-
at the expense of increasing the number of additions from
ble input data and compute the distribution of the
one to four. The reason for doing this is that the exponent
execution time as a function of the input distribution.
in the asymptotic growth rate is affected by the number
Usually, this computation is so difficult that only the ex-
pected or average execution time as a function of size is of multiplications, whereas the number of additions af-
fects only the constant.
computed. This is called the “average case analysis.”
A major difficulty with problem analysis is that it is
Problem Complexity In problem complexity we are concerned with the class of all algorithms for a given prob-
concerned with analyzing a problem rather than an algo- lem. One can no longer postulate a computer with a given
rithm. The analysis provides us with lower bounds on the structure and operation set. Instead, one must envision an
amount of time and space required for a solution to the abstract computer that is sufficiently general to encom-
problem, independent of the algorithm used. The lower pass any physically implementable algorithm. The difficul-
bounds may be either “worst case” or “average case” ties involved are of such magnitude that one is forced to
bounds. These lower bounds can serve as an indication of obtain bounds for certain limited classes of programs. For
how well an algorithm fits the problem and whether it can example, sorting nintegers can be shown to requirenlogn
be improved. For example, such an analysis shows that operations if restricted to the class of algorithms that sorts
any algorithm that evaluates an arbitrary n-degree poly- by binary (two at a time) comparisons. This follows from
nomial represented by its coefficients requires at least n the simple information-theoretic argument that there are
multiplications and n additions. Thus, Horner’s rule can- n! possible permutations of n items, and each comparison
not be improved upon. can at best divide the set of possible permutations bya fac-
On the other hand, an analysis of matrix multiplica- tor of 2. Since the asymptotic growth rate of log(n!) is nlog
tion gives a lower bound of order n? operations for multi- n, it takes at least n log n comparisons to determine
plying two matrices of dimension n. The usual matrix uniquely the actual permutation. Of course, if one sorts by
multiplication algorithm has an asymptotic growth rate of some method other than by comparisons (radix sort, for
order n°. Thus there is substantial interest in trying either example), then the bound is no longer valid.
to find a better lower bound or to improve on the current A typical assumption for aclass of programs might be
matrix multiplication algorithms. At the current state of that the computation uses only the arithmetic operations
knowledge, the fastest algorithm has an asymptotic of addition, subtraction, multiplication, and division.
growth rate of order n?°”°, and thus there is a large gap When this is done, it is necessary to specify the underly-
between the best known lower bound and the perfor- ing algebraic structure. For example, the complexity of
mance of the best known algorithm. computing an algebraic expression may depend on
In problem analysis, it is often important to consider whether the underlying structure is the rational, real, or
the frequency of occurrence of a specific operation. The complex number system.
reason is that reducing the number of occurrences of a One of the most powerful techniques for establishing
specific operation can lead to a recursive algorithm with results of this nature is due to Winograd, who showed that
ALGORITHMS, DESIGN AND CLASSIFICATION OF 33
any algorithm for computing the product of an arbitrary mine that no algorithm exists for a particular problem, it
vectorX times a matrixA requires a number of multiplica- is usually the case that at least one does—the challenge
tions at least as great as the number of independent is to find it. Once an algorithm is found, one can then
columns of A. It immediately follows from this result that analyze its time and space efficiency. But that leads to the
Horner’s rule evaluates arbitrary n-degree polynomials question of whether another, faster algorithm for this
with the minimum number of multiplications. Let X = (x, problem exists. So, algorithm design is a subject as im-
x"! ...,x,1) and let A= (@,,,,,@,,...,a,)”. Then portant as algorithm analysis.
The study of algorithm design techniques has two im-
+1 ;
portant payoffs. First, it leads to an organized way to de-
XA= axa
i=1 vise new algorithms. Algorithm design techniques give
guidance and direction on how to create a new algorithm.
X has n nondependent columns, which implies that n Though there are literally thousands of algorithms, there
multiplications are required. The result requires that the are very few design techniques. Second, the study of these
algorithm evaluate any polynomial, given its coefficients. techniques helps us to categorize or organize the algo-
Specific polynomials can often be evaluated with fewer rithms we know and in that way to understand them better.
multiplications. Similarly, if the polynomial is specified by The remainder of this article discusses a basic set of
parameters other than its coefficients, a saving in the design strategies. Each section describes the strategy in
number of multiplications is possible. general terms and gives one concrete example. It con-
The one facet of problem complexity that is most cludes with some well-known algorithms that are specific
intriguing is the lack of nontrivial lower bounds for vari- cases of the design technique.
ous problems. Almost all known lower bounds are either
linear in the size of the problem or have been obtained by Divide-and-Conquer The divide-and-conquer strat-
restricting the classes of algorithms. The notable excep- egy suggests that a problem should be split into sub-
tions are lower bounds obtained by the diagonalization problems, which are somehow solved, and then the
techniques of recursive function theory. One of the major solutions are combined into a solution for the original
goals of computer scientists working in the analysis of problem. Usually, the subproblems are solved in the same
algorithms is to close the gaps in our knowledge of prob- way—by splitting, solving, and combining—and this can
lem complexity. often be done recursively. It is generally advisable to split
the problems into roughly equal size subproblems.
References An ideal example of divide-and-conquer is mergesort,
1968, 1969, 1973. Knuth, D.E. The Art of Computer Programming 1, a method for sorting. The method proceeds as follows: di-
2, 3. Reading, MA: Addison-Wesley. vide the set into two approximately equal size sets. Then
1974. Aho, Alfred V., Hopcroft, John E., and Ullman, Jeffrey D. The sort each set individually. Next, take the resulting sorted
Design and Analysis of Computer Algorithms. Reading, MA: subsets and merge them to produce a single sorted set for
Addison-Wesley. the entire data. The algorithm is recursive so that, to sort
1976. Wirth, Niklaus, Algorithms + Data Structures = Programs. one-half of the data, the data is divided into two roughly
Englewood Cliffs, NJ: Prentice Hall.
equal parts, sorted, and then merged. A recursive version
JOHN E. Horcrort, JEAN E. MUSINSKI, AND ANNE NEIRYNCK of this algorithm written in Pascal is shown in Fig. 1.
Procedure mergesort is written to sort the consecu-
tive elements in the array x from index low to high. The
_ procedureis started with low = J and high = n.If, for some
ALGORITHMS, DESIGN AND invocation of mergesort, low >= high, the procedure ends
CLASSIFICATION OF without doing anything. Otherwise, the index of a middle
element is computed and assigned to mid. This deter-
For articles on related subjects see ALGORITHM; ALGORITHMICS; mines two subsets, which are sorted using recursive calls
ALGORITHMS, ANALYSIS OF; ALGORITHMS, THEORY OF; COMBINATO-
RICS; COMPUTATIONAL COMPLEXITY; GRAPH THEORY; SEARCHING; procedure mergesort (var x: afile; low, high: integer);
and SORTING. {the consecutive elements (x[low],..., x[high]) are
sorted.}
var mid. integer,
Introduction Algorithms are a central field of com-
puter science. A great deal of emphasis has been placed begin
if low < high then
on the analysis of algorithms, determining the time and
begin
space required for an algorithm during execution. An
mid := (low + high) div 2,
equally important topic is the design and classification of
mergesort (x,low,mid); {apply algorithm recursively}
algorithms.
mergesort (x,mid+ 1, high); {apply algorithm
The design of algorithms attempts to answer the
recursively}
question: “How does one devise an algorithm in the first
merge (x,low,high); {merge the two results}
place?” When faced with a problem for which an algo-
end
rithm is needed, one might first ask if an algorithm for this
end; {mergesort}
problem even exists. (see ALGORITHMS, THEORY OF and UN-
DECIDABLE PROBLEMS). Although it is very difficult to deter- FIG. 1A Pascal version of Mergesort.
34 ALGORITHMS, DESIGN AND CLASSIFICATION OF
to mergesort. We assume that the merge procedure is greedy heuristic, will always produce an answer that is
smart enough to merge the two ordered sequences within four-thirds of the optimal result. Thus, the greedy
x[low],...x[mid] and x[mid+ 1],...,x[high] into a single or- method gives an algorithm whose time is the time re-
dered sequence stored in x/low],...x[high]. quired to sort n elements and whose answer is thus
Additional examples of divide-and-conquer algo- guaranteed never to get too bad.
rithms are quicksort and Strassen’s matrix multiplication Further examples of successful greedy algorithms are
algorithm (see STRUCTURED PROGRAMMING for an im- optimal storage on tapes, Huffman codes, minimal span-
plementation of quicksort). ning trees, and finding a shortest path in a graph (see
GRAPH THEORY).
Greedy Method Given a set of inputs and some cri-
teria for determining when a solution is both feasible and Dynamic Programming Dynamic programming
optimal, the greedy method suggests an algorithm that arises when the only algorithm we can think of is enumer-
works in stages. At each stage, a decision is made regard- ating all possible configurations of the given data and
ing whether an input combination is feasible and better or testing each one to see if it is a solution. An essential idea
worse than the previous solution. At the end of the final is to keep a table that contains all previously computed
stage, the best solution is obtained. Though greedy algo- configurations and their results. If the total number of
rithms don’t always produce the best result, they do work configurations is large, the dynamic programming algo-
in some cases. Moreover, they are often helpful in deriving rithm will require substantial time and space. However, if
approximation algorithms when the optimal algorithm there are only a small number of distinct configurations,
takes intolerably long. dynamic programming avoids recomputing the solution
The greedy strategy leads to a simple sorting algo- to these problems over and over.
rithm that works this way: look at the remaining elements To determine if there are only a small number of
to be sorted, select the smallest, and place it at the end of distinct configurations, one needs to detect when the
the list of already sorted elements. This is called selection so-called principle of optimality holds. This principle as-
sort, and its computing time on n elements is O(n’). serts that every decision that contributes to the final
As an example of how the greedy method can be used solution must be optimal with respect to the initial state.
to create an approximation algorithm, suppose you have When this principle holds, dynamic programming drasti-
m machines, all identical, and you have a set of n jobs that cally reduces the amount of computation by avoiding the
need to be carried out on the machines, n > m. The times enumeration of some decision sequences that cannot
for the n jobs vary. You want to schedule the jobs on the possibly be optimal.
machines so as to complete all of the jobs in the shortest As a simple example, consider computing the n-th
time possible. For example, suppose you have three ma- Fibonacci number, F,, where F, = F,_, + F,,_» and F, = F,
chines and seven jobs with times 13, 13, 13, 14, 14, 15, and = 1. The first few elements of this famous sequence are 1,
15 hours. One sample schedule would be to place job 1 on 1, 2, 3, 5, 8, 13, 21, 34,... The obvious recursive algorithm
machine 1, job 2 on machine 2, and job 3 on machine 3. All for computing F_ suffers from the fact that many values of
three machines will be available after 13 hours, so then we F, are computed over and over again. The total time for
can assign job 4 to machine 1, job 5 to machine 2, and job this recursive version is exponential. However, if we fol-
6 to machine 3. Finally, job 7 is placed on machine 1. The low the dynamic programming strategy and create a table
finish time for this schedule, the time the last job finishes, that contains all values of F. as they are computed, a linear
is 42 hours. time algorithm results.
A superior assignment is to place jobs 7 and 5 on Some examples of dynamic programming algorithms
machine 1, jobs 6 and 4 on machine 2, and jobs 1, 2, and 3 are optimal binary search trees, optimal matrix arrange-
on machine 3. For this assignment of jobs to machines, the ments, and the all pairs shortest path problem.
finish time is 39 hours.
The best known algorithm that always finds the opti- Basic Traversal and Search Often, complex ob-
mal (shortest time) assignment of jobs to processors for jects are stored in a computer using a specific data struc-
arbitrary m, n, and job times takes exponential time. For ture (q.v.). The data structure consists of nodes that
most reasonable size problems, that makes the exact contain fields. These fields may contain either data or
solution infeasible. Therefore, an algorithm that produces pointers to other nodes. Thus, a particular instance of
a reasonably good approximation quickly is desirable. some object may include many nodes, all connected in an
The greedy method provides such a strategy. It suggests intricate pattern. Some typical examples of objects would
that we consider only one job at a time, assigning it to the be lists, trees, binary trees, and graphs.
next processor that becomes free. We add something a Often, one wants to devise an algorithm that com-
little extra, namely that the jobs should first be placed in putes a function of the data object. The traversal-and-
decreasing (or non-increasing) order. For our example search strategy for developing such an algorithm is to
above, that places job 7 on machine 1, job 6 on machine move along the data structure from node to node and
2, and job 5 on machine 3 at time zero. In 14 hours we can collect information. After all nodes have been reached,
place job 4 on machine 3, and then job 3 on machine 1 and the final answer should be known.
job 2 on machine 2. Finally, job 1 is placed on machine 1. One simple example is the evaluation of an expres-
The total time to process all jobs is 41 hours. Ron Graham sion (q.v.) stored in a tree. For simplicity, we shall con-
has shown that this approximation algorithm, using the sider a binary tree. Fig. 2 shows such a tree, with its
ALGORITHMS, DESIGN AND CLASSIFICATION OF 35
as above by backtracking to column 7 after each solution ally, all solutions will be produced. With effective
is found. Fig. 5 shows the entire backtracking process bounding functions, branch-and-bound can be
when we try to place 4 queens on a 4 X 4 board. quite efficient.
Backtracking algorithms have been very successful Transformation of domain: Sometimes it is easier
for games such as checkers and chess. Backtracking is to transform the data for a problem into another
also very valuable for solving various combinatorial opti- domain, solve the problem in the new domain, and
mization problems such as the knapsack and traveling then transform the solution back to the original
salesman problems (see NP-COMPLETE PROBLEMS). domain.
One example is the way a digital computer
does arithmetic. Though it accepts and displays
Other Algorithm Design Techniques numbers using decimal notation, it translates all
Some other design techniques which we can describe
numbers into binary notation before doing arith-
only briefly are:
metic on them. It is easier for a computer to work
e Branch-and-bound: This design strategy is similar with binary numbers than with decimal numbers.
to backtracking in that it attempts to find one or Other examples of domain transformation in-
more vectors that satisfy some criteria. It differs in clude the Fast Fourier transform (q.v.), the
the way that elements of a possible solution are Schwartz-Christoffel transformation of complex
generated and explored. Instead of generating a variable theory, and algebraic operations such as
solution vector element by element, all possible polynomial arithmetic, greatest common divisor
candidates for the next entry are produced and calculations, and factorization.
stored in a set. Elements in this set are said to be Preconditioning: If we have an algorithm that we
“alive.” One is chosen for expansion, and functions know will be executed many times, sometimes we
are used to prune the set of candidate elements. can improve its speed by precomputing a set of
To see more concretely the difference between values. As these values are available during execu-
backtracking and branch-and-bound, consider tion, the algorithm can work faster.
again the 4-queens problem. The backtracking algo- Suppose we have a binary tree and we are
rithm assumed that the first queen is placed on lo- given a pair of nodes, i and j. We want to answer the
cation [1,1] of the chessboard. It then computes a question: is i an ancestor of j? We could use the
single placement for the second queen. In branch- algorithm given earlier to traverse the tree and, if i
and-boun4d, all possible queens in column 1, namely is a subtree of j, then it must be an ancestor. How-
those occupying rows 1, 2, 3, and 4, are produced. ever, the time for this algorithm is linear in the
These are kept ina list and one is removed (say the number of nodes in the tree. Though precondition-
queen at position [1,1]). Nowall possibilities for the ing gives us the idea that precomputing some val-
second queen are generated, namely the queens in ues will give us a faster algorithm, the challenge is
column 2, rows 1, 2,3, and 4. The queen in column 2, to determine what precomputed values would be
row | is considered and rejected according to the useful. The idea is to first traverse the tree in
“non-attacking” criteria. In branch-and-bound par- preorder and then in postorder, assigning consec-
lance, this is termed the bounding function. Eventu- utive integers to the nodes as one goes. (In preor-
ALGORITHMS, THEORY OF 37
der, an integer is assigned the first time a node is Note that what Hermes calls “a general procedure” is
reached.) Then iis an ancestor of j if and only if the what Minsky calls an “effective procedure” is what
preorder(i) <= preorder (j) and postorder(i) >= Hopcroft and Ullman call a “procedure.” Other terms are
postorder(j). Therefore, if we are given any i, j pair also used in the literature, and some authors use the word
of nodes, only two comparisons are needed to “algorithm” to denote any procedure whatsoever. In the
answer the question of ancestry. remainder of this article, the Hopcroft and Ullman termi-
Other examples of successful use of precondi- nology will be used.
tioning are repeated evaluation of a polynomial The notion of a procedure cannot be divorced from
and searching for a pattern within a string (see the environment in which it operates. What may be a
STRING PROCESSING). procedure in certain situations may not be considered a
procedure in other situations. For example, the instruc-
References tions of a computer program are not usually understood
1966. Nemhauser, G. /ntroduction to Dynamic Programming. New by most people. Alternatively, the description of a chess
York: John Wiley and Sons. game that appears in a newspaper is a perfectly clear
1976. Lawler, E. L. Combinatorial Optimization: Networks and algorithm for a chess player who wants to reproduce the
Matroids. New York: Holt, Rinehart, and Winston. game, but it is quite meaningless to people who do not
1978. Horowitz, E. and Sahni, S$. Fundamentals of Computer Algo- play chess. Thus, when we talk about a procedure as a
rithms. New York: Computer Science Press, division of W. H. finite sequence of instructions, we assume that whoever
Freeman. is supposed to carry out those instructions, be it human
1978. Sahni, S. and Horowitz E. “Combinatorial Problems: Reduc- or machine, understands them in the same way as who-
ibility and Approximation.” Operations Research, 26, 4, 718- ever gave those instructions.
759.
Another sense in which the environment influences
1984. Bentley, J. “Programming Pearls: Algorithm Design Tech-
niques.” Communications ACM, 27, 9, 865-871.
the notions of procedure and algorithm is indicated by
1988. Brassard, G. and Bratley, P. Algorithmics Theory and Prac- the following examples. If the instruction requires us to
tice. Englewood Cliffs, NJ: Prentice-Hall. take the integral part of the square root of a number, such
an instruction can be carried out if we are dealing with
ELS HOROWITZ positive integers only, but it cannot always be carried out
if we are dealing with both positive and negative integers.
Thus, the same set of instructions may or may not be a
procedure, depending on the subset of integers for which
ALGORITHMS, THEORY OF it is intended. Alternatively, we can easily give a proce-
For articles on related subjects see ALGORITHM; ALGORITH- dure that, given an integer x, keeps subtracting 1 until 0 is
MICS; ALGORITHMS, ANALYSIS OF; COMPUTATIONAL COMPLEXITY; reached and then stops. Such a procedure will be an
FORMAL LANGUAGES; NP-COMPLETE PROBLEMS; and TURING MA- algorithm if we intend to use it for positive integers only,
CHINE. but it will not be an algorithm if we also intend to apply it
to negative integers.
The meaning of the word algorithm is somewhat The recognition of whether or not a sequence of
vague. In order to have a theory of algorithms, we need a instructions is a procedure or an algorithm is a subjective
mathematically precise definition of algorithm. Many au- affair. No precise theory can be built on the vague defini-
thors have tried to capture the essence of the intuitive tions given above. In trying to build a precise theory, one
notion of an algorithm. We give four examples. must examine the situations in which the notion of algo-
_ rithm is used. In the theory of computation, one is mainly
Hermes (1965). “An algorithm is a general procedure concerned with algorithms that are used either for com- -
such that for any appropriate question the answer puting functions or for deciding predicates.
can be obtained by the use of a simple computation A function f with domain D and range R is a definite
according to a specified method....[A] general pro- correspondence by which there is associated with each el-
cedure [is] a process the execution of which is ement x of the domain D (referred to as the “argument”) a
clearly specified to the smallest details.” single element f(x) of the range R (called the “value”). The
Minsky (1967). “...an effective procedure is a set of function fis said to be computable (in the intuitive sense) if
rules which tells us, from moment to moment, pre- there exists an algorithm that, for any given x in D, pro-
‘cisely
how to behave.” vides us with the value f(x). An example of a computable
Rogers (1967). “...an algorithm is a clerical (i.e. deter- function is one that associates, with any pair of positive in-
ministic, bookkeeping) procedure which can be ap- tegers, their greatest common divisor. It is computable by
plied to any of a certain class of symbolic inputs and the well-known Euclidean algorithm (Knuth 1973).
which will eventually yield, for each such input, a A predicate P with domain D is a property of the
corresponding symbolic output.” elements of D that each particular element of D either has
Hopcroft and Ullman (1979). “A procedure is a finite or does not have. If x in D has the property P, we say that
sequence of instructions that can be mechanically P(x) is true; otherwise, we say that P(x) is false. The
carried out, such as a computer program....A pro- predicate P is said to be decidable (in the intuitive sense)
cedure which always terminates is called an algo- if there exists an algorithm that, for any given x in D,
rithm. provides us with a definite answer to the question of
38 ALGORITHMS, THEORY OF
whether or not P(x) is true. An example of a decidable thesis (sometimes as Turing’s thesis). Such a claim can
predicate over the set of integers greater than 1 is the never by “proved,” since one of the two notions whose
predicate that determines whether a number is or is not equivalence is claimed is mathematically imprecise. How-
prime. An algorithm for implementing this predicate is ever, there are many convincing arguments in support of
described by Hopcroft and Ullman (1979). Church’s thesis, and an overwhelming majority of work-
The computability of functions and the decidability ers in the theory of algorithms accept its validity. One of
of predicates are very closely related notions because we the strongest arguments in support of Church’s thesis is
can associate with each predicate P a function fwith range the fact that all of the many diverse attempts at precisely
{0,1} such that, for allxin the common domain D of P and defining the concept of computable function have ended
f f(x) = Oif P(x) is true and f(x) = 1 if P(x) is false. Clearly, up with defining exactly the same set of functions as can
Pis decidable if and only if fis computable. For this reason be computed by a Turing machine.
we will hereafter restrict our attention to the computabil- Given a precise definition of a computable function,
ity of functions. it is now possible to show for particular functions
A further restriction customary in the theory of algo- whether they are or are not computable. We will give two
rithms is to consider only functions whose domain and examples.
range are both the set of non-negative integers. This is Example 1. Consider the following problem. Give an
reasonable, since, in those situations where the notion of algorithm that, for any Turing machine, decides whether
a procedure makes any sense at all, it is usually possible or not the machine eventually stops if it is started on an
to represent elements of the domain and the range by empty tape. This problem is called the “blank-tape halting
non-negative integers. For example, if the domain com- problem.” The required algorithm would be considered a
prises pairs of non-negative integers, as in the case with solution of the problem. A proof that there is no such
an arithmetic function of two arguments, we can repre- algorithm would be said to show the (effective) un-
sent the pair (a,b) by the number 273° in an effective solvability of the problem.
one-to-one fashion. If the domain comprises strings of The blank-tape halting problem is in fact unsolvable.
symbols over an alphabet of 15 letters, we can consider This is proved by rephrasing it as a problem about the com-
the letters to be non-zero hexadecimal digits, and assign putability of a function, as follows: Turing machines can be
that non-negative integer to a string that is denoted by the Gédel-numbered in an effective manner; i.e. there exists an
string in the hexadecimal notation. The device of repre- algorithm that for any Turing machine will give its Gédel
senting elements of a set D by non-negative integers is number. Furthermore, this can be done in such a way that
referred to as arithmetization or Gddel numbering, after every non-negative integer is the G6del number of some
the logician Kurt Gédel, who used it to prove the un- Turing machine. Let fbe the function defined as follows.
decidability of certain predicates about formal logic.
From now on we will be exclusively concerned with func- 0 if nis the Godel number of aTuring
tions whose domain and range are subsets of the set of machine that eventually stops if
non-negative integers. f(n) = started on the blank tape;
In order to show that a certain function is comput-
able, it is sufficient to give an algorithm that computes it. 1 otherwise.
But, without a precise definition of an algorithm, all such
demonstrations are open to question. The situation is It is easy to see that fis computable if and only if the
even more uncertain if we want to show that a given blank-tape halting problem is solvable. The unsolvability
function is uncomputable, i.e. that no algorithm whatso- of the blank-tape halting problem is proved by showing
ever computes it. In order to avoid such uncertainty, we that the assumption that fis computable leads to a con-
need a mathematically precise definition of a computable tradiction.
function. One possible way of making the concept precise Example 2. Our second example indicates that there
is to define an appropriate type of machine, and then are unsolvable problems in classical mathematics. The
define a function to be computable if and only if it can be following problem is known as “Hilbert’s tenth problem”
computed by such a machine. This has indeed been done. (after the German mathematician David Hilbert, 1862-
The machine usually used for this purpose is the Turing 1943):
machine (q.v.). This simple device has a tape and a read- Given a diophantine equation [an equation of the
write head, together with a control that may be in one of form E = 0, where £ is a polynomial with integer coeffi-
finitely many states. The tape is used to represent num- cients; e.g. xy? — 2x? + 3 = 0] with any number of vari-
bers. A function f is called computable if there exists a ables, give a procedure with which it is possible to decide
Turing machine that, given a tape representing an argu- after a finite number of operations whether or not the
ment x, eventually halts with the tape representing the equation has a solution in integers.
value f(x). Since a precise definition of a Turing machine Although this problem was stated by Hilbert in 1900
can be given, the notion of a computable function has (long before there was such a thing as a theory of algo-
become a precise mathematical notion. rithms), only recently did the Russian mathematician I.
The question arises whether or not it is indeed the Matiajasevitch show it to be unsolvable.
case that a function is computable in the intuitive sense if That there are clearly defined problems, like the two
and only if it is computable by a Turing machine. The given above, that cannot be solved by any computer-like
claim that this is true is usually referred to as Church’s device is probably the most striking aspect of the theory
AMERICAN ASSOCIATION FOR ARTIFICIAL INTELLIGENCE (AAA!) 39
of algorithms. A whole superstructure has been built on gent thought and action, and how these can be embedded
such results, and there are methods to find out not only in computational systems. Founded in 1979 to serve the
whether something is uncomputable, but also how badly American Artificial Intelligence (Al community, by 1991 it
it is uncomputable (see Rogers, 1967). had about 13,000 members from all over the world. As a
A typical question that one may ask is the following: technical society, it is concerned not only with basic
Suppose we had a device that, for any given Turing ma- research in Al, but with AI applications that increase
chine, told us whether or not the Turing machine will understanding of the science, and with the integration of
eventually stop on the blank tape. Can we write an “algo- Al technology into broader social and computational con-
rithm” that makes use of this device and solves Hilbert’s texts.
tenth problem? It has been known for some time that such
an “algorithm” exists. In this sense, Hilbert’s tenth prob- History Artificial intelligence is a term invented by
lem is reducible to the blank-tape halting problem. It is the John McCarthy in 1956 in connection with a conference
proof that the reverse is also true, which gave us the concerned with computational mechanisms that could
unsolvability of Hilbert’s tenth problem. Two problems lead to intelligent behavior. What those mechanisms are
that are both reducible to the other are said to be equiva- and how to explore the science behind such mechanisms
lent. Most of the theory of algorithms has, until recently, has been evolving since that time. Early in the 1960s, a
concerned itself with questions of the reducibility and special interest group on artificial intelligence (SIGART)
equivalence of various unsolvable problems. was founded as part of the ACM and sessions on Al were
In recent years, much of the activity in the theory of made part of the ACM national conference. In 1969, the
algorithms has been concerned with computable func- first International Joint Conference on artificial intelli-
tions, decidable predicates, and solvable problems. Ques- gence (IJCAI) was held in Washington, D.C. IJCAI conferen-
tions about the nature of the algorithms, the type of ces were held in 1971, 1973, and 1975, alternately in North
devices that can be used for the computation, and about America and overseas. Then in 1977 an organization was
the difficulty or complexity of the computation have been formed and incorporated to run further biennial con-
investigated and are discussed in other articles. ferences, with a North American venue to be expected
every four years.
References In 1979, a group of Americans headed by Raj Reddy
(general chair of the 1979 IJCAI conference) recognized
1965. Hermes, H. Enumerability, Decidability, Computability. Ber-
that the American Al community needed more frequent
lin, Germany: Springer-Verlag.
1967. Minsky, M. Computation: Finite and Infinite Machines. Engle- conferences in the United States each year to report the
wood Cliffs, NJ: Prentice-Hall. increasing research in the field. The American Associa-
1967. Rogers, H. Theory of Recursive Functions and Effective Com- tion for Artificial Intelligence was incorporated in 1980,
putability. New York: McGraw-Hill. and had its first annual conference that year. The follow-
1973. Knuth, D.E. “The Art of Computer Programming; Fundamen- ing have served (or will serve) as president of the society:
tal Algorithms,” 2nd Ed. Reading, MA: Addison-Wesley.
1979. Hopcroft, J.E. and Ullman, J.D. Introduction to Automata, Allen Newell 1979-80
Languages, and Computation. Reading, MA: Addison-Wesley. Edward Feigenbaum 1980-81
Marvin Minsky 1981-82
GABOR T. HERMAN Nils Nilsson 1982-83
John McCarthy 1983-84
Woodrow Bledsoe 1984-85
Patrick Winston 1985-87
ALLOCATION, STORAGE. See STORAGE Raj Reddy 1987-89
Daniel Bobrow 1989-1991
ALLOCATION.
Patrick Hayes 1991-1993
Barbara Grosz 1993-1995
ALU. See Arirumetic-Locic UNIT. Organizational Structure The AAAI has stead-
fastly maintained minimal organizational structure. It is
run by a council consisting of the president, past presi-
dent, president elect, and 12 councillors elected at large.
AMERICAN ASSOCIATION FOR It has only one class of membership, with a special lower
ARTIFICIAL INTELLIGENCE (AAAI) fee for students. A small number of members are honored
by being elected AAAI Fellows each year, with the total
For articles on related subjects see ARTIFICIAL INTELLIGENCE; number of fellows staying below 2% of the membership.
EXPERT SYSTEMS; KNOWLEDGE. REPRESENTATION; NATURAL LAN- There are currently 97 fellows. Special interest subgroups
GUAGE PROCESSING; and ROBOTICS. in medicine, manufacturing, law, and business are sup-
ported by specialized mailings.
Purpose The American Association for Artificial Intel- The administration of the organization has been
ligence is a scientific society devoted to the study of the maintained by a small professional staff. Lou Robinson
theory, knowledge, and mechanisms that underlie intelli- served as executive director for the first three conferen-
40 AMERICAN FEDERATION OF INFORMATION PROCESSING SOCIETIES (AFIPS)
ces, and was succeeded by Claudia Mazzetti who held adopted a set of resolutions which resulted in the disso-
the post for nine years. Caro] Hamilton has been man- lution of AFIPS on 31 December 1990. Following this dis-
aging the office since 1991. Communications can be sent solution, the two most significant societies in AFIPS, ACM
to: AAAI, 445 Burgess Drive, Menlo Park Ca. 94025-3496 and the IEEE Computer Society, engaged in discussions on
USA, Phone: 415-328-3123, FAX: 415-321-4457, Email: aaai- how to handle the continuing obligations of AFIPS, partic-
[email protected]. ularly the U.S. representation in IFIP (q.v.). In 1991, these
Technical Program: The technical program is run by two societies formed a new joint committee FOCUS (Fed-
volunteers within the organization. The major activity of eration on Computing in the United States) with the pur-
the society is the annual scientific meeting, which has poses of representing U.S. computing interests in IFIP as
been attended in recent years by 4,000 to 5,000 people. In well as fostering cooperation among the two societies and
years in which IJCAI is in North America, AAAI and IJCAI others that may join FOCUS in the future.
jointly sponsor the meeting. The conference topics in- AFIPS’s primary objectives were to:
clude automated reasoning, cognitive modeling, educa-
tion, enabling technology, knowledge representation, e Promote cooperation, educational programs, and
machine learning, mathematical foundations, natural lan- information exchange in the field of information
guage, robotics, perception and signal understanding, processing among educational and scientific soci-
planning and scheduling, reasoning about physical sys- eties, the U.S. Congress and various U.S. govern-
tems, and intelligent user interfaces. This National Confer- ment agencies, and the public at large.
ence on Artificial Intelligence also features industrial e Provide leadership in the organization and con-
exhibits, an extensive tutorial program, and a series of duct of educational and scientific information pro-
specialized workshops. Co-located with the National Con- cessing activities.
ference is a conference on Innovative Applications in Ar- e Develop and promote integrity and competence in
tificial Intelligence. The AAAI also runs Spring and Fall the information processing professions.
Symposia on leading edge topics, with small groups of 40 e Serve as the official U.S. representative to the Inter-
to 60 people, and sponsors other small workshops in national Federation of Information Processing
specialized areas throughout the year. (IFIP).
AAAI publishes the quarterly AJ Magazine, and pro-
vides members with reduced-price access to qualified
technical journals, such as Artificial Intelligence and Ma- Activities AFIPS was chartered in 1961 for the purpose
chine Learning. Books resulting from conferences, sympo- of providing a structure in which professional societies
sia, and workshops sponsored by AAAI are published by with a primary interest in information processing could
AAAI Press, a co-publishing effort with M.LT. Press. join forces for their mutual benefit. Its membership grew
to 11 organizations, representing a wide gamut of profes-
DANIEL G. BOBROW sional activities in the computing field. The Federation
carried out programs to promote the integrity and
effectiveness of the profession. These activities included
sponsoring major computer conferences and seminars,
AMERICAN FEDERATION OF publishing books and periodicals on current and histori-
INFORMATION PROCESSING cal developments in the field, working with entities of the
SOCIETIES (AFIPS) U.S. government to provide accurate and timely informa-
tion on computer-related activities, and acting as the
For articles on related terms see AMERICAN SOCIETY FOR official U.S. representative to IFIP.
IFORMATION SCIENCE; ASSOCIATION FOR COMPUTING MACHINERY;
INTERNATIONAL FEDERATION FOR INFORMATION PROCESSING; INSTI
How Established AFIPS was organized as an unin-
TUTE OF ELECTRICAL AND ELECTRONIC ENGINEERS—COMPUTER SO-
corporated society on 10 May 1961. It was the outgrowth
CIETY; SOCIETY FOR INDUSTRIAL AND APPLIED. MATHEMATICS; and
of the National Joint Computer Committee, which had
INTERNATIONAL SOCIETY FOR TECHNOLOGY IN EDUCATION.
been established ten years earlier to sponsor the Joint
Computer Conferences. The AFIPS founding societies
Objectives The American Federation of Information were the American Institute of Electrical Engineers and
Processing Societies (AFIPS) was composed of 11 major the Institute of Radio Engineers (which later merged into
national professional societies whose members were en- the Institute of Electrical and Electronic Engineers), and
gaged in all facets of the design, application, and manage- the Association for Computing Machinery.
ment of information processing systems. Dedicated to The presidents who held office at AFIPS were:
non-profit scientific and educational purposes, the Feder-
ation acted on behalf of its approximately 240,000 constit- Morton M. Astrahan, 1956-1958
uents, to work for the benefit of the profession in those Harry H. Goode, 1959-1960
areas that did not compete with programs of the member Morris Rubinoff, 1960-1961
societies and in which working as a Federation was effec- Willis Ware, 1961-1962
tive because of the larger number of professionals repre- J. D. Madden, 1963
sented. Edwin L. Harder, 1964-1965
On 13 October 1990 the AFIPS Board of Directors Bruce Gilchrist, 1966-1967
AMERICAN SOCIETY FOR INFORMATION SCIENCE (ASIS) 41
Paul Armer, 1968 for scientific, literary, and educational purposes, and ded-
Richard I. Tanaka, 1969-1970 icated to the creation, organization, dissemination, and
Keith W. Uncapher, 1971 application of knowledge concerning information.and its
Walter L. Anderson, 1972 transfer, with particular emphasis on the applications of
George Glaser, 1973-1975 modern technologies in these areas.
Anthony Ralston, 1975-1976 An auxiliary purpose of the Society is to provide its
Theodore J. Williams, 1976-1978 members with a variety of channels of communication
Albert S. Hoagland, 1978-1980 within and outside the profession, including meetings and
J. Ralph Leatherman, 1980-1981 publications, and with a service organization to help
Sylvia Charp 1982-1983 them in their professional development and advance-
Stephen S. Yau 1984-1985 ment.
Jack Moshman 1986
Eddie Ashmore 1987 How Established ASIS was founded on 13 March
Howard Funk 1988-1990 1937, as the American Documentation Institute (ADI)
when Watson Davis, director of Science Service (which
Organizational Structure There were two classes was operated out of the National Academy) and one of the
of AFIPS participation: member societies, which had a first Americans to become interested in documentation
principal interest in computers and information pro- as a separate field of endeavor, invited approximately 35
cessing, and affiliated societies, which, although not documentalist colleagues to meet with him at the Na-
principally concerned with computers -and information tional Academy of Sciences. ADI was made up of individ-
processing, did have a major interest in this field. Each of uals nominated by and representing affiliated scientific
the societies published a professional journal and held an and _professional societies, foundations, and government
educational conference. The total membership of the 11 agencies, of which there were 68 in 1937, In 1952, the
constituent societies exceeded 240,000. bylaws were amended to admit individual as well as insti-
In 1989, the 11 constituent societies of AFIPS were: tutional members. By vote of the membership on 1 Janu-
ary 1968, the name was changed to American Society for
The Association for Computing Machinery, Inc. (ACM) Information Science, to indicate its concern with all as-
The IEEE Computer Society pects of the information-transfer process.
Data Processing Management Association (DPMA) The following individuals have held the office of pres-
Society for Computer Simulation (SCS) ident.
The American Society for Information Science (ASIS)
Association for Computational Linguistics (ACL) Watson Davis, 1937-1943
Society for Information Display (SID) Keyes D. Metcalf, 1944
American Statistical Association (ASA) Waldo G. Leland, 1945
Society for Industrial and Applied Mathematics (SIAM) Watson Davis, 1946
Instrument Society of America (ISA) Waldo G. Leland, 1947
Int’l. Society for Technology in Education (ISTE) Vernon D. Tate, 1948-1949
Luther H. Evans, 1950-1952
The Federation was managed by its Board of Direc- E. Eugene Miller, 1953
tors. Each member society had one to three directors, Milton O. Lee, 1954
depending on size. The President was the principal officer Scott Adams, 1955
of the Federation and the Executive Director was the Joseph Hilsenrath, 1956
senior paid officer. Other AFIPS officers included a vice- James W. Perry, 1957
president, secretary, and treasurer. Meetings of the Board Herman H. Henkle, 1958
of Directors were usually held twice a year to elect mem- Kar] F. Heumann, 1959
ber and associate member societies, to act on constitu- Cloyd Dake Gull, 1960
tional amendments, and to conduct other pertinent Gerald J. Sophar, 1961
Claire K. Schultz, 1962
business.
Robert M. Hayes, 1963
ISAAC L. AUERBACH Hans Peter Luhn, 1964
Laurence B. Heilprin, 1964-1965
Harold Borko, 1966
Bernard M. Fry, 1967
AMERICAN SOCIETY FOR Robert S. Taylor, 1968
INFORMATION SCIENCE (ASIS) Joseph Becker, 1969
Charles P. Bourne, 1970
For an article on a related subject see AMERICAN FEDERATION Pauline Atherton, 1971
OF INFORMATION PROCESSING SOCIETIES. Robert J. Kyle, 1972
John Sherrod, 1973
Purpose The American Society for Information Sci- Herbert S. White, 1974
ence is a not-for-profit professional association organized Dale Baker, 1975
42 AMERICAN SOCIETY FOR INFORMATION SCIENCE (ASIS)
Melvin S. Day, 1976 dent chapters to such activities on the national scale as
Margaret Fischer, 1977 operating a placement service and conducting Annual
Audrey Grosch, 1978 and Mid-Year Conferences.
James Cretsos, 1979 Annual awards are presented for the Best Informa-
Herbert Landau, 1980 tion Sciences Book, the Best Publication by an ASIS
Mary Berger, 1981 chapter or Special Interest Group, the Best Paper Pub-
Ruth L. Tighe, 1982 lished in the Journal of the American Society for Infor-
Charles H. Davis, 1982-83 mation Science, the Outstanding Information Sciences
Donald W. King, 1984 Movie, the Best ASIS Student Member Paper, and the
Bonnie C. Carroll, 1985 Award of Merit, which is presented to a member of the
Julie A. C. Virgo, 1986 profession who is deemed to have made a noteworthy
Thomas H. Hogan, 1987 contribution to the field of information science. Recipi-
Martha E. Williams, 1988 ents of the Award of Merit are:
W. David Penniman, 1989
Toni Carbo Bearman, 1990 Hans Peter Luhn (posthumously), 1964
Tefko Saracevic, 1991 Charles P. Bourne, 1965
Ann Prentice, 1992 Mortimer Taube (posthumously), 1966
Robert A. Fairthorne, 1967
Organizational Structure The ASIS Council, the Carlos A. Cuadra, 1968
governing body of the Society, is composed of 15 individ- Cyril W. Cleverdon, 1970
uals: 13 hold office by election; the other two are ex Jerrold Orne, 1971
Officio. Phyllis Richmond, 1972
The Council meets four times a year, in January, April, Jesse Shera, 1973
July, and during the Annual Meeting in the last quarter of Manfred Kochen, 1974
the year. ASIS membership now totals nearly 4,000 indi- Eugene Garfield, 1975
viduals (including about 500 students) and more than 50 Lawrence Heilprin, 1976
institutions. Allen Kent, 1977
ASIS has chartered 21 Special Interest Groups (SIGs) Calvin Mooers, 1978
that provide those members with similar professional Frederick G. Kilgour, 1979
specialites the opportunity to exchange ideas and infor- Claire K. Shultz, 1980
mation about current and specialized developments. Spe- Herbert S. White, 1981
cial Interest Groups include the following areas. Andrew A. Aines, 1982
Dale B. Baker, 1983
Arts and Humanities (AH) Joseph Becker and Martha Williams, 1984
Automated Language Processing (ALP) Robert Lee Chartrand, 1985
Behavioral and Social Sciences (BSS) Bernard M. Fry, 1986
Biological and Chemical Information Systems (BC) Donald W. King, 1987
Classification Research (CR) F. Wilfrid Lancaster, 1988
Computerized Retrieval Services (CRS) Gerard Salton, 1989
Education for Information Science (ED) Pauline Atherton Cochrane, 1990
Foundations of Information Science (FIS) Roger K. Summit, 1991
Human-Computer Interaction (HCI)
Information Analysis and Evaluation (IAE) ASIS Publications include the following:
Information Generation and Publishing (PUB)
International Information Issues (II) Journal of the American Society for Information Science
Law and Information Technology (LAW) (JASIS)
Library Automation and Networks (LAN) Bulletin of the American Society for Information Science
Management (MGT) Annual Review of Information Science and Technology
Medical Information Systems (MED)
(ARIST)
Numeric Data Bases (NDB) Proceedings of the ASIS Annual Meetings
Office Information Systems (OIS) ASIS Handbook and Directory
Personal Computers (PC)
Storage and Retrieval Technology (SRT)
Technology, Information,and Society (TIS) ISAAC L. AUERBACH
Modern
computers
Analog computers
Digital computers Analogous system operates in
parallel on continuous variable
Indirect Direct
(General purpose) (Special purpose)
Simulator- :
fe
General purpose erainara pestaes
mecironic s0aio4 (Fixed Simulated instruments
se vergliseanhlS// purpose) and displays
‘\ —— ZA,
i/
O10 KA . components
JOO
7
CJOIC) Nee]
Continuous
components
Cie
OOO So.S
(b)
FIG. 2. Analog computers (a) Analog computer with continuous and discrete components or-
ganized in parallel fashion. (b) One of the last purely analog computing systems, EAI Model
2000. (Courtesy Electronic Associates, Inc., W. Long Branch, NJ.) ©
ANALOG COMPUTER 45
Direct Analog Computer Direct analog computers are mer-user. Fig. 2(a) shows a schematic representation of a
used in the solution of so-called field problems, e.g. con- computer as seen by a programmer. The main continuous
ductive and convective heat transfer, fluid flow, and struc- components are integrators, represented in the figure by
tures. The equations for these types of problems are the symbol J;summers, represented by 5; multiplier/divid-
partial differential equations (q.v.). A thermal analyzer is ers, represented by X; and arbitrary function generators,
an example of a direct analog computer that can be used represented by F. The modern analog computer also con-
in the solution of parabolic and elliptic type equations tains a number of discrete components such as “and”
such as gates, represented in the figure by A; flip-flops, FF; shift
%_,%.
ax
F_,
ot’ 9x
registers, SR;.and counters, C.
The inputs and outputs of all elements are brought to
a central patch bay into which removable patch boards
This type of computer has resistors and capacitors (and (or problem boards, prepatch panels) and outputs of
units that compute the fourth power of x for radiation these may be inserted. In turn, the patch boards are
studies). For the hyperbolic equation 07o/dx” = k(0’6/2t’), patched or plugged by the programmer, using patch
which describes structures, vibrating membranes, cords (or plugs). These cords and plugs, when inserted,
beams, etc., one might use a similar computer that has essentially specify the interconnections of the analog
resistors, capacitors, inductors, and transformers. Both
components to solve a particular problem. (See Korn,
1972.) A photograph of a recent medium-scale analog
types are relatively special-purpose computers, and are
computer is shown in Fig. 2(b).
usually referred to in the analog field as passive analog
Voltage Range. Large-scale, general-purpose analog
computers. a
computers once used a voltage range of +100 volts. How-
The programming techniques of the direct analog
ever, the advent of the integrated circuit operational am-
computer and its associated problems are a subject in
plifier (op amp) has led to the development of many
themselves and will not be dealt with here, except to
low-cost 10-volt systems, particularly for simulator-train-
remark that the fundamental mathematical theory of pro-
ers. These systems now far outnumber the +100-volt
gramming these partial differential equations involves
systems.
finite-difference techniques.
The high-voltage range has the advantage of good
signal-to-noise ratio and relative insensitivity to small
Indirect Analog Computer The electronic differential
offsets and biases that are caused by components such as
analyzer, hereafter referred to as the analog computer, is
diodes (in multipliers). The low-voltage range has the
best suited for the solution of systems of ordinary differ- advantages of generally greater bandwidth (higher fre-
ential equations. In mathematical terms the analog com- quency response), lower power requirements, and lower
puter gives particular solutions to systems of linear or cost.
non-linear differential equations of many variables. Accuracy. The accuracy of an analog computer is
usually specified by its component accuracies. The linear
Combined Direct and Indirect Analogs One area of components in high-quality computers have errors of less
study in which the analog computer is particularly useful than 0.01% of value or full scale, as appropriate. For
is the so-called real-time simulation problem. In such a example, a resistor may have an error of 0.01% of its value,
problem, there is a requirement that the solution proceed but a multiplier has a fixed minimum error, which is
exactly in step with real time because a person and/or usually stated as a percent of its full-scale output. In the
equipment may be part of the overall computing loop. latter case the error changes with the output of the mul-
Such simulations allow realistic hardware testing as well tiplier. The nonlinear components may have errors of
as training and evaluation of complex human-machine 0.02% of full scale. Lower quality computers may have
systems..In these instances, there is a combination of the component errors as much as ten times larger than those
direct analog (a human is the direct analog of itself, and given above.
hardware is its own best direct analog) and the indirect The overall accuracy of an analog solution depends
analog (the general-purpose analog computer). not only on the quality (accuracy) of the analog compo-
This combination of computers is also called fixed nents used, but also on the manner in which they are used
purpose when the computing system is designed to be (the program), as well as on the method of formulating
dedicated to real-time simulation. This is the largest and the problem (analysis). If best practices are used through-
most rapidly growing application of analog computing. out the programming process, the overall error of analog
These systems are known as simulator-trainers, and are solutions to large problems is on the order of 0.1-0.5% for
widely used in such fields as aircraft/spacecraft pilot the best quality computers. Since most analog solution
training, naval ship operator training, nuclear reactor outputs consist of recordings on X—Y plotters or strip-
operator training, power plant operator training, and pro- chart time-history recorders, the analog solution accu-
cess plant operator training. racy is of the same order as the accuracy of the usual
output recording devices. The analog computer, however,
The Modern Analog Computer The modern analog is well matched for the job it is intended to perform, since
computer consists of a large number of individual compo- it is used almost exclusively for the solution of engineer-
nents, organized in such a manner that the inputs and ing and scientific problems or in simulator-trainers, in
outputs of these may be interconnected by a program- which much of the input data is empirically determined,
46 ANALOG COMPUTER
V-E V,-E
——_ =i
i Z; : (1) FIG. 4. The inverting amplifier (M = megohm).
= -A
tls
ein
1
eos ein
(2)
where —A is the amplifier gain, and A is usually greater
than 104. FIG. 5. The symbol for the inverting amplifier.
ANALOG COMPUTER 47
7)
(Summing
e junction)
FIG. 8. Symbol for the summing amplifier.
Cc
FIG. 6. The summing amplifier.
and
The resulting output is therefore minus the sum of the
input voltages, each multiplied by a constant depending
upon the ratio of the resistors involved.
From experience it was found that the most conve- (6)
nient values for the input resistors are 1M (1 megohm)
and 0.1M for 100-volt computers. The resistors are where g = charge on the capacitor and C = capacitance,
correspondingly smaller on lower voltage computers. A usually expressed in microfarads (uf). Thus,
typical summming amplifier with three 1 M and three
0.1 M resistors is shown in Fig. 7. These give gains of 1
1 and 10, as shown on the symbol for the summing
RC oo 7)
amplifier in Fig. 8.
Alternatively, using operational notation for the impedan-
Integration with Respect to Time Integration of an ces,
input voltage is obtained if a capacitor is substituted as
the feedback component (Fig. 9).
Since the grid current /, is zero, the current i through Spi eke ehe ieee
the input resistor R must pass through the feedback ca- e; Zi RCp
pacitor C, and will produce a potential difference between
the output and grid of the amplifier. Thus, in Fig. 9, where p = d/dt. Therefore,
1 t
R (5) C= = RC , e,dt.
ipf
This mode is usually associated with high solution
speeds, of the order of milliseconds in duration, and with
the solution displayed on an oscilloscope. When such is
the case, the user will obtain the impression that a solu-
ey tion is obtained “instantaneously.” However, it is not nec-
essary that high solution speeds be associated with
€2
repetitive operations. All that is required is the automatic
€3 cycling of the computer between the reset and operate
modes for predetermined lengths of time.
&4
Iterative Operation
es
This mode may appear to be similar to the repetitive
&¢ mode, but it differs from it in several respects. In iterative
operation, there are usually at least two, sometimes more,
FIG. 10. Atypical integrating amplifier.
speeds of operation. For example, one portion of the
computer may be operating at a high speed while another
portion is operating at low speed. This simply requires
Control Modes
the ability to control the integrations, either individually
Ordinary Modes or in groups. The concept of “iteration” enters when the
result of one speed of computation is allowed to affect the
Reset This mode produces a solution at ¢ = 0. All progress and/or solution of the other speed(s). This
derivative terms are disconnected from the grids of the “feedback,” or iterative, concept is often used in optimiza-
integrating amplifiers, and initial condition networks are tion, adaptive control, prediction, the solution of certain
connected by control relays or electronic gates. (For a types of partial differential equations, and boundary
description of IC circuitry, see Korn and Korn, 1972.) value problems.
&
kx = output
= Circuit
high
low
(c) (d)
FIG. 13. Here, (b) is the symbolic representation of the attentuator shown schematically in (a);
(d) is the symbol used to represent the ungrounded attentuator shown schematically in (c).
Pot-Set Mode In order to set pots to their proper This rule is true because of the high gain (>10*) of the
values under true load conditions, a special control mode amplifier. Assume for the moment that there is a small net
called pot setis supplied in most analog computers. In this voltage at the grid (even 1 mv). The high-gain amplifier
mode, the SJ (input resistors) are disconnected from the would amplify this small voltage to more than full scale of
grid of the operating amplifier (see Figs. 6 and 10), and the the amplifier output, which would cause the amplifier to
SJ are grounded. Under these conditions, there will be no saturate. However, in order to prevent this saturation,
inputs to the amplifiers that could cause an amplifier there must be a compensating or balancing negative feed-
overload while a pot is being set, for in order to set a pot back from the high-gain amplifier to its own input, so that
a reference must be applied to its input terminal. Note for some output of the high-gain amplifier there will be an
that the load seen by the pot is the same as under normal exact balance or “null” at the input, thus leading to the
operation, for in normal operation the grid voltage E is so rule given above. This rule is illustrated in Fig. 15, where,
small that it can be considered to be the same as if it were by invoking the rule above, we have
at ground potential, the potential at which the summing
junction is held during pot set.
+ 10by +2 =0
Digital Coefficient Attenuators (DCA) ED aK (8)
This component is a hybridized version of a potentiome- so that e, = —K(ax + 10by), as indicated in Fig. 15.
ter that permits very rapid setting of coefficient values,
under digital computer control, in less than 10 ps. This Integration Circuits Several types of integration circuits
unit is also known as a digital-to-analog multiplier (DAM) are shown in Fig. 16.
in some versions.
Circuits providing these functions are shown in Fig. 15. where F(t) is acting on a body of mass m, which is re-
Rule for High-Gain Amplifiers with Feedback strained by a spring of stiffness k, and a “velocity type”
damper with damping constant c. This system is shown in
High gain with feedback is expressed as Fig. 17.
Y input voltages multiplied by gains = 0 If x is the displacement of the body from its equilib-
~
50 ANALOG COMPUTER
FIG. 14.
y 0.8000
O<a<l
O<b<1 .
@ = - K(ax + 10by)
O0<a<1
b O<b<l
1<K goo
y 1/K
FIG. 15.
1
x
rium position, the forces acting upon the body may be and
written as follows:
External force = F(f) = y, BY
Wot Oosysae (11)
Spring force = —kx,
Damping force = —c(velocity) = —c(dx/df).
The solution to Eq. 11 is the desired sinusoid.
The equations to be solved are The bootstrap method assumes that the terms for
generating the highest-order derivatives of each variable
Dc
m de cee LR +alkx ae= y(0) (10) are available. To execute the bootstrap method, the equa-
tions are rewritten in the form
ANALOG COMPUTER 51
y y/@
FIG. 18.
52 ANALOG COMPUTER
FIG. 19.
FIG. 20.
%(X + Y)?
Ne
Zz -2?
y. -Y/X
: av
X
FIG. 25. Symbol for square root circuit. FIG. 27. Symbol for divider.
54 ANALOG COMPUTER
-Q=-¥ AP (sign AP) This is also shown in the characteristic graph of Y versus
X in Fig. 30(b); i.e. there is no output Y between zero and
the breakpoint. Now, when X is positive and greater than
the upper breakpoint, the output of the upper b.p. pot will
be positive, increasing linearly with X from a zero value
= V?(-sign V) when X is at the breakpoint value; see Fig. 13(d). The slope
of the output characteristic will be determined by the
slope pot. Note that the input to the Y amplifier is positive,
thus creating the negative output Y as shown on the
FIG. 28. Other convenient nonlinear programming symbols. characteristic graph. In a similar manner, it can be shown
that, when X is negative, the upper diode is always biased
beyond cutoff, and that the lower diode will also be cut off
tions of one variable, using a piecewise linear approxima- for -b.p. = X = 0, where b.p. is the breakpoint setting of
tion on from 10 to 20 arbitrarily spaced points in the the lower b.p. pot. At this point the analysis of the lower
independent variable. circuit is identical to the upper circuit since — X, the input
The Diode Function Generator to the lower circuit, is now a positive voltage.
To obtain positive output values Y [in the upper two
This component, which has been available since 1955, quadrants of Fig. 30(b)], it is only necessary to reverse the
accomplishes the FG operation by the circuitry shown in polarity of the diode connection while at the same time
Fig. 29, using the techniques discussed in the next section, changing the polarity of the reference voltage on the
“Simulation of Discontinuities.” corresponding breakpoint pot.
By modifying the dead-space circuit (refer to the later By combining the two circuits in Figs. 29-30, we have
discussion “Simulation of Discontinuities”), thus making a circuit that produces an output function Y(X). ie. a
both signs of the input and reference voltages available, superposition of the two functions. A coefficient pot from
one can choose “breakpoints and slopes” at will, as shown the negative reference voltage is added so that Y, # 0 (see
in Fig. 30. Fig. 31). By extension of this technique, straight-line seg-
The circuit works as follows: If X is positive, the lower ment approximations are obtained for a wide variety of
diode is biased beyond cutoff (rendered non-conducting arbitrary functions. The symbol for an arbitrary function
= open circuit) so that only the upper diode circuit can generator of one variable is shown in Fig. 32.
contribute. In the region 0 = X = b.p. (where b.p. is the
breakpoint setting of the upper b.p. pot), the upper diode The Digitally Controlled Function Generator
is also biased beyond cutoff so that there is no input to The digitally controlled function generator (DCFG) is a
the Y amplifier (both input diodes are on open circuit). hybrid computing device, now supplied as a fully self-con-
Circuit Characteristic
(a) (b)
+Y
Breakpoints
Breakpoint
Slope
FIG. 30. Diode circuit for output slope changes away from the origin (see Fig. 13(d) for
three-
terminal pot).
ANALOG COMPUTER 55
Characteristic
Circuit
—Ref
tained unit in existing analog computers. It consists of a ence. Both logic outputs are connected to priority inter-
small, high-speed core memory (to contain the function rupt lines in the processor containing the digital data f(x;)
data points) and multiplying digital-to-analog converters, and x,,i = 1 ton.
organized as shown in Fig. 33. One comparator triggers a downdate of the index i
The function f(x), to be generated, is computed by a and the other triggers an update of the index i. Whenever
linear interpolation between function values f(x;) and a trigger occurs, the appropriate values of x, x;,, — Xp
f(x;,,), where x; is a general “breakpoint” value. The num- f(x;,), and f@x,,,) are transferred within a few memory-
ber of breakpoints is typically 20, and they can be un- cycle times to the appropriate DAC and DMAC, thus allow-
equally spaced. ing the circuit generating f(x) to be correct in all intervals
If x is the independent (input) variable, then
Xi41 — Xr
fo) = Ax fx.) + - Ad). 23) Exponential Log Generator Perhaps the most
flexible method for generating an exponential is to use a
In Fig. 33, the independent variable —x (at the lower left) fixed-function generator from which any exponential can
is summed with a digital-to-analog converter (DAC) con- be generated. The symbol for such a device is shown in
taining x,, and is divided by a multiplying DAC (MDAC) Fig. 34. Using this device, it is possible to generate any
containing x,,,— x; The output of this circuit is Ax, de exponential by employing the logarithm generator in the
fined in Eq. 22. The output Ax is subtracted from the feedback of a high-gain amplifier, thus obtaining the in-
reference, forming 1 — Ax, and both Ax and 1 — Ax are fed verse operation (or antilog). (This is analogous to using a
to the MDAC (at top of figure) containing f@,, ,) and f,), multiplier in the feedback of a high-gain amplifier to ob-
respectively, thus forming the output f(x). tain division).
The control and logic for changing the digital data in For example, to generate the exponential Ae“, where
the DAC and MDAC are shown in the lower right of Fig. 33. A and c are constants and x is a variable, let y = Ae™.
Here, Ax enters two comparators (see later section, “The Then
Analog Comparator”), one sensing when Ax is less than
zero, the other sensing when Ax is greater than the refer- log. y = log,A + cx. (24)
f(x) = Y
The circuit for forming the log, y from Eq. 24 is shown in
x Fig. 34(b). Inserting this sum into a high-gain amplifier,
which has a log, generator in its feedback path, will take
the antilog of the input, thus producing the desired out-
FIG. 32. Function generator symbol. put y.
56 ANALOG COMPUTER
f(x, 4)
i]
Downdate index i
command
~-f(x;,,)
ee tixe)
Pe ss cae PRI ous to MDACs
+ Ref AR moogee pias
SBS ape
Update index i
command
FIG. 33. Digitally controlled function generator.
log, X
(a)
anti-log circuit
FIG. 34. Fixed function generator for generating the natural logarithm of a variable. (a)
Symbol. (b) Circuit.
sin 8 cos 0
The DCFG can easily generate the fixed function just and sin @ and cos @ will be automatically produced.
described by loading the appropriate function table in its This is simply accomplished by inclusion of an inte-
memory. As the cost of the DCFG comes down, it will grator within the resolver package, which will inte-
replace the diode function generator because of its ease grate 6 and produce @.
of set-up, convenience in storing function tables for later
use, and flexibility of use for math functions or arbitrary Continuous Rate Resolver The normal allowed
(empirical) functions. range of input to the sinusoid generator (SG) is +180
deg. If 9 should go larger than this—as, for example, in
The Resolver (Sine-Cosine Generator) A resolver continuous rolling and/or tumbling—then a switch is
is actually a combination of computing elements, in- incorporated on the rate input, which changes the sign
cluding provisions for generating sin 6 and cos 8, given of the @ input to the resolver integrator whenever |6;|
@ as an input, and also allowing for the multiplication of reaches 180 deg. At the same time, the sign of sin 6 is
both sin @ and cos @ by any other variable V, thereby changed. This follows from the relations
generating Vsin 0 and V cos @. This device is an out-
growth of servomultiplying technology, wherein it was @ =n (360°) + 6, 161 < 180°,
a relatively simple matter to change a linear pot to a sin @ =
+ sin@, cos @ =cos@,
sine or cosine pot (padded-pot technique) and (by Input toSG= 4,
applying + V to the endpoints of the padded pot) to
obtain Vsin @ and Vcos @. Modern computers, however,
usually have a fixed (electronic) function generator or where n = +0, 1, 2, etc.
a DCFG to generate either the sine or the cosine func- The + signs depend upon whether n is odd or even
tion. This is shown symbolically in Fig. 35. and whether @ is increasing or decreasing. A time his-
It is, of course, still possible to combine the pre tory of @ and @, for increasing @ is shown in Fig. 36.
ceding operation with electronic multipliers to obtain In particular, ifn = 1 and 6 = 360° — 6; and sin @ =
V sin 0 and V cos @. If one merely has a sine or — sin @,, then a sign change must occur at the output
cosine generator, then it is termed a “sinusoid” gen- of the sine generator for odd n. Similarly, when 0 =
erator to include both functions (since it requires 360° — 6, then cos @ = cos @, which is correct for all
only a single patching change to obtain either func- n. The circuit is shown in Fig. 37.
tion). If the sinusoid generators are intimately pack-
Polar Resolution The object here is, given the x
aged with the multipliers to allow direct generation
and y components of a vector (or a complex variable),
of V sin 6 and V cos @, given V and @ as inputs, then
to find R, the magnitude of the vector, and 0, the angle
the package is called a “resolver.”
that the vector makes with the X-axis. This is accom-
@ Rate Resoiver A rate resolver allows the inser- plished by forming the error equation € = x sin 0 — y
tion of 6, instead of 6, into a resolver input terminal, cos 0, which, as can be seen from the geometry of the
n=2
6 = 720° + 0
FIG. 36. Time history showing @ and 6 with switching occurring at 9 = 180° and @ = 540°.
58 ANALOG COMPUTER
Bistable
switch and
logic circuit
FIG. 37. Rate resolver and continuous resolver (multipliers not shown).
relationships among, y, and 6, as shown in Fig. 38, is From the geometry of Fig. 38, we see that x cos 8 + y sin 0
zero only when @ is the correct angle. In these circum- = R, so that 0€ /00 = R. Substituting the last expression
stances—i.e. when an implicit algebraic relationship into the original equation for d@/ dt, we obtain d@/ dt =
must be satisfied by a dependent variable 6—given the
—ké R. The circuit for obtaining R and @ from x and y is
independent variables x and y, a mathematical method shown in Fig. 39.
exists, called the “method of steepest descent” (see
Hausner, 1971), which defines a stable formula for the Polar Resolution Circuit For fastest response in this
generation of the time derivative of the dependent vari- circuit, kRshould be made as large as loop stability will
able as follows: permit. This is usually a value between 1,000 and
10,000. Such large gains are obtained by using small
capacitors for the integrator feedback (0.0lyf or
dt 06” (25) smaller).
Both the ordinary resolver and the polar resolution
where € is as defined above and k is an arbitrary constant. circuit can be readily replaced by a multivariable function
generator (MVFG) (see Rubin, 1976), a new hybrid com-
From the definition of € we derive
puting component that is similar in construction and
operation to the DCFG. It combines several DCFG’s, plus
E P other analog components, to allow the automatic genera-
30 =xcos@+ysiné@. (26)
tion of an arbitrary function of 2, 3, or, by a recent exten-
sion, 4 variables, at analog speeds. The symbols for the
MVFG application to resolver functions are shown in Fig.
40.
+ xf
FIG. 39. Polar resolution circuit.
sometimes be expressed as the sum or product of two tive on-off switch. As a first approximation we consider
functions of one variable, such as the circuit to be closed (conducting), if the anode is
positive with respect to the cathode, and open (non-con-
A@y) = 8,0) + 1,0) ducting) if the anode is negative with respect to the
cathode. A simple circuit for introducing a discontinuity
or at the origin is shown in Fig. 42.
In the circuit shown in Fig. 42, —X is connected to the
f(y) = 8,()h,() + similar terms cathode of the diode and the anode is connected to a pot.
When —X is negative, the cathode of the diode is negative
More details on purely analog techniques for multi- with respect to the anode, so the diode conducts and
variable function generation may be found in Hausner produces a positive output through the inversion of the
(1971), and Korn and Korn (1972). There now exists a Y-amplifier. When —X is positive, the diode is rendered in
hybrid component for handling the generation of func- the non-conducting state, and Y = 0. The circuit charac-
tions of up to four variables. This is an extension of the teristic is shown to the right of the circuit diagram. This
DCFG, and is described by Rubin (1976). circuit is also called a nonnegative limiter (i.e. Y is con-
strained to positive values only). By reversing the diode,
Simulation of Discontinuities Discontinuities (such as one can make a nonpositive limiter. The circuit in Fig. 42
limit stops, rate limits, dead zones, sudden changes of can be considered to have a breakpoint at zero (a discon-
gain, and opening or closing of circuits) are programmed tinuity in the derivative of the output occurs when X = 0).
on the analog computer by means of diodes and/or elec- The discontinuity in the output can be made to occur at
tronic gates. A diode may be regarded as a voltage-sensi- any arbitrary value of X, as in the “dead-space” circuit
shown in Fig. 43; see Fig. 13(d). Notice that the disconti-
nuity occurs at other than X = 0.
For more details on the use of diode circuits to repre-
sent a variety of discontinuities, and for special time
function generation, such as sine wave, triangular wave,
and square wave generation, see Hausner, 1971.
: T
Z Ace
FIG. 40. Resolver functions using MVFG. FIG. 41. Programming symbols for X 3 and X‘ units.
60 ANALOG COMPUTER
Slope
+R
X. negative
X, positive
Digital Logic Operations Many years ago, general-purpose digital logic mod-
ules were not available, so the manufacturers of analog
The Analog Comparator The analog comparator has equipment did not supply such modules. The program-
been a fundamental component of the analog computer mer, however, by using comparators, relays, diodes, lim-
from its inception. In the past it was intimately associated iters, and amplifiers, was usually able to simulate digital
with a relay such that the comparator output drove the logic. This “logic” was asynchronous, and operated in
relay arm to one of two sets of contacts. Actually, the parallel, so that outputs of all logic components were
analog comparator is a true hybrid device, since it ac- available to the programmer at all times. At present, ana-
cepts analog inputs (usually two) and produces a digital log manufacturers include a good supply of digital logic
logic level output (either a binary “1” or a binary “0”). The modules as part of the normal computing complement of
symbol is shown in Fig. 44. the analog computer. These modules are patched one to
If one of the two analog inputs is a constant voltage another, just as analog components are, and operate in
(as, for example, a reference voltage multiplied by a con- parallel and simultaneously, as analog components do. In
stant coefficient), then the output of the comparator view of the last statement, one may consider such logic
shows when the other variable is greater than or less than modules to be discrete analog components.
the particular constant value. The most common types of logic modules used with
The output of the comparator can be used to control analog computers are flip-flops, “and” gates, “or” gates,
the analog computer,. to drive electronic gates, or, as “one shots” (or “pulsers,” or “time delays,” or
inputs to other digital logic components, to sense lines, “monostables”), and combinations of these elements to
control lines, interrupt lines, or priority interrupt lines of
digital computers.
x
Analog 7 a
General-Purpose Digital Logic Modules It may seem
strange to include a section on true general-purpose digi-
im Uts y P| Logic output
tal logic components with material on analog computers,
but analog programmers have always made use of digital
when: xty>O;a=1
x+y<0;a=0
logic in the normal course of obtaining a solution to a
problem. FIG. 44. Analog comparator symbol.
ANALOG COMPUTER 61
produce “exclusive or” circuits (or “modulo 2 adder,” or slow solutions (lasting several hours) can be obtained
“ring sum”), up-and-down counters, and shift registers. with the same computer. The choice of the solution time
For details of the use of logic modules in programming is largely dependent on factors external to the computer,
analog computers, see Bennett (1974). such as the method of recording or displaying the solu-
tion, the need for tying into real hardware (hence the
Output Equipment The classical analog hard-copy necessity of operating in “real time”), or the desire to
output is a multi-channel voltage-time recorder. The usual display results to a “human in the loop,” etc. A time-scale
recorders associated with modern analog computers are change is defined by the equation T = ft, where T is
eight channels wide, write rectangularly, and have adjust- machine time, tis original problem time, and £ is the time
able voltage scales and chart speeds. As many variable scale factor and has the units of machine time/original
outputs as desired may be recorded simultaneously, pro- problem time.
vided one has a sufficient number of recorders. The re- In order to slow down a problem (i.e. to cause ma-
sults produced are called time histories. The accuracy is chine time to be larger than original problem time), £ is
good to about 0.25% of the voltage range at which one is made greater than unity; to speed up a problem (i.e. to
recording, and the bandwidth is about 100 Hz. cause machine time to be smaller than original problem
For wider bandwidth recording, an optical recorder time), 8 is made less than unity.
(oscillograph) or some form of magnetic tape recorder An objective of time scaling is to change computer
must be used. time with respect to original problem time, but without
To obtain X — Y graphs (for example, pressure vs. causing a change in the original equations, without giving
flow), where any variable Yis plotted as a function of any rise to new definitions of derivatives, and without chang-
other variable X (as distinct from plotting X and Y as ing any amplitude scaling. For details on how to program
functions of time), a storage oscilloscope is typically an analog computer, see Bennett (1974).
used. A hard-copy attachment is available for permanent
recording of the oscilloscope output. Mathematical Applications Since the analog
The classical instrument for observing static or computer can solve nonlinear ordinary differential equa-
slowly changing analog computer variables is the digital tions, it is typically used in engineering design and real-
voltmeter (DVM). In the most modern analog computers, time simulation. The analog computer can also be used
the DVM is incorporated into a sophisticated digital dis- effectively to solve a variety of other mathematical equa-
play terminal that displays the address and state, as well tions and to do analog data analysis. For example, alge-
as the value of the variable. These terminals may also act braic equations, both linear and nonlinear, are readily
as line printers, displaying lists of analog variable ad- solvable. Problems in complex variables are likewise ame-
dresses and values in digital form. The terminal may also nable to solution by the analog computer (see Hausner,
incorporate the storage oscilloscope function with hard- 1971), but such problems are not of major importance to
copy output, thus allowing all necessary I/O functions to analog computation. Partial differential equations (PDE),
be performed at a single terminal. on the other hand, are of importance in the analog field.
References
PROGRAMMING 1947. Ragazzini, J., Randall, R. H., and Russell, F. A. “Analysis of
Problems in Dynamics by Electronic Circuits,” Proc IRE
Amplitude Scaling Differential and/or algebraic equa- 35:444-452.
tions, in order to be mechanized in the analog computer, 1955. Roedel, J. In Paynter, H. M. (Ed.), Palimpsest on the Electric
must first be converted to voltage equations. A scale Analog Art. George H. Philbrick Researches, pp. 27-47.
factor, or volts per physical unit ratio, must be chosen for 1963 to date. Simulation, published by Society for Computer
all the dependent variables. Scale factors are chosen from Simulation, LaJolla, CA. (Describes current analog, digital, and
estimated ranges of the problem variables. These esti- hybrid computer work.)
1971. Hausner, A. Analog and Hybrid Computer Programming. En-
mates are usually “educated guesses,” derived from the
glewood Cliffs, NJ: Prentice-Hall.
engineer’s personal experience. If the first estimates
1971. Holst, P. A. “A Note of History,” Simulation 17, 3: 131-135,
prove to be poor, scale factors can be changed at the September.
computer. 1972. Korn, G. A. and Korn, T. M. Electronic Analog and Hybrid
Having determined the amplitude scale factors, the Computers, 2nd Edition. New York: McGraw-Hill.
problem variables in the mathematical equations are re- 1974. Bennett, A. W. Introduction to Computer Simulation. New
placed by the voltages or machine units representing York: West Publishing.
them, and adjustments are made to the coefficients 1976. Rubin, A. I. “Multi-Variable Function Generator,” Simulation
throughout the equations in order to maintain equality. 27, 1:1-12 July.
1978. Sheingold, D. H. “Multiplier Application Guide.” Published
The equations are thus changed into voltage or machine
by Analog Devices, Norwood, MA.
unit equations from which a computer circuit diagram 1988. Franco, Sergio. Design with Operational Amplifiers and Ana-
can be drawn. log Integrated Circuits. New York: McGraw-Hill.
1989. Frederiksen, T. M. /ntuitive Analog Electronics. New York:
Time Scaling With the all-electronic, high-speed analog McGraw-Hill.
computers available today, extremely high solution
speeds (as short as several milliseconds) as well as very ARTHUR |. RUBIN
62 ANALOG-TODIGITAL AND DIGITAL-TO-ANALOG CONVERTERS
Analog
Sensor
Analog
Sensor
Plant or
Digital
System To
Processor
Be Controlled
Analog
Controller
Analog
Sensor
Analog
Input
i
Analog
Sensor
Plant or
System To Timing
Se Digital
Be Controlled Control Processor
Analog
Controller
Analog
Output [0-4]
Demultiplexer
Analog
Controller
voice communications, and entertainment systems. In TABLE 1. Three-Bit Natural Binary Code
telemetering systems, analog signals originating in re-
mote locations are first converted into digital signals and Decimal Binary BIT 1 BIT 3
then transmitted to the central station. Remote weather Value Value MSB BIT 2 LSB
and defense-related monitoring systems fall in this cate-
gory of applications. 0 0.000 0 0 0
Voice communications systems are also increasingly 3 0.001 0 0 1
oriented toward digital signal processing. In this situa- % 0.010 0 1 0
tion, analog voice signals are digitized with A-D convert- ¥% 0.011 0 1 1
ers and subsequently transmitted over time-shared Xx 0.100 1 0 0
¥% 0.101 1 0 1
channels, with many conversations being “simulta-
% 0.110 1 1 0
neously” carried over the same channel. Such systems % 0.111 1 1 1
can be designed to be flexible and handle both speech
and data at the same time, while making nearly optimum
use of the systems’ bandwidth capabilities.
In the entertainment industry, digital recording and having a weight of 27’, the bit at right, the least significant
playback systems of audio signals are now commonplace. bit (LSB), having a weight of 2~", and the ith bit (lS i sn)
Compact disc (CD) and digital audio tape systems make having a weight of 27‘.
extensive use of A-D and D-A converters. Gee ENTERTAIN- The basic conversion relationship for a three-bit bi-
MENT INDUSTRY, COMPUTERS IN THE) ’ nary code is given in Fig. 3(a) and (b). Any three-bit digital
sequence entering into the D-A converter results in pro-
Test, Measurement, and Monitoring Many applications ducing one of eight distinct voltage outputs, as seen in
of A-D converters can be found in test and measurement Fig. 3(a). Similarly, any voltage input into the A-D con-
equipment. Digital voltmeters, for example, are now com- verter results in producing a distinct three-bit output
code. The ideal resolution of these converters is equal to
monplace, and the inclusion of digital readouts alongside
analog displays on oscilloscopes has gained widespread the value of the LSB or 2™" for an n-bit converter. For A-D
converters, associated with this resolution is an inherent
acceptance. More complex measurement and monitoring
quantization error, which reflects an uncertainty in the
applications, such as on-line real-time patient monitoring,
also have converters as key system elements. results of A-D conversion due to quantification of the
analog signal. For the system above, transitions occur in
the middle of each voltage range, thus minimizing the
The Basic Relationship Analog variables such as
quantification error to an optimum +1/2 LSB. Other er-
position, temperature, pressure, and process rate are
rors, such as noise and various nonlinearities, may in-
typically first converted during measurement into analog
crease this above +1/2 LSB in real systems.
voltages and currents. Conversely, to control the analog
In both D-A and A-D converters, there is a wide vari-
variables, analog voltages and currents are usually sup-
ety of techniques and manufacturers. The references pro-
plied to the inputs of a controlling transducer. Rather
vide a host of details and alternatives not considered in
than deal with the basic analog variable (e.g. tempera-
this review.
ture), it is therefore convenient to deal with the voltages
or currents available at the output, or produced for the
input, of the transducer. The analog variable considered D-A Converters Fig. 4 shows a block diagram for a
here is thus a pure voltage or current, and questions D-A converter. The typical D-A converter contains
concerning transducer operation, signal amplification, switches and a resistor network. The switches are con-
and signal conditioning are omitted. (Material on these trolled by the digital input code and establish connec-
important practical matters can be obtained from the tions within the network needed to obtain the proper
references.) analog voltage.
Digital information is generally represented by the Fig. 5(a) shows a simple 3-bit plus sign D-A converter.
presence or absence of a fixed voltage or current level. The dashed lines indicate that the switch is controlled by
Each unit of information or “bit” thus has two states, the associated digital bit input. The switches themselves
referred to as the one and zero states. On a single input are generally integrated circuits that ideally would have
line, information can be represented serially by periodi- no resistance when closed and infinite resistance when
cally changing the voltage level or state of the line. A set open. For the 0100-input switch configuration shown, the
of parallel lines or a grouping of serial bits can be used to output voltage V, is easily seen to be V,/2. Similarly, the
represent a digital word, where the meaning of this word nth bit present can be shown to produce an output volt-
depends on the number or symbol assigned to each pos- age increment equal to 2-"V,,; hence, the resulting output
sible combination of bits. This is referred to as the code. voltage is proportional to the binary input. A sign bit is
Different types of codes are used with A-D and D-A con- present that controls a voltage reference switch. With
verters (e.g. offset binary, one’s complement, two's com- certain codes, its absence indicates a positive digital
plement). However, for simplicity, this article considers input and results in switching in the positive reference
only the unipolar or natural binary code. Table 1 presents voltage +V,. Its presence indicates a negative input, and
this code for a 3-bit word. In general, each word may have the negative reference voltage +V, is applied to the net-
n bits, with the bit at left, the most significant bit (MSB), work.
7/8 111
110
3/4
5 /8 3® 101
3)
1/2 3 100
.
3/8
Output
Analog
Seki
1/4 010
001
1/8
000
18 1/4 3/8 1/2 5/8 3/4 7/8
000 001 010 011 100 101 110 111
Digital Code Normalized Analog Value
5 1/2
Sy
ey 20
2
w 1/2
Normalized Analog Value
(a) (b)
Transfer Function of a D-A Converter Transfer Function of a A-DD Converter
Reference
Voltage
Sign __ Sign __
Bit Bit
MSB — MSB—
Bit 2— Bit 2-
LSB-—
(a) pyle
R/2R D-A Converter R/2 R D-A Converter
FIG. 5
64
ANALOG-TO-DIGITAL AND DIGITAL-TOAANALOG CONVERTERS 65
Digital
Output
D-A Output
Comparator
Converter Ready
Analog Input
Integrator
Analog 0 Comparator
input
Digital Digital
filter output
Differential
amplifier
quires only a single step, the cost increases rapidly with and codes, scale factors, reference voltages, impedance
the number of bits n, since the number of comparators levels, power levels, temperature stability, and noise en-
needed is 2” — 1. vironment must be considered. These latter questions are
not considered here and the reader should consult the
Specification of Converters A host of measures references for detailed information.
are used in specifying converter performance. These are A number of measures are normally used in specify-
discussed in detail ina number of the references. The user ing converter accuracy and speed. These measures in
should be cautious in evaluating manufacturer specifica- part isolate and indicate the various sources of error. With
tions and be clear on the meaning of the various terms D-A converters, accuracy or absolute accuracy refers to the
used. deviation of actual analog output from the output pre-
The application for which the converter is intended dicted by the ideal transfer function. Though this may
should be well understood, since this will determine vary over the range of the unit, specifications are nor-
which of the multitude of converters available offer the mally given in terms of a single number representing the
best price performance trade-offs. In addition to accuracy maximum error over the range. This may be stated as + a
and speed requirements, questions regarding logic levels percentage of full scale or + a fraction of LSB. Relative
|
|
|
|
|
|
|
Input Comparator Network
Analog
output Analog
output
Analog
output Analog
output
accuracy measures the largest deviation of the analog This is the time necessary for a complete measurement,
output from a straight line drawn through the end points its inverse being the conversion rate of the converter. A
of a converter’s transfer function. high-speed video 10-bit converter, for example, might
Several common error types that contribute to a loss have a conversion time of 500 ysec and a relative accu-
of accuracy are illustrated in Fig. 10(a), (b), (c), and (d). racy of +1/2 LSB.
Fig. 10(a) shows nonlinearity in the conversion transfer
function. The nonlinearity is, however, monotonic, since
increasing digital values produce increasing analog val- Conclusion A-D and D-A converters are finding in-
ues. Fig. 10(b) shows a nonmonotonic nonlinearity. Such a creasing use as the scope of digital processing and com-
nonlinearity could yield the same analog value for two munications widens. There is every indication that this
different digital input codes, a result that might cause trend will continue and be augmented by further gains in
oscillations to occur in certain control applications (q.v.). performance and decreases in converter cost. This will
Figs. 10(c) and 10(d) illustrate gain and offset errors, result in large part from the growing use of monolithic and
which respectively change the slope and zero crossing of VLSI (Very Large Scale Integration) circuit technologies. A
the transfer function. The difference between the dotted proliferation of new products can be expected with in-
line in the figures and the solid 45° angle line is the error creasing emphasis placed on ease of interfacing these
associated with each digital input code. products with microprocessors and standard communi-
Dynamic characteristics of D-A converters are nor- cations systems and buses.
mally specified in terms of a settling time. This is the time
between arrival of the digital code and settling of the References
analog output to within certain specified limits of accu-
1970. Schmid, H. Electronic Analog/Digital Conversions. New York:
racy. The shorter the settling time, the higher the conver- Van Nostrand Reinhold.
sion rate. For a high-speed converter, the full scale 1976. Hnatek, E. R. A User’s Handbook of D/A and A/D Converters.
maximum settling time specification might read 100 psec New York: Wiley.
to settle within +1/2 LSB. 1978. Gordon, B. M. “Linear Electronic Analog/Digital Conversion
For A-D converters, accuracy refers to the deviation Architectures, Their Origins, Parameters, Limitations, and Ap-
of the analog level represented by the digital output plication,” JEEE Trans. on Ckts, and Sys., CAS-25 (July).
from the actual analog input. As with D-A converters, 1978. Kurth, C. F. (Ed.) “Special Issue on Analog/Digital Conver-
this is normally stated as either a percentage of full sion,” IEEE Trans. on Ckts. and Sys. CAS-25 (July).
1979. Zuch, E. L. (Ed.). Data Acquisition and Conversion Handbook.
scale or a fraction of the LSB. The relative accuracy
Mansfield, MA: Datel.
of an A-D converter measures the largest deviation of
1986. Sheingold, D, H. (Ed.). Analog-Digital Conversion Handbook.
the converter’s transfer function from a straight line Englewood Cliffs, NJ: Prentice Hall.
drawn through its endpoints and is also expressed as 1988. Boser, B. E. and Wooley, B. A. “The Design of Sigma-Delta
a percentage of full scale or a fraction of the LSB. Modulation Analog-to-Digital Converters.” JEEE Journal of
Errors here may be divided into two parts. The first, Solid State CRts., 23, 6.
quantization error, was discussed earlier in this article.
This results in an inherent error of +1/2 LSB, which MARK A. FRANKLIN
can be reduced only by increasing the number of bits.
All other errors are equipment errors, and error types
directly corresponding to those found in D-A converters
may be present. Offset, gain (scale factor) and nonlin-
earity errors have analogous definitions. The error ANALYSIS OF ALGORITHMS. See Aico-
corresponding to nonmonotonic nonlinearity is termed RITHMS, ANALYSIS OF.
the differential linearity error and may result in entire
digital outputs being missed.
The dynamic characteristics of A-D converters are
normally specified in terms of the total conversion time. ANALYST. See Systems ANALYST.
68 = ANALYTICAL ENGINE
APL. see FUNCTIONAL PROGRAMMING; and PROCEDURE-ORL design to Homebrew friends and helped them build their
ENTED LANGUAGES. own machines from the plans.
Steven P. Jobs, age 21 in 1976, shared Wozniak’s pas-
sion for computers. The two had collaborated on several
electronics projects, including creating the video game
APPLE COMPUTER, INC. Breakout for Atari, Inc., where Jobs worked. Convinced of
For articles on related subjects see DiGITAL COMPUTERS: the marketability of Wozniak’s design, Jobs persuaded his
HisTory: IBM-PC AND PC-COMPATIBLES; and PERSONAL COMPUT- friend to sell the Apple I kits to other hobbyists.
ING. They sold Jobs’s Volkswagen van and Wozniak’s pro-
grammable calculator to raise enough money to get
started. Jobs then landed an order for 50 Apple I comput-
Apple’ Beginnings Fourteen years after it was ers from one of the first computer retail stores in the
founded, Apple is a major power in personal computing country, and, on the strength of that order, the two young
worldwide, setting the pace for ease-of-use and graphical men secured credit at an electronic parts house. In the
interfaces. The company was born out of a desire by two garage of Jobs’s parents’ home in Cupertino, California,
spirited innovators, Steve Wozniak and Steve Jobs, who Apple Computer went into business.
wanted to bring computing power to ordinary people. “I had wanted a computer my whole life—that was
With the microprocessor, the semiconductor indus- the big thing in my life,” Wozniak remembers. “All of a
try had provided the compact, inexpensive electronic sudden | realized that microprocessors were cheap
brain needed to build a personal-sized computer. But it enough to let me build one myself. Steve [Jobs] went a
was individual computer enthusiasts, not the established little further. Steve saw it as a product that: you could
mainframe and minicomputer companies, who took the actually deliver and sell, and someone else could use.”
next steps. Fascinated with the computers they designed Like all early personal computers, the Apple I was
and programmed by day, many young engineers longed to designed for experts who could put it together and write
have their own computers on which to work and play at their own programs. But Jobs had a vision for Apple
Computer that went far beyond the hobbyist market. He
night. They avidly read the handful of available hobbyist
sought advice on realizing his goals from successful in-
magazines, formed clubs, and swapped ideas.
dustry figures such as Nolan Bushnell, founder of Atari;
Stephen G. Wozniak was a regular attendee of the
Don Valentine, a venture capitalist; Regis McKenna, who
Homebrew Computer Club that began meeting in 1975 in
owned a rising Silicon Valley advertising and public rela-
Menlo Park, California, at the northern edge of what was
tions agency; and A. C. “Mike” Markkula, who at age 33
already called Silicon Valley. Wozniak had become en-
had retired from a lucrative marketing career at Intel.
thralled with computers in high school and had dropped
Wozniak began designing a second computer that
out of the engineering program at the University of Cali-
would be technically far superior to the Apple I, incorpo-
fornia, Berkeley, to work for Hewlett-Packard, a manufac-
rating a keyboard, power supply, the ability to generate
turer of calculators and minicomputers. It was at a
color graphics, and the Basic programming language.
Homebrew meeting that Wozniak heard about the first
Convinced that this product—the Apple IJ—would spark
personal computers—the Altair, the IMSAI 8080, and oth-
demand for personal computers beyond the hobbyist
ers—that were being offered as mail-order kits.
market, Mike Markkula wrote a business plan for the
By mid-1976, Wozniak, 26, had written a Basic pro-
young company and then invested in it. He officially
gramming language interpreter for a new microprocessor joined Apple when it incorporated in January 1977, and
from MOS Technology, the 6502, and designed a computer has since served in various executive positions, including
to run it. Wozniak proudly passed out photocopies of his
president. Apple blossomed during that first year. The
firm moved out of its garage into leased quarters in Cu-
pertino, California. It introduced the Apple II to rave re-
views at the first West Coast Computer Faire. Markkula
signed up dealers across the country to sell the Apple II.
Regis McKenna’s agency helped establish an immediate
presence for Apple with an eye-catching rainbow logo,
ads placed in national consumer publications, and a pub-
lic relations campaign that leveraged Apple’s “American
dream” beginnings. An infusion of $3 million in venture
capital gave Apple an enormous advantage over many of
its struggling competitors. Apple finished its first fiscal
year with $774,000 in sales and a $42,000 profit.
ucts, such as IBM, Digital Equipment Corp., Zenith, and its fourth computer, the Lisa, a radical change for Apple
AT&T, recognized the opportunity for personal comput- and the entire personal computer industry, because of its
ers and entered the market with zeal. By the end of 1982, “user-friendly” graphical user interface (GUI), much of it
more than 100 companies were manufacturing PCs, in- - based on technology first created by computer scientists
cluding Atari, Commodore, Tandy, and a host of start-ups at the Xerox Palo Alto Research Center (PARC) in Califor-
seeking to emulate the success of the big firms. nia. Jobs and others at Apple were convinced that com-
The boom was kindled by an avalanche of software plex and cryptic software was confining the use of
programs that turned computers into special-purpose personal computers to people who were willing to become
tools: for typing and rearranging text, analyzing financial experts—just as the earliest microcomputer kits had been
data, sorting and filing information, and thousands of useful only to hobbyists. Apple invested $100 million dur-
other uses never imagined by the computers’ creators. ing two years to develop software based on a user-friendly
Apple contributed key products that catalyzed the de- graphical interface. Unlike computers that used unfamiliar
velopment of software for the Apple II, including the Disk II language and logic, the Lisa system opted for software that
floppy disk drive and disk operating system, and several was, for the average user, simple and easy to understand.
programming languages and aids. As a result, landmark The news media gave the Lisa a rapturous reception,
programs, including VisiCalc, Personal Filing System, and as did Wall Street. Apple stock, which had traded as low
other business-oriented applications, were developed as $10 in 1982, rose to $63 a share. But the Lisa’s noisy
first for the Apple ll. The benefit of these software packages debut had masked grave difficulties. The computer was
cannot be underestimated: Of the 130,000 Apple II comput- slow, and users couldn’t swap information among pro-
ers sold by September 1980, an estimated 25,000 were pur- grams. There was no network capability. Lisa failed in the
chased specifically for their ability to run VisiCalc. marketplace, but it did become the kernel of what was to
Apple also secured early dominance in the closely become Apple’s successful personal computer, the Mac-
linked education and consumer markets by continually intosh. The Macintosh user interface, introduced in Janu-
improving its Apple II line with the Apple II Plus in 1979, ary 1984, included icons, windows, pull-down menus, and
the Apple Ile in 1983, and the Apple IIc in 1984. Beginning the mouse pointing device and set new standards for ease
in 1979, Apple awarded hundreds of thousands of dollars of use for the personal computer industry. Later, the
in grants to schools and individuals for the development coupling of the Macintosh and the Apple LaserWriter
of educational software. The large software library that printer became the catalyst for a new application for
ensued is a key reason that more than 60 percent of personal computers—desktop publishing (q.v.).
computers used in U. S. primary and secondary schools In 1983, a major shakeout in the personal computer in-
are Apple computers. dustry began, first affecting the companies selling low-
A huge infrastructure of retail dealers sprung up to priced machines to consumers. Companies that made
deliver personal computer products to buyers. By the end strategic blunders or that lacked sufficient distribution or
of 1982, Apple had more than 3,000 authorized retail deal- brand-awareness for their products disappeared. Many in-
ers worldwide. dependent computer dealers, faced with eroding margins,
Even with enormous competition, Apple revenues either consolidated into large chains or quit the business.
continued to grow at unprecedented rates, reaching The year 1985 was an extremely difficult one for
$583.1 million for fiscal 1982, the company’s fifth year of Apple. Founder Steve Wozniak resigned from the company
operation. The company’s initial public stock offering—in that February to start a new video electronics business,
December 1980—was one of the largest in Wall Street’s feeling that Apple was becoming too corporate. Macintosh
history, raising approximately $100 million. In 1983, Apple and Apple II sales fell dramatically. Apple eliminated 1,200
entered the Fortune 500 and gained additional Wall Street jobs, sharply cut operating costs, and closed three facto-
renown by recruiting Pepsi-Cola Co. president John ries. The company sustained its first quarterly loss.
Sculley as its new chief executive. The biggest blow—especially psychologically—came
However, Apple was not immune to difficulties. Driven in September 1985 when the innovative founder Steve
by the prospect of IBM and other deep-pocketed firms en- Jobs quit Apple, forced out by John Sculley, whom he had
tering the personal computer industry, Apple raced to pro- hired only two years before. The painful chasm between
duce a third computer designed especially for business Jobs and Sculley, once close business partners, demoral-
users. It began shipping the ill-fated Apple III in late 1980 ized many Apple employees and had many in the industry
before the system could be fully tested and without some wondering if the innovative spark that Jobs had ignited
promised features. The Apple III never recovered from its would be snuffed out by marketeer Sculley.
stumbling start and eventually was discontinued. However, sales did start to pick up in 1986 as some
IBM’s personal computer, introduced in August 1981, businesses bought Macintoshes, spurred by introduction
stirred up frenzy in theindustry, as software and accessory of the faster and more powerful Macintosh Plus, dozens
developers rushed to create products compatible with it. of software and accessory products from Apple and third-
Development for the Apple II and Apple III, though still party developers, and the new desktop publishing appli-
strong, dwindled by comparison. Awareness of personal cations. Apple also continued to advance the technology
computers grew and was symbolized by Time magazine’s of its original product line with a new computer, the Apple
naming the computer as its 1982 “Man of the Year,” and IGS, and enhancements for older products.
scores of companies were vying for market share. Meanwhile, claiming innovation at Apple was dead,
Into this environment, Apple, in early 1983, launched Jobs launched a rival company, NeXT, Inc., to make
APPLE COMPUTER, INC. 71
Mary A. C. FALLON
APPLICATIONS PROGRAMMING
For articles on related subjects see PROGRAMMING LAN-
GUAGES; and SYSTEMS PROGRAMMING.
puters, and languages like Basic, Pascal, and APL are used generation of approximations to functions to be used on
extensively in time-sharing systems. a computer.
The ultimate aim of all software is to make it possible Let f(x) be defined and continuous over a finite real
for the applications programmer to perform well and to interval X. The theoretical justification for using the
write programs that produce results and make effective Chebyshev metric [with w(x) = 1] is the Weierstrass
and efficient use of the computing system. Applications approximation theorem, which asserts the existence of
programs make use of subroutine libraries and special real polynomials that are arbitrarily close to f(x) over the
packages such as sort-merge systems and data access entire interval X. These polynomials are often obtained by
and data management systems. Most well-designed oper- appropriately truncating an infinite power series expan-
ating systems provide the applications programmer with sion of the function,
special tools for analyzing and debugging programs.
There are very large applications systems such as
airline reservations systems and on-line banking and mer- f)=S a,x"
chandising systems in which many considerations of sys- k=0
tems programming and of applications programming are
intermixed. provided the series converges to f(x) over X, i.e. provided
that for any fixed value of x in X.and any e > 0, there is an
integer N such that all partial sums
SAUL ROSEN
n e
ing |x — x,|. Frequently max,|f(x) — g,(%)| occurs at one of characterized by the property that the power series ex-
the boundaries of X. For example, Fig. 1 shows the error pansion of R,,,(X) is identical to the Taylor series expan-
associated with the fourth-degree Taylor polynomial ap- sion through terms in x”*" . The entries R,,(x) are the
proximation of e* over [— 1,1], where the Taylor series is Taylor polynomials, and the entries Rog(x), Ry,@) Ry, @),---
along and just above the main diagonal are the successive
te x convergents of a Stieltjes continued fraction, or S-fraction,
Felt Sahicouteceu engit esate ita Wee expansion of f(x):
a
A function f(x) has a pole of finite integer order n at x, f(x) =
a,x
whenever the Taylor series for (x — X).)" f(x) exists for m = 1
n, but fails to exist for smaller integer values of m. The 1l-a x
Laurent series is then given by (x — x, )" times the Taylor
series for (x — x,)" f(x). As an example, the Laurent series
for csc(x), which has an isolated pole of order 1 at x= 0, is
Padé approximants R,,(x) are often better approxi-
mail teal Setor: mations to f(x) than are the Taylor polynomials of degree
See e eye S60h 15,120." m+n. All elements of the Padé table agree with f(x)
exactly at the point of expansion, but f(x) — R,,,@) tends
which converges for |x| < 1. When the function has an to grow as x moves away from that point. As an example,
isolated pole of infinite order, the Laurent series takes the the S-fraction expansion of e* is
form
f(x) = 3}Phe
+ px te+++
Pet
Ye stsii
Dtig
te
liver Fg ek
FIG. 2. Error e* — R5(x) for approximation over [—1,1] by
Padé element.
APPROXIMATION THEORY 75
function R* @), which minimizes d(ER,,,»W). Basic theo- Legendre, Jacobi, Hermite, Laguerre, and Gegen-
rems assert that such an R* x) exists, is unique, and is bauer polynomials are other important families of polyno-
characterized by the error [f(x) — R* (x)]wl) achieving mials similarly associated with particular choices of
its maximum magnitude with alternating sign a pre weights and intervals in least squares approximation.
scribed number of times as x moves across the interval X. Since power series expansions are unique, the expansion
The determination of R. @) is not easy, but the charac- of f(x) in polynomials from any of these families can be
terization theorem leads to algorithms, such as the formally obtained by replacing each x“ in the power series
Remes algorithm, for computing approximations close to by its exact representation in polynomials of the family
Rin): and then collecting terms. This “rearrangement” of the
The Chebyshev polynomials power series may alter the convergence of the series so
that the new series converges for a larger (or smaller)
T(x) = 2'" cos(n cos“!x), - 1 =x <1, interval than the original series.
Lanczos’ telescoping, or economizing, process is sim-
are instrumental in the generation of near-minimax poly- ilar to this rearrangement process. Starting from a trun-
nomial approximations. If f(x) is continuous and suffi- cated power series, such as a Taylor polynomial, over the
ciently smooth, then interval [—1,1], the degree of the polynomial is lowered
by successively replacing the highest-order term x" by the
polynomial
f(x) = +ayT yx) “f > a,T (x), S853 Ile
k=1 PO G@)=x" =2- T.@);
Laurent series and the Padé table extend to the complex with the dummy argument in the subroutine definition.
case directly. While the theory of minimax approximation Thus, when QUAD is executed in response to the call
generalizes to these functions, the generalizations are not above:
very useful (e.g. uniqueness is lost in the multivariate
e The values used for a, b, and c will be, respectively,
case) and reliable algorithms for generating the approxi- 10.7, R1 + 6.23, and s*s, with the latter two being
mations do not exist. Except for certain elementary func- evaluated using the current calling program values
tions, direct approximations to complex or multivariate
for R1 and s.
functions are not often used in computer applications.
e The variable i in the calling program will be set
Instead, indirect evaluation methods based upon recur-
equal to the value of mode in the procedure.
rence relations, differential equations, etc., are used.
e The main program variables y and z will contain
the results of the solution of Eq. (1) after execution
References
of Quad.
1967. Meinardus, G. Approximation of Functions: Theory and Nu-
The dummy arguments that are preceded by var in
merical Methods, translated by L. Schumaker, New York:
Springer-Verlag. Fig. 1 — y, z, and j — are call-by-reference arguments in
1968. Fike, C. T. Computer Evaluation of Mathematical Functions. that only the storage locations but not the values of the
Englewood Cliffs, NJ: Prentice-Hall. calling arguments are transferred to the procedure. In this
1970. Cheney, E. W. Introduction to Approximation Theory, New way, the values given to x1, x2, and mode in the procedure
York: McGraw-Hill. are returned directly to the calling program. On the other
hand, a, b, and c are call-by-value arguments in that their
WILLIAM J. CODY
values are transmitted to the procedure, since there is no
need to send new values of these arguments back to the
calling program.
ARCHITECTURE, COMPUTER. see Formal arguments are always required to be identifi-
COMPUTER ARCHITECTURE. ers, but, as the example above indicates, actual argu-
ments may be identifiers or numbers or arithmetic
expressions. Most languages allow great generality in the
form of the actual arguments, although there may be
ARGUMENT requirements that the calling arguments have the same
For articles on related subjects see DATA TYPE; GLOBAL AND type as the formal arguments (i.e. a real calling argument
LOCAL VARIABLES; MACROINSTRUCTION; OPERAND; PROCEDURE; if the formal argument denotes a real variable).
and SUBPROGRAM. Subprogram arguments may also be classified as
input or output arguments, with the former denoting argu-
In strict analogy to mathematics, where an argument ments provided to the subprogram and the latter the
of a function is the value of a variable used to evaluate the arguments that convey results back to the main program.
function, an argument in computing is a value supplied to In the example given in Fig. 1, a, b, and c are input argu-
a procedure, a function, or a macroinstruction which is ments and mode, x1, and x2 are output arguments. Some-
required in order to evaluate the procedure, function, or times an argument may be both an input and output
macro. Another term sometimes used instead of argu- argument; for example, when a procedure to compute the
ment is parameter. next prime number receives as input the variable Pp denot-
Two different kinds of arguments need to be distin- ing the current prime number and returns the value of the
guished: dummy or formal arguments, and actual or calling next prime number to P. Sometimes the arguments of a
arguments. A dummy argument is an argument used in the subprogram may be implicit; i.e. they are not stated ex-
definition of a procedure, function, or macro; an actual plicitly in the statement heading the subprogram. This
argument is that which is substituted when the proce- happens, for example, when a procedure in a subblock
dure, function, or macro is invoked. For example, Fig. 1 uses variables global to that block.
displays a Pascal procedure to compute the solution of a
quadratic equation. ANTHONY RALSTON
ax? + bx +c=0
The variables a, b, c, mode, x], and x2 in Fig. 1 are all
dummy arguments. If this procedure were to be used to ARITHMETIC. See invervat ARITHMETIC; and SIGNIF-
compute the roots of ICANCE ARITHMETIC.
procedure QUAD (var x1,x2: real; var mode: integer; a,b,c: real);
var disc: real; { discriminant }
begin
{ Check for leading coefficient = 0 }
if a = 0 then { Both a and b = 0? }
if b = 0 then
mode :=0 {to indicate no root possible}
else
begin
x1 := —c/b;
mode := 1 {to indicate a single real root}
end
else
{ a ¥ 0so there are two roots }
disc:=b*b—-4.0*a*c;
if disc < 0 then
{ Complex roots (real part x1, imaginary part x2) }
begin
’ x1 := —b/(2.0 * a);
C x2 := sqtr(—disc)/(2.0 * a);
mode :=2 {to indicate complex roots}
end
else
{ Real roots - compute so as to avoid taking difference }
{ of two nearly equal quantities; x1 is root of}
{ larger magnitude}
begin
if b < 0 then
x1 := —b + sqrt(disc)
else
x1:= —b — sqrt(disc);
if x1 = 0 then x2 := 0
else x2 := c/(x1 * a);
mode :=3 {to indicate two real roots}
end
end;
FIG. 1
The arithmetic-logic unit (ALU) is that functional part A complete discussion of an ALU must describe its
of the digital computer that carries out arithmetic and three fundamental attributes:
logic operations on machine words that represent oper-
ands. It is usually considered to be a part of the central 1. Operands and results;
processing unit (CPU - g.v.). In some computer systems, 2. Functional organization; and
separate units exist for arithmetic operations (the arith- 3. Algorithms.
metic unit, AU) and for logic operations (the logic unit,
LU). Operands and Results Two kinds of ALU organiza-
ieMany computers contain more than one AU. For ex- tions can be distinguished with respect to the length of
ample, a separate Index AU is frequently employed to machine words. In machines with fixed word length, all
perform additions or subtraction operations on address words consist of the same number of bits. In machines
parts of instructions for the purpose of indexing, bound- with variable word length, one byte (or sometimes just
ary tests for memory protection, etc. Large computer one bit) is the shortest machine word. Longer machine
systems employ separate AUs for different classes of words consist of some integral number of bytes.
algorithms; for example, the IBM System 360, Model 91 The operands and results of the ALU are machine
contained a fixed-point AU and a floating-point AU. Multi- words of two kinds: arithmetic words, which represent
processor systems contain several identical ALUs; for numerical values in digital form, and logic words, which
example, the ILLIAC IV contained 64 identical ALUs with represent arbitrary sets of digitally encoded symbols.
associated memory modules. Arithmetic words consist of strings of digits. Conven-
78 — ARITHMETIC-LOGIC UNIT (ALU)
tional radix r number representations allow r values for 5. Encoding in error-detecting (or error-correcting)
one digit: 0, 1,..., 7 — 1. Practical design considerations codes.
have limited the choice of radices to the values 2, 4, 8, 10,
and 16. The value of every digit is represented by a set of The use of non-conventional number representations
bits. Radices 2, 4, 8, and 16 employ binary numbers having in computers as a means to increase the speed of arithme-
lengths of 1, 2, 3, and 4 bits, respectively, to represent the tic has been proposed. Extensive studies have been made
values of one digit. Radix-10 digit values are usually repre- of residue number systems (Svoboda, 1962) and of signed-
sented by four or five bits. Most commonly used are the digit number systems (Avizienis and Tung, 1970); how-
four-bit BCD (binary-coded decimal) and excess-3 encod- ever, they have not reached practical application in ALU
ings and the five-bit biquinary encoding (see CODES). design.
Two methods have been employed to represent neg- Logic words that serve as operands represent alpha-
ative numbers. In the sign-and-magnitude form, a separate numeric information and are subject only to logic algo-
sign bit is attached to the string of digits to represent the rithms that are applied to individual bits of the operands.
+ and — signs. (Usually, 0 represents the + sign, and 1 These algorithms are (1) negation for one operand, and
represents the — sign.) In the true-and-complement form, (2) the 16 two-variable logic operations for corresponding
the negative value —x is represented as the complement bits of two operands.
(q.v.) with respect to A of the value x; i.e.
Functional Organization and Algorithms of
—x is represented by A — x an ALU An ALU consists of three types of functional
parts: storage registers, operations circuits, and sequenc-
The value of A used in ALUs is either A= r"*! or A = ing circuits, as shown in Fig. 1. The inputs and outputs of
r"*! _ 1, when xis represented by n digits in the sign-and- the ALU are connected to other functional units of the
magnitude form. An illustration for radix 10 and radix 2 computer, such as the main memory, the program execu-
and n = 4 is given below. tion control unit, and input/output devices. A bus (q.v.) is
most frequently used as the means of connection. In some
Sign and A=10°-1 A=10° cases the ALU may be connected to two or more buses
Magnitude (9s complement) (10s complement)
within the computer system.
+4902 04902 04902 The input information received by the ALU consists
—4902 95097 95098 of operands, operation codes, and format codes. The
operands are machine words that represent numeric or
A=2?-1 A=2° alphanumeric information in the form of a string of binary
(1s complement) (2s complement) digits (bits). The operation code identifies one operation
from the set of available arithmetic and logic operations,
+1010 01010 01010 and also designates the location (within local storage) of
—1010 10101 10110
the operands and of the results. The designation of oper-
ands is omitted in ALUs with limited local storage; for
The use of complements to represent negative values
example, an ADD operation code in a single-accumulator
makes it possible to replace the subtraction algorithm in
ALU always means the addition of the incoming operand
an ALU by a complementation followed by an addition
to the operand in the accumulator register and storage of
modulo A.
the sum in the accumulator. The format code is used when
Other important properties of operands and results
the ALU can operate on more than one type of operand;
are (Avizienis, 1972):
for example, the ADD operation can be specified either for
fixed-point or for floating-point operands. Often, the oper-
. Location of the radix point.
ation code and the format code are represented by a
. Use of multiple-precision representations. single set of bits.
. Use of floating-point forms. The output information delivered by the ALU con-
mB
=
WH. Explicit designation of the number of significant sists of results, condition codes, and singularity codes. The
digits in a representation. results are machine words generated by the specified
Soares |
Operands Results
a Control Machine
Inputs signals | words Outputs
Vv v
Sequencing Operation
Operation and circuits circuits Condition and
format codes singularity code
operations and stored in the local storage registers. The is initiated by the receipt of the operation and format
condition codes are bits or sets of bits that identify spe- codes in the ALU. .
cific conditions associated with a result, such as that the The operation circuits consist of the adder (AD), the
value of the result is positive, negative, zero; that the shifter (SH), and the logic operator circuits (LO). The
result consists of all zeros, all ones, etc. The singularity adder forms the sum of the numbers in OPR and ACC and
codes indicate that the specified operation does not yield returns it to the ACC. When the length of the sum exceeds
a representable result. Examples of singularities are over- the standard word length, the overflow detection (OD)
flow, i.e. the value of the result exceeds the allowed range; circuit issues an overflow singularity code, and the excess
attempted division by zero, excessive loss of precision in digit of the sum is placed into an overflow digit position
floating-point operations, error caused by a logic fault, (AOD), which is located at the left end of the ACC. Sub-
etc. Singularity codes usually set a flip-flop in the machine traction is usually implemented as complementation of
status word. the subtrahend in OPR, followed by its addition to the
Internally, the ALU is composed of storage registers, minuend in ACC. A subtractor may be used instead of an
logic circuits that perform arithmetic and logic algo- adder in Fig. 2; in this case, subtraction is carried out
rithms, and logic circuits that control the sequence of directly, and addition is implemented as the complemen-
gating operations within the ALU. The diagram of a tation of the addend in OPR, followed by its subtraction
simple ALU is shown in Fig. 2. The ALU contains three from the augend in ACC.
registers: the operand register, OPR; the accumulator The SH circuits perform left-shift and right-shift oper-
register, ACC; and the multiplier-quotient register, MQR. ations on the words in ACC and MQR. A single-shift oper-
Each register contains one machine word, i.e. for a ation displaces every digit in the register to the adjacent
machine word length of n bits, the register consists of position on the left or on the right. Shifts are specified
n flip-flops. either for one register or for both registers simulta-
The gating of words into the ALU registers and from neously, with the rightmost position of ACC adjoining the
the registers into the operation circuits or out of the ALU leftmost position of MQR. There are three classes of
is controlled by the sequencing logic (SL), which applies shifts:
a sequence of gate-enabling signals to the gates G; of Fig.
2. Each sequence corresponds to one of the algorithms 1. Circular shifts (rotations). The rightmost and the
provided within the ALU. The sequencing logic is leftmost positions of a register are treated as
implemented either in “hard wired” form, using counters adjacent during the shift.
and decoding circuits, or by means of a micro- 2. Logical shifts. Digits are discarded from end posi-
programmed control unit. The sequence of gating signals tions and zeros are inserted; e.g. during a single
tm NSE atl
Overflow
right shift, the rightmost digit is lost and the adders. Division employs redundant quotient recoding
leftmost position is filled in with zero. techniques with approximate estimates, or quadratic con-
3. Arithmetic shifts. The purpose of an arithmetic vergence, which uses fast multiplication to generate the
shift is to multiply (left) or to divide (right) the quotient (Anderson et al., 1967). The technique of pipelin-
operand by the radix r. For negative numbers, the ing has also been employed to increase the effective
sign bit must be treated with special care (see throughput of an ALU (Anderson ef al., 1967).
SHIFTING). The use of more storage registers within the ALU
increases the speed of computing by reducing the number
The shifter.is frequently designed as an integral part of the of memory accesses. Therefore, 8, 16, or more ALU regis-
ACC and MQ registers; they are then called shift registers. ters are often used instead of the three registers shown in
Multiplication and division operations are carried Fig. 2; each register may perform the function of ACC,
out as a sequence of additions or subtractions and arith- OPR, MQ, or index register (g.v.) and hence qualify as
metic shifts. The MQ register serves as the third register general registers (q.v.). In some architectures, several ALU
for these operations. In multiplication, the multiplicand x registers may be used to hold a stack (q.v.) of ALU oper-
is placed into the OPR register and the multiplier y into ands and results.
the MQ register of Fig. 2, while ACC is cleared to zero. The
least significant digit y, of the multiplier is sensed by the References
multiplier sensing (MS) circuit, and x is added y, times to
the contents of ACC. Then, ACC and MQ registers are 1962. Svoboda, A. “The Numerical System of Residual Classes,” in
Digital Information Processors. New York: Wiley Interscience,
arithmetically shifted one position to the right, and the
543-574.
next multiplier digit, y,, is sensed by the MS circuit. After 1965. Garner, H.L. “Number Systems and Arithmetic,” in Alt, F. L.
all n digits of y have been sensed, the double-length prod- (Ed.), Advances in Computers 6: 131-194. New York: Academic
uct xy is located in ACC and MQ registers. A roundoff Press.
operation is needed to reduce the product to single-word 1970. Avizienis A. and Tung, C. “A Universal Arithmetic Building
length. Element (ABE) and Design Method for Arithmetic Proces-
To perform division, the dividend is placed into the sors,” JEEE Trans. Comput. C-19, 8: 733-745 (August).
ACC. If the dividend is of double length, the MQ register 1979. Hwang, Kai. Computer Arithmetic: Principles, Architecture
receives its less significant half. The divisor is placed into and Design. New York: Wiley.
the OP register, and division is carried out as a sequence
of trial subtractions and left arithmetic shifts. Quotient ALGIRDAS AVIZIENIS
digits are generated one at a time in the quotient genera-
tion (QG) circuit and inserted at the right end of the MQ
register after each shift, beginning with the most signifi-
cant quotient digit, g,_,. After n steps, the quotient is ARITHMETIC SCAN
located in the MQ register and the remainder in the ACC For articles on related subjects see COMPILER CONSTRUC-
register. TION; EXPRESSION; GRAMMARS; LANGUAGE PROCESSORS; OPERA
The logic operator LO circuits perform the specified TOR PRECEDENCE; POLISH NOTATION; and WELL-FORMED
logic operation on pairs of bits in corresponding storage FORMULA.
positions a, of ACC and x; of OPR. The bits of the result are
returned to ACC. The usual set of operations includes NOT In the process of compilation into machine execut-
(one bit: a; or X,), AND (a; A x;), OR (@; V X;), EXCLUSIVE-OR (a; able code of a program written in a high-level language,
® x;), EQUIVALENCE (a; = x,), NAND (G; v X,) and NOR GG; A X,); the procedure for examining arithmetic expressions and
sometimes all 16 two-variable logic operations are pro- determining operator precedence, the order of execution
vided. of the operators, is often referred to as the arithmetic
An ALU may be bit-serial, byte-serial, or parallel, scan. Since syntactically correct arithmetic expressions
depending on how many digits are processed simulta- are well formed in that they possess regular properties
neously in the adder (or logic operator) circuits of Fig. related to the operands and the operators, many spe-
2. In a serial ALU, the adder adds one pair of digits at cialized parsing or scanning techniques have been de-
once; in a byte-serial ALU, it adds a pair of bytes veloped. One possible, but impractical, technique is to
(consisting of two or more digits); in a parallel ALU, it require the programmer to write arithmetic expressions
adds two full machine words. Machines with variable in fully parenthesized notation (i.e. parentheses must
word length have byte-serial ALUs, since the words be placed around each pair of operands and its asso-
consist of a varying number of bytes. The time required ciated operator) so as to obviate the need for knowledge
to complete one addition in the adder circuits is a basic about the relationships between operators in determin-
time unit of ALU operation. ing the order in which the operations are to be per-
The speed of execution of the algorithms in a parallel formed.
ALU may be increased by the use of various techniques Most commonly used are transformational systems,
(Garner, 1965). Addition speed is increased by use of which convert the normal infix form (i.e. the form in
carry-completion sensing, carry-lookahead, or conditional- which the operator is placed between its operands) to a
sum adders. Multiplication is accelerated by multiplier Polish form, in which there exists no parentheses and the
recoding and by the use of multiple-operand carry-save order of execution of the operators is specified by their
ARITHMETIC, COMPUTER 81
positioning. Such a system is needed because of the diffi- of vital importance in computer applications. How com-
culty of associating operands with operators in infix nota- puters store numbers and perform arithmetic and how
tion. As an example, consider the expression computer arithmetic differs from ordinary hand compu-
tation are topics that should be understood by anyone
(A * X + B)/(C * X -D) (1) who uses computers.
which, because of the usual precedence relations among Computer Storage of Numbers A memory cell
arithmetic operators, is to be interpreted in fully paren- is the smallest unit of addressable computer memory.
thesized notation, as Word-oriented computers typically use large cell sizes,
such as 60 or 64 bits. Byte, or character, addressable
(((A*X) + B)/ (C*X) — D)) (2) computers address memory in small units called bytes. (In
this article, a byte is assumed to be an 8bit cell. In the
By use of a classical algorithm, which scans across the hexadecimal number system, a byte is stored as two
string in expression (1) from left to right just once, this hexadecimal digits, or hexits.) In word-oriented comput-
string can be converted to the Polish postfix string ers, a number is stored in one word, while in byte-ori-
ented computers, a number is stored in multiple bytes (2,
AX*B + CX*D —/ (3) 4,8, 10, and 16 bytes have been commonly used). “Single-
precision” numbers typically occupy 32 bits of storage,
which, without a need for parentheses or precedence and “double-precision” numbers occupy 64 bits.
relations, has uniquely the interpretation’of expression A given number may be stored in one of two formats:
(2). With one more single scan across the string, it can be fixed-point or floating-point. Fig. 1 illustrates the storage of
compiled into machine code. two numbers, 0.15625 and 57.8125, as fixed-point num-
The arithmetic scan described above is a special bers in a 32-bit format. Throughout this article, numbers
case of a general syntactic analyzer that uses precedence in the text will be decimal numbers and those illustrated
relationships (see also COMPILER CONSTRUCTION). will be binary. For convenience, only positive numbers
J. A. N. LEEAND ANTHONY RALSTON
will be used in examples. Storage of negative numbers can
be either in absolute value and sign form or in comple-
ment form (see COMPLEMENT).
Two points are worth noting about the numbers in
ARITHMETIC, COMPUTER Fig. 1:
For articles on related subjects see COMPLEMENT; INTERVAL
ARITHMETIC; NUMBERS AND NUMBER SYSTEMS; PRECISION; 1. The left-hand bit (S or bit 0) represents the sign
ROUNDOFF ERROR; SIGNIFICANCE ARITHMETIC; and SIGNIFICANT of the number; 0 is used for positive numbers and
DIGIT. 1 for negative numbers.
. The normal binary point (i.e. the “decimal” or
The earliest electronic computers were developed in radix point) is assumed to be at the left end of the
the 1940s to provide arithmetic engines capable of solv- number, just to the right of the sign bit. The
ing a variety of problems, many of them military. Comput- programmer, however, may choose a different or
ers, as general symbol manipulators, now solve other implicit binary point, so long as computation is
intriguing problems, but numerical calculations are still done consistently with respect to the chosen
1
1a) 0:15625:= 125 + .03125.= ;
=+
32
Sao 23
4 56 31
Normal Implied
binary binary
point point
alternative position. A computer calculating with 57.8125 in Fig. 1(b) would be represented as .578125 * 10”,
fixed-point numbers assumes that the binary where .578125 is the fraction, 10 is the radix, and 2 is the
point is always in the same, fixed location— exponent. Using floating-point terminology, the fraction
hence the name “fixed point.” In this article and .578125 is called the mantissa. The term floating-point is
in some computers, this assumption is as shown used because the radix point is not fixed, but can move,
in Fig. 1, but some computers assume the binary or “float,” depending on the value of the exponent. Float-
point to be at the right end of the number. When ing-point implementations provide solutions to the two
the latter is done, all bit patterns normally repre- scaling problems and also facilitate computations with a
sent whole numbers, or integers. Integer arithme- larger range of numbers than can be handled effectively
tic is discussed later. with fixed-point systems.
To store a single-precision floating-point number in a
Hardware for storing and manipulating numbers in byte-addressable memory, separate portions of the four
fixed-point form was the only kind available in early com- bytes must be assigned to the sign bit, the exponent, and
puters. The arithmetic of fixed-point numbers created the fraction. A floating-point format for N bits is labeled
several major problems: (X,Y) where 1) X + Y + 1=VN, 2)X bits are allocated to
the exponent, and 3) Ybits are allocated to the mantissa.
1. How could numbers with magnitudes of 1 or For any fixed number of bits N, increasingX increases the
greater be handled? Such numbers can be stored range of representable numbers but decreases the preci-
as fixed-point numbers, but when using these sion, while decreasing X produces a finer precision but
numbers in computations, programmers must be less numeric range. Fig. 2 displays 32-bit binary floating-
careful to keep track of the implicit location of point formats for 0.15625 and 57.8125. Fig. 2(a) shows
the radix point. 0.15625 in (7,24) format, and Fig. 2(b) shows 57.8125 in
2. More significant problems occur when two num- (8,23) format.
bers have implicit radix points in different posi- The following two comments pertain to Fig. 2.
tions. How could these be added, subtracted,
multiplied, and divided? Fig. 1(b) uses an implied 1. As with fixed-point numbers, the binary point of
radix point to show how 57.8125 could be stored. the mantissa is assumed to be in the same place,
As an example of these two problems, consider usually at the left end, but some implementations
adding the numbers in Fig. 1(a) and Fig. 1(b). position the binary point at the right end. The
Before bit-by-bit addition can be done, one of the sign bit (S or bit 0) always represents the sign of
numbers must be shifted relative to the other. the mantissa.
2. Special techniques are needed to represent expo-
The term scaling is used for the twin activities of shifting nents, which may be zero, positive, or negative.
the numbers and choosing the location of the implicit One technique is to let bit 1 denote the sign of the
binary point. Numbers are usually scaled before they are exponent, but, more commonly, “biased” expo-
stored or used in computations. Scaling is difficult and nents are used. The format in Fig. 2(a) uses “bias-
tedious for all but the simplest calculations. Scaling prob- 64” to represent any signed exponent —64 to +63
lems led to the introduction of floating-point hardware by producing unsigned numbers 0 to 2’ — 1 =
capabilities, which are now used for the vast majority of 127. Thus 1000000 represents the exponent 0,
numerical computations on computers. 1000001 represents 1, 0111111 represents —1,
Numbers stored in “floating-point” format closely re- and so forth. Fig. 2(b) uses “bias-128” and can
semble “scientific notation.” A number in scientific nota- represent any signed exponent from —128 to
tion is represented. f* R“, where fis a fraction in the range +127. For floating-point hardware to work cor-
0 <=f<1,Ris the radix (usually 10), and Eis the signed rectly, the computer system’s arithmetic unit
integral power (exponent) of the radix. Thus, the number must be able to interpret the biased exponents
offofo}efofsfo[sfo]sfofees
fe] Setos +2 <otsees | Bias-64 exponent
° + Exponent —>|«—____ Mantissa
1110011101 * 26 = 57.8125
Bias-128 exponent
<——-. Exponent —+>|«—______ Mantissa ae
ing-point comparisons.)
i
First register Second register
Floating-point mantissas are usually stored in a “normal-
ized” form, which requires the most significant digit to
be non-zero. Systems using binary formats often “imply”
jofofofsfo} — fo|s]sfo]|= ase ~ 256
S$) An 2s45 wo at
Fo el eee
2 iH}
ale
|
—_
Soilie2nci4aigs © Bare
(| aa
6 lll) pela ES alN
Sole Zeon 4 75 eel
S S
Pee : ? 23
Dividend (In adjacent registers) 1 1 = 64
Ss
a
Divisor
Gi =
= 46
F
Quotient fof1fafof1 sneak
= 46
ind
Remainder
[0}o]
1]=35g = 056
3/
Check: 23_ _64_ 13, VY
§256_ 13, 1 _ 23
28 — whe 16 Oe Tere 112 28
with procedural languages using integer quantities. The STEP 1. Set E. = the larger of E, and E, (Assume in what
fixed-point format used to represent negative integers is follows that E, > = E,.)
usually 1’s or 2’s complement, with the latter now being STEP 2. Align the exponents. Shift F, to the right E, —
more common. Fig. 6 shows the integer representation of E, places (which causes F, and F, to have the same
32,767 in a 16-bit format. exponent, but may cause a loss of precision).
Appropriate adjustments must be made to handle the STEP 3. Add the mantissas. Set F. = F, + F,,.
“overflow” problem that occurs when a sum or product is STEP 4. Normalize. Shift F, to make its most significant
larger than the specified number of bits allowed for inte- bit 1, and adjust E. accordingly.
gers. Some languages handle overflow by wrapping the
This four-step algorithm is illustrated in Fig. 8, assum-
overflow around without indicating an error. For example,
ing a hypothetical computer with a binary (5,10) floating-
using Turbo Pascal’s 16-bit integers, the maximum ex-
point format using bias-16 exponents.
pressible integer is 32,767, and overflows wrap around the
In proceeding through the four steps, several points
value 2'® = 65,536 (thus 32767 + 2 = —32767 and 1024 *
are noteworthy:
33 = —31744).
Integer division in Fortran, Pascal, PL/1, etc., causes 1. Step 3 of Fig. 8(b) results in overflow. No error
remainders to be dropped. Fig. 7 illustrates what happens results because the “overflow” bit is always re-
in our hypothetical four-bit plus-sign computer in the tained and shifted right in Step 4. The calculation
evaluation of the Fortran statement “K = 14/5.” Because in Fig. 8(a) has no overflow, and normalization is
the remainder is discarded, K evaluates to 2. Procedural not necessary in Step 4.
language programmers using Fortran, Pascal, etc., should . The computed result is accurate in Fig. 8(b), but
be aware of such special handling, as the language the computed result in Fig. 8(a) is 57.9375, while
processor normally performs the necessary manipula- the theoretical result is 57.96875. The error is
tions. caused when F, has to be right-shifted eight
places, resulting in a loss of 1 bit of precision.
Floating-Point Arithmetic To add or subtract two . Many computers have instructions that allow
floating-point numbers, the exponents must be the same. programmers to choose unnormalized floating-
If the rightmost mantissa digit of a floating-point number point operations. Thus, Step 4 in our algorithm
is 0, shifting the mantissa one digit to the right and in-
creasing the exponent by one produces an equivalent S
vivdens [o]o]o]0]o)
S
ole] ]sfo)
floating-point number. The following algorithm for float-
ing-point addition uses this shifting technique. Suppose A
and B are to be added, producing C as a result. Let the
exponent and fractional parts be denoted by E_, E,, and E.
and F_, F,, and F., respectively. ower [ololi[s
32767 = 382K -—1=11ee*
15) ds
1
owe [ooo]
S ie? 15
EE ae | le Remainder (discarded)
(a) S$ 1 516 15
(b) Ss 516 15
aol+}o]ofofo|+]s]o]+[ofofofofo| 8125 = (1101 * 2°
Si 516 15
8 [o}1]o]o]o/o|1]o]o]1)o[o]ofofo| 5625 = .1001 * 2°
Sai 516
step4 nomatza [0]4/o/o/o]+|1]o]1]+]o/o]o]o]o]0
=
can be avoided in the unnormalized instructions. ate operation is performed on the mantissas, the result
Procedural language processors always use nor- rounded, the exponents added (for multiplication) or sub-
malized instructions. Thus, unnormalized in- tracted (for division), and then the result normalized, if
structions are normally available only to necessary. Examples are shown in Fig. 10.
assembly language programmers.
4. Floating-point subtraction, or addition of num-
bers with differing signs, may result in a normal- Overflow
ization that requires a left shift of F.. In some Sal 5,6 15
computing systems, the bits shifted right in Step
2 will be retained, and these will now be shifted DED ARE RB BBE REG
left to avoid the loss of precision that would be 5,6 15
caused if zeros were inserted on the right. Some
computers also retain guard bit(s) that can be wed GewOe ee Seago <
shifted left during normalization.
The correct sum A + B is 1.01 * 2'6, which when normalized,
is .101 * 216, and the exponent of +16 cannot be accommodated.
Overflow can occur in any operation where the magnitude
of the result exceeds the floating-point capacity. No mat-
ter how many bits are allotted to floating-point opera-
tions, examples illustrating overflows can easily be Underflow
constructed. Fig. 9 shows an example of an addition caus- Sel 5,6 15
ing an overflow in our hypothetical (5,10) system. Such an
overflow can be handled in three different ways: making SOO RBOR HAH OBBAOBE
RS
the overflowed result the largest possible number, setting 5,6
an indicator the programmer can test, or, finally, aborting
the program with an appropriate error message. Ec Re se eaeeb aes"
Underflow results from an attempt to produce a non-
The correct product AB is .01 * 2~'7, which cannot be accomodated
zero result smaller in magnitude than the smallest possi- as a normalized number, but could be stored as
ble positive floating-point number. The usual method of
S$ 1 fo 1a
handling underflow is to generate a zero result, but some-
times an underflow indicator is also set, which the pro-
grammer can test. Fig. 9 shows an example of underflow.
Floating-point multiplication and division techniques
do not require exponent alignment. Instead, the appropri- FIG. 9. Floating-point overflow and underflow.
86
FIG. 10.
AJB
J
ARITHMETIC, COMPUTER
S 1
a [of+fo]s[+[+]o[+]o}o}1]-
8 [ofo]s]+[+[1]o]o]+]ojo}
=3x2"
4,5
ap [o|1[o[o]+|1]o]1]1]+ Jo]=g5+2"
+]fol+]sfofo]s]ofo]= gz"
Floating-point multiplication and division.
10 Motorola, SUN, MIPS,
standard. The IBM/370,
point formats are given
The IBM, Digital,
tended” capabilities of
and others now conform to the
DEC VAX (q.v.), and IEEE floating-
in Table 1.
and IEEE formats include “ex-
128, 128, and 80 bits, respectively,
but these are not shown or discussed here. Some com-
ments, relating to the “single-precision” formats pre-
sented in Fig. 11, are as follows.
Bits in: S D S D H S D
Total bits 32 64 32 64 64 32 64
Mantissa 6 HX 14 HX 23B 55B 52B 23B 52B
Exponent bits 7 if 8 8 11 8 11
Exponent bias 64 64 128 128 128 127 127
Radix 16 16 2 2 2 2 2
Hidden ’1’ No No Yes Yes Yes Yes Ye
Maximum 16° 16° gi27 gl27 g1023 27 pl02s
The Fortran Program The GWBASIC Program Despite the IEEE Standard, finding better im-
plementations of “real number” arithmetic on computers
Koes 1893 1.015 10 X = 78931.15
remains an active research area. The 32-bit Symmetric
0052001 ons l.3.~-20.. FOR: 1 =-T .10<3
Level Index (SLI) method (Clenshaw et al., 1989) signif-
Keay Xue 0:01 eo 30 k= X. +. 0-01
icantly increases both the range and precision of ex-
PRINT. X 40 PRINT X
pressible numbers and better handles closure and
20 CONTINUE SOV NEXT?
underflow/overflow problems. In the early 1990s, SLI
STOP 60 END
arithmetic is in a position similar to the 1950s floating-
END
point/fixed-point scenario; SLI has obvious advantages
over floating-point, but is approximately 10 times slower,
The Results
and thus has seldom been implemented.
IBM VAX/VMX IBM PC
Fortran Fortran GWBASIC References
78931.12 78931.16 78931.16 1974. Sterbenz, P.H. Floating Point Computation. Englewood Cliffs,
78931.12 78931.16 78931.16 NJ: Prentice Hall.
78931.12 78931.17 78931.18 1979. Coonen, J., Kahan, W., Palmer, J., Pittman, T., and Stevenson,
D. “A Proposed Standard for Floating-Point Arithmetic,” ACM
FIG. 11. Different Floating-Point Results. SIGNUM Newsletter, Oct.
1981. Cody, W.J. “Analysis of Proposals for the Floating-Point
icands, SN, for the three formats is: JBM 1/16 = Standard,” JEEE Computer, March.
0.0625 < = SN < 1; VAX 1/2 = 0.5 < =SN < 1; and 1982. Waser, S., and Flynn, M. Jntroduction to Arithmetic for Digital
IEEE 1.0 < = SN < 2. The latter two bounds Systems Designers. New York: Holt, Reinhart, and Winston.
reflect a difference in treatment of the implicit 1 1985. Binary Floating-Point Arithmetic, IEEE Standard 754, IEEE.
1989. Clenshaw, C., Olver, F., and Turner, P. “Level-Index Arithme-
bit: in the IEEE format, a mantissa f represents 1.
tic: An Introductory Survey,” in Numerical Analysis and Paral-
f, whereas on the VAX, frepresents .1 f—i.e. 1/2
lel Processing, LNM 1397. New York: Springer-Verlag.
(1. f). This difference, plus the difference in bias, 1989. Levy, H.M., and Eckhouse, R.H., Jr. Computer Programming
means that any given VAX floating-point bit pat- and Architecture, The VAX, 2nd Edition. Bedford, MA: Digital
tern would have four times the value if interpre- Press.
ted under IEEE rules. 1991. Goldberg, David. “What Every Computer Scientist Should
Know About Floating-Point Arithmetic,” ACM Computing Sur-
Fig. 11 contains a short program that uses the veys, 23, 1 (March), pp. 5-48.
32-bit, single-precision formats and that illustrates the 1991. Swartzlander, Ear] E. Jr. Computer Arithmetic, Vols. 1 and Il.
output differences in computed numbers on different Los Alamitos, CA: IEEE Computer Society Press.
machines.
THOMAS J. SCOTT
1. Closure:
Addition: a + b is a real number.
Multiplication: a * b is a real number.
ART, COMPUTER. See Computer Art.
2. Associative laws:
Addition: a + (b + c) = (a+b) +c.
Multiplication: a * (b * c) = (a* b) *c.
3. Distributive law:
a*(b +c) =a*b + atc.
ARTIFICIAL INTELLIGENCE
4. Cancellation Property: For articles on related subjects see COGNITIVE SCIENCE; COM-
a+b=a+cimplies b=c. PUTER CHESS; COMPUTER GAMES; COMPUTER MUSIC; COMPUTER
VISION; EXPERT SYSTEMS; KNOWLEDGE REPRESENTATION; NATURAL
For real numbers, these laws depend on two facts:
LANGUAGE PROCESSING; PATTERN RECOGNITION; ROBOTICS;
1. There are infinitely many reals. SPEECH RECOGNITION AND SYNTHESIS; and THEOREM PROVING.
2. Between any two reals is another real.
Because of the finiteness of floating-point numbers, the Introduction Artificial intelligence’ (AD is a field of
shifting required in additions, and underflow/overflow computer science and engineering concerned with the
handling, none of these laws is valid for all floating-point computational understanding of what is commonly called
number combinations. The failure of these laws for float- intelligent behavior, and with the creation of artifacts that
ing-point numbers is sometimes easily overcome, but,
often, computed results differ dramatically from what is IThis article is a revised version of Shapiro, S. C. “Artificial Intelli-
expected. A comprehensive treatment of floating-point gence,” in S. C. Shapiro, Ed. Encyclopedia of Artificial Intelligence,
numbers and their anomalies is found in Sterbenz (1974). Second Edition. New York: John Wiley & Sons, 1991.
88 ARTIFICIAL INTELLIGENCE
exhibit such behavior. This definition may be examined program, it was the first program in history that could
more closely by considering the field from three points of solve symbolic integration problems at the level of fresh-
view: computational psychology, computational philoso- man calculus students, and was considered an AI project.
phy, and advanced computer science. Now that there are multiple systems on the market that
can do much more than what SAINT did, these systems
Computational Psychology The goal of computational are not considered to be the results of Al research.
psychology is to understand human intelligent behavior
by creating computer programs that behave in the same Heuristic Programming Computational psychology,
way people do. For this goal it is important that the computational philosophy, and advanced computer sci-
algorithm expressed by the program be the same algo- ence are subareas of Al divided by their goals. Al research-
rithm that people actually use, and that the data struc- ers wander among two or all three of these areas
tures used by the program be the same data structures throughout their career, and may even have a mixture of
used by the human mind. The program should do quickly these goals at the same time.
what people do quickly, should do more slowly what Another way of distinguishing Al as a field is by noting
people have difficulty doing, and should even tend to the AI researcher’s interest in heuristics (g.v.), rather than
make mistakes where people tend to make mistakes. If the in algorithms (q.v.). Here 1am taking a wide interpretation
program were put into the same experimental situations of a heuristic as any problem-solving procedure that fails
that humans are subjected to, the program’s results to be an algorithm or that has not been shown to be an
should be within the range of human variability. algorithm, for any reason. An interesting view of the tasks
that AI researchers consider to be their own may be
Computational Philosophy The goal of computational gained by considering those ways in which a procedure
philosophy is to form a computational understanding of (g.v.) may fail to qualify as an algorithm.
human-level intelligent behavior, without being restricted By common definition, an algorithm for a general
to the algorithms and data structures that the human problem P is an unambiguous procedure that, for every
mind actually does (or conceivably might) use. By “com- particular instance of P, terminates and produces the
putational understanding” is meant a model that is ex- correct answer. The most common reasons that a heuris-
pressed as a procedure that is at least implementable (if tic H fails to be an algorithm are that it doesn’t terminate
not actually implemented) on a computer. By “human- for some instances of P, it has not been proved correct for
level intelligent behavior” is meant behavior that, when all instances of P because of some problem with H, or it
engaged in by people, is commonly taken as being part of has not been proved correct for all instances of P because
human intelligent cognitive behavior. It is acceptable, P is not well-defined. Common examples of heuristic Al
though not required that the implemented model perform programs that don’t terminate for all instances of the
some tasks better than any person would. Bearing in mind problem that they have been designed for include search-
Church’s Thesis (see CHURCH, ALONZO), this goal might be ing (¢.v.) and theorem proving (q.v.) programs. Any
reworded as asking the question, “Is intelligence a com- search procedure will run forever if given an infinite
putable function?” search space that contains no solution state. Gédel’s In-
In the AI areas of computer vision (g.v.) and robotics completeness Theorem states that there are formal theo-
(g.v.), computational philosophy is replaced by computa- ries that contain true but unprovable propositions. In
tional natural philosophy (science). For example, com- actual practice, Al programs for these problems stop after
puter vision researchers are interested in the some prespecified time, space, or work bound has been
computational optics question of how the information reached. They can then report only that they were unable
contained in light waves reflected from an object can be to find a solution even though—in any given case—a little
used to reconstruct the object. Notice that this is a differ- more work might have produced an answer. An example
ent question from the computational psychology ques- of an AJ heuristic that has not been proved correct is any
tion of how the human visual system uses light waves static evaluation function used in a program for playing
falling on the retina to identify objects in the world. computer chess (q.v.). The static evaluation function re-
turns an estimate of the value of some state of the board.
Advanced Computer Science The goal of advanced To be correct, it would return + if the state were a sure
computer science is to push outwards the frontier of what win for the side to move, —~ if it were a sure win for the
we know how to program on computers, especially in the opponent, and 0 if it were a forced draw. Moreover, for any
direction of tasks that, although we don’t know how to state it is theoretically possible to find the correct answer
program them, people can perform. This goal led to one algorithmically by doing a full minimax search of the game
of the oldest definitions of Al: the attempt to program tree rooted in the state being examined. Such a full search
computers to do what, until recently, only people could is infeasible for most states, however, because of the size
do. Although this expresses the idea of pushing out the of the game tree. Nonetheless, static evaluation functions
frontier, it is also perpetually self-defeating in that, as are still useful, even without being proved correct.
soon as a task is conquered, it no longer falls within the An example of a heuristic Al program that has not
domain of Al. Thus, Al is left with only its failures; its been proved correct because the problem for which it has
successes become other areas of computer science. The been designed is not well-defined is any natural language-
most famous example is the area of symbolic calculus (see understanding program or natural language interface.
COMPUTER ALGEBRA). When James Slagle wrote the SAINT Since no one has any well-defined criteria for whether a
ARTIFICIAL INTELUGENCE 89
person understands a given language, there cannot be Cognitive science (qg.v.) is an interdisciplinary field
any well-defined criteria for programs either. that studies human cognitive behavior under the hypoth-
esis that cognition is (or can usefully be modeled as)
Early History Although the dream of creating intelli- computation. AI and cognitive science overlap in that
gent artifacts has existed for many centuries, the field of there are researchers in each field that would not con-
artificial intelligence is considered to have had its birth at sider themselves to be in the other. Al researchers whose
a conference held at Dartmouth College in the summer of primary goal is what was called advanced computer sci-
1956. The conference was organized by Marvin Minsky ence earlier in this article generally do not consider them-
and John McCarthy, and McCarthy coined the name “arti- selves to be doing cognitive science. Cognitive science
ficial intelligence” for the proposal to obtain funding for contains not only AI researchers, but also cognitive psy-
the conference. Among the attendees were Herbert Simon chologists, linguists, philosophers, anthropologists, and
(g.v.) and Allen Newell, who had already implemented the others, all using the methodology of their own disciplines
Logic Theorist program at the Rand Corporation. These on a common problem—that of understanding human
four people are considered the fathers of Al. Minsky and cognitive behavior.
McCarthy founded the AI Laboratory at M.IL.T.; Simon and Computational linguistics researchers use comput-
Newell founded the AI laboratory at Carnegie-Mellon Uni- ers, or at least the computational paradigm, to study
versity. McCarthy later moved from M.LT. to Stanford and/or to process human languages. Like cognitive sci-
University, where he founded the AI laboratory there. ence, computational linguistics overlaps Al. It includes
These three universities, along with Edinburgh Univer- those areas of Al called natural language understanding,
sity, whose Department of Machine Intelligence was natural language generation, speech recognition and syn-
founded by Donald Michie, have remained the premier thesis (g.v.), and machine translation (q.v.), but also non-
research universities in the field. The name artificial intel- AI areas, such as the use of statistical methods to find
ligence remained controversial for some years, even index keywords useful for retrieving a document.
among people doing research in the area, but it eventually
was accepted. Al-Complete Tasks _ There are many subtopics in the
The first Al text was Computers and Thought, edited field of Al—subtopics that vary from the consideration of
by Edward Feigenbaum and Julian Feldman, and pub- a very particular, technical problem, to broad areas of
lished by McGraw-Hill in 1963. This is a collection of 21 research. Several of these broad areas can be considered
papers, some of them short versions of Ph.D. disserta- Al-complete, in the sense that solving the problem of the
tions, by early AI researchers. Most of the papers in this area is equivalent to solving the entire Al problem—pro-
collection are still considered classics of AI, but of partic- ducing a generally intelligent computer program. Re-
ular note is a reprint of Alan M. Turing’s 1950 paper in searchers in one of these areas may see themselves as
which the Turing Test was introduced (see TURING, ALAN). attacking the entire Al problem from a particular direc-
Regular AI conferences began in the mid to late 1960s. tion. The following sections discuss some of the Al-com-
The Machine Intelligence Workshops series began in 1965 plete areas and, where appropriate, point to other articles
in Edinburgh. A conference at Case Western University in relevant to those areas.
Spring, 1968 drew many of the U. S. Al researchers of the
time, and the first biennial International Joint Conference Natural Language The AI subarea of natural language is
on Artificial Intelligence was held in Washington, D. C. in essentially the overlap of Al and computational linguistics
May, 1969. Artificial Intelligence, still the premier journal (see above). The goal is to form a computational under-
of Al research, began publication in 1970. standing of how people learn and use their native lan-
For a more complete history of Al, see McCorduck, guages, and to produce a computer program that can use
1979. a human language at the same level of competence as a
native human speaker. Virtually all human knowledge has
Neighboring Disciplines Artificial intelligence is been (or could be) encoded in human languages. More-
generally considered to be a subfield of computer sci- over, research in natural language understanding has
ence, though there are some computer scientists who shown that encyclopedic knowledge is required to under-
have only recently and grudgingly accepted this view. stand natural language. Therefore, a complete natural
There are several disciplines outside computer science, language system will also be a complete intelligent sys-
however, that strongly impact AI and that, in turn, Al tem.
strongly impacts.
Cognitive psychology is the subfield of psychology Problem Solving and Search Problem solving is the
that uses experimental methods to study human cogni- area of Al that is concerned with finding or constructing
tive behavior. The goal of AI called computational psy- the solution to a problem. That sounds like a very general
chology earlier is obviously closely related to cognitive area, and it is. The distinctive characteristic of the area is
psychology, differing mainly in the use of computational probably its approach of seeing tasks as problems to be
models rather than experiments on human subjects. solved and of seeing problems as spaces of potential
However, most Al researchers pay some attention to the solutions that must be searched to find the true one or the
results of cognitive psychology, and cognitive psycho- best one. Thus, the Al area of search is very much con-
logists tend to pay attention to Al as suggesting possible nected to problem solving. Since any area investigated by
cognitive procedures that they might look for in humans. Al researchers may be seen as consisting of problems to
90 ASCIl
be solved, all of Al may be seen as involving problem traditional programming tools and methodologies. From
solving and search. the point of view of Al as a whole, probably the best thing
about this development is that after many years of being
Knowledge Representation and Reasoning Knowledge criticized as following an impossible dream by inappro-
representation (q.v.) is the area of Al concerned with the priate and inadequate means, AI has been recognized by
formal symbolic languages used to represent the knowl- the general public as having applications to everyday
edge (data) used by intelligent systems, and the data problems.
structures (g.v.) used to implement those formal lan-
guages. However, one cannot study static representation References
formalisms and know anything about how useful they are. 1950. Turing, A.M. “Computing Machinery and Intelligence.”
Instead, one must study how they are helpful for their Mind, 59 (October), 433-460.
intended use. In most cases, they use explicitly stored 1963. Feigenbaum, E. A. and Feldman, J., Eds. Computers and
knowledge to produce additional explicit knowledge. This Thought. New York: McGraw-Hill.
is what reasoning is. Together, knowledge representation 1979. McCorduck, P. Machines Who Think. San Francisco: W. H.
and reasoning can be seen to be both necessary and Freeman and Company.
sufficient for producing general intelligence, another Al- 1981. Barr, A. and Feigenbaum, E. A., Eds. The Handbook of Artifi-
complete area. Although they are bound up with each cial Intelligence, Vol. 1. Los Altos, CA: William Kaufmann, Inc.
other, knowledge representation and reasoning can be 1982. Barr, A. and Feigenbaum, E. A., Eds. The Handbook of Artifi-
cial Intelligence, Vol. Il. Los Altos, CA: William Kaufmann, Inc.
teased apart, according to whether the particular study is
1982. Cohen, P. R. and Feigenbaum, E. A., Eds. The Handbook of
more about the representation language/data structure or
Artificial Intelligence, Vol. III. Los Altos, CA: William Kaufmann,
about the active process of drawing conclusions. Inc.
1984. Winston, Patrick A. Artificial Intelligence. Reading, MA: Ad-
Learning Learning is often cited as the criterial charac- dison-Wesley.
teristic of intelligence, and it has always seemed like the 1985. Charniak, E. and McDermott, D. Jntroduction to Artificial
easy way to produce intelligent systems: Why build an Intelligence. Reading, MA: Addison-Wesley.
intelligent system when we could just build a learning 1989. Barr, A., Cohen, P. R., and Feigenbaum, E. A., Eds. The
system and send it to school? Learning includes all styles Handbook of Artificial Intelligence, Vol. IV. Reading, MA: Addi-
of learning, from rote learning to the design and analysis son-Wesley.
of experiments. It also includes all subject areas, which is 1990. Schalkoff, Robert. Artificial Intelligence: An Engineering Ap-
proach. New York: McGraw-Hill.
why it is Al-complete.
1991. Shapiro, S.C., Ed. Encyclopedia of Artificial Intelligence, 2nd
Edition. New York: John Wiley & Sons.
Vision Vision, or image understanding, has to do with
interpreting visual images that fall on the human retina or STUART C. SHAPIRO
the camera lens (see COMPUTER VISION). The actual scene
being viewed could be two-dimensional, such as a printed
page of text, or three-dimensional, such as the world
about us. If we take “interpreting” broadly enough, it is ASCII
clear that general intelligence may be needed to do the
For articles on related subjects see BINARY-CODED DECIMAL;
interpretation and that correct interpretation implies gen-
CODES; and EBCDIC.
eral intelligence, so this is another Al-complete area.
EXHIBIT 1
ASCII code values. (For explanation of symbols, see next page.)
=
a)
rc
£3)
s=|
SS Bit
8,7,6,5
positions
8
x
2
i
EXHIBIT 1 (Continued)
Special Graphic Characters
(or second hexadecimal digit) are listed on the side. Thus, as long ago as 1951 for a routine that assembled a master
for example, we have routine and a number of subroutines into a single pro-
The meanings of the control characters and special gram (Wilkes, Wheeler, and Gill, 1951), this function is
graphic characters are shown below the illustration. now typically called linking. The current established con-
notation of the term “assembler” probably derives from
IVAN FLORES
its function of assembling the internal binary form of the
program from symbolic definitions.
far as possible the time for the drum to rotate to the next TRA = ALPHA
instruction position, thus minimizing the latency (g.v.) LOC. § 6.16385
waiting for instructions. Such minimum-access coding ALPHA CLA BETA
involved a very difficult optimizing process, and it was STO DELTA
this that SOAP achieved. SYMB PAD a= S11 4159
The most significant event in the history of assem- SXO SYMB-2,4
blers was the Symbolic Assembly Program (SAP) for the S10 “S¥MB
IBM 704. The original SAP assembler (UASAP) was written
by programmers at United Aircraft Corporation and was Each instruction in this example is made up of three fields:
distributed by the SHARE organization. SAP set the exter- location (label), operation code, and address. The opera-
nal form of an assembly language that was to be a model tion codes are nmemonic, e.g. TRA = transfer control, CLA =
for all its successors and which persists almost un- clear accumulator, FAD = floating add, etc. The address
changed to the present day. On later versions of the 700 fields show the various possible constructions. In the first
series computers, SAP was replaced by FAP (Fortran As- line the address is a symbol ALPHA, as yet undefined. (It ap-
sembly Program). pears asa label on alater instruction.) In line 2 the address
is explicit, and in lines 3 and 4 symbols (presumably de-
fined elsewhere in the program of which this fragment
Facilities A typical machine instruction consists of an
forms a part) are used. Line 5 illustrates the use of a literal
operation code, an address, and one or more register
operand: the “equals” indicates that the 3.14159 following
fields. The address may refer to a data area or to another
is the actual value to be loaded by the FAD, not the address
instruction (e.g. the destination of a tranSfer of control).
of the operand. The next line illustrates a more complex
A SAP-like assembler provides a fixed set of mnemonic
address: It is a two-field form in which the first component
operation codes and an open-ended set of programmer-
is a storage address and the second component identifies
defined symbols for use in address parts. Such address
an index register to be used; in this example the storage
symbols may be defined explicitly or implicitly by attach-
address is specified as an expression.
ing them as labels to particular instructions or data
The following excerpt of OS/370 assembler code for
words. Although a symbol stands for an address, the
the IBM System/370 computers, whose purpose is to sum
assembler cannot convert label symbols directly into
13 numbers, shows how little things have changed.
addresses, since the address in storage into which a
particular instruction will be loaded is not known at L 3 -= FO" 7 CEBARY REGISTER
assembly time. (It is finally determined only when a L Sy = ok'0(2 2-US ING LTTERAL
number of routines are combined to form a complete LH v4 aha “LOAD REGISTER
program.) The difficulty is resolved by recording as the B BCNT ENTER LOOP
value of the label symbol the displacement of the instruc- BNEERS Alain So ShZ (3) INDEX, STZ, BY REG: 3
tion in question from the beginning of the code for the AH 3, = H’2’ . INCREMENT INDEX
subroutine, and marking it in the assembler output as a BCNT BCT 4,BNTER BRANCH ON COUNT
relative or relocatable value, to be adjusted later by the
linker or loader. ST = 5, BSUM
Thus, SAP introduced the basic structure of a sym- Siz DC HS 3225 51,52,510 48, 76,42 586.26,
bolic instruction as being made up of three fields: 14,4,32’
BSUMes 700 7 h0:
1. Location (possibly blank). A symbol placed here The three-field format is still used, though the mnemonics
takes as its value the address of the memory cell have changed. With the exception of the branch (8) order,
in which the corresponding instruction or data which has a label as its address, the address field is made
word will be stored: Thus it serves as a label by up of a register designator and a second field, which in
which it can be referenced by other instructions. these examples is either a symbolic store address or a
2. Operation code. The symbol here is one of a fixed literal. (For certain instructions it might be another regis-
repertoire of operation-code symbols. ter designator.)
3. Operand. This field is usually made up of a num- Literals are introduced by “equals,” but now include
ber of subfields, reflecting the address/register a type code (F = full word, H = half word). Indexing
structure of the computer. The subfields may be (modification) is illustrated in the line starting BNTER, and
simple integer constants or may be expressions finally there are specifications of a number of constants
made up of symbols (representing addresses), introduced by the pc (Define Constants) pseudo-opera-
constants, and simple arithmetic operations tion. The comments on the right are part of the
(usually plus and minus). Alternatively, a literal programmer’s documentation of the program.
operand may be supplied: The assembler will
store this and substitute the appropriate address Assembler Directives Assembler directives serve
in the instruction. two purposes. One is to provide information to control
the assembly process; the other is to provide a way of
defining data words in a program. Assembler directives
The following fragment of SAP coding illustrates this
structure. are often called pseudo-operations (a terminology intro-
94 ASSEMBLER
duced by SAP) since they are commonly designated by 3. Table of symbols used in a routine.
special codes in the operation field. A SAP-like pseudo 4. Cross-reference table: for each symbol defined,
operation is its name, value, and a list of all the instructions
that reference it.
symbol BSS integer constant
The form of the listing is generally controlled by one
which sets the symbol equal to the location counter, and
or more pseudo-operations; for example:
then advances the location counter by the amount desig-
nated by the constant. The effect is thus to reserve a block EIST FUE
of memory and label it for future reference. Another typi- LIST NONE
cal pseudo-operation is LIST SYMBOLS
symbol SET expression etc.
which assigns an explicit value to a symbol. Other uses of Other common pseudo-operations are EJECT, which
directives to control the assembly include setting the ori- causes a page feed on the printer at the point in the listing
gin, marking entry points, and defining external symbols. where it occurs, and SPACE n, which causes a spacing of n
We have seen an example of a data-generating blank lines in the listing. The listing corresponding to the
pseudo-operation in the fragment of 370 coding given program fragment for the IBM System/370 (given in the
above. Here the pseudo-operation DC (define constants) section “Facilities”) is shown in Fig. 1.
is followed by a list of constants, each with a type code. A Quite different symbolic instructions can nonethe-
simpler facility provided in some assemblers requires all less generate the same sequence of object code bytes.
the constants to be of the same type; e.g. the pseudo-op- Consider this excerpt from a DEC VAX assembler listing.
eration DEC introduces a list of decimal constants in the
Successive
address field.
Hex Bytes Address Line # Source code
FIG. 1. Example of Listing from System/370 assembler. The Loc column shows the address of each instruction relative to the
beginning of the program. The OBJECT CODE columns show the contents of the instructions as they will appear in memory. The ADDR]
(not used in this example) and Appr2 columns give the effective addresses of the operands. Thus, assuming general register 2 holds
the value 8, 2030 has the effective value 8 + 30 = 38. The st# column is a sequential line number for the programmer's convenience.
Note that columns to left of st# are all given in hexadecimal.
ASSEMBLER 95
This listing shows that the assembly language program- .repeat last-first+l; argument is
mer submitted eight different directives and one sym- ;repeat count
bolic instruction to the assembler, yet the assembler .long fofn; creates a longword
generated exactly the same 4 bytes of object code for sinteger
each of the nine lines of source code. The sequence of n=n+1 ;redefine
source code instructions has no practical significance ssymbol n
other than to demonstrate the single most important .endr
concept of stored-program computation: the context-de- .ENDM table
pendency of stored information. By this is meant that there
is no intrinsic meaning to any arbitrary object-code byte Arguments first and last specify the first and last values to
sequence; one must be told how the sequence will be be used for whatever actual argument is used in place of
used before it can be ascertained whether the bytes will n, and fofn (“f of n”) is a formula that involves n. To
be executed as an instruction or interpreted as data and, generate 20 odd numbers, the user could then write
if the latter, the type of data intended.
odds: table k,0,19,2*k+1
Macro Assemblers An important attribute of an as-
Similarly, to generate a table of cubes from 5 cubed
sembler is the ability to define and use macros (macroin-
through 15 cubed inclusive, the user could write
structions - q.v.). It often happens that a certain pattern of
instructions occurs in several places in a program with
cubes: table j,5,15,jxjxj
only minor variations. This is particularly the case if there
is a common operation that requires several machine
Such invocations of macro table must, of course, be stra-
orders for its execution; for example, the calling sequence
tegically placed in the source code such that flow-of-con-
for a call of another routine. Thus, to call the SAP routine
trol never reaches the labels odds or cubes (or any place
SUB with parameters A and B, it might be necessary to
interior to the generated tables).
write
Conditional Assembly A feature of many assem-
LDX 4,x
blers is the ability to assemble selectively pieces of pro-
TFR SUB gram. This is particularly useful in package programs that
NOP A have to provide a large number of options. In its simplest
NOP B form this facility is provided by a pseudo-instruction that
controls the assembly of the immediately following in-
The first instruction loads into register 4 the address of struction, but usually a more elaborate facility of assem-
itself; i.e. its location in storage. From this the subroutine bly-time jumps and labels is provided. Typically,
can compute the return address to resume operation of assembly-time labels (or sequence symbols) are pre-
the main program after the calling sequence. The param- ceded by a period and appear in the label field. However,
eters A and B are assumed to be addresses, and have been they are ignored by the assembler except in the context
placed as the address parts of two no-operation [i.e. null] of pseudo-instructions typically named AGO and Air. (The
instructions (see No-Op). Evidently, it would be conve- mnemonics are derived from “assembler GOTO” and “as-
nient for the programmer to be able to write sembler IF”) Let .ss be a sequence symbol; then
and have the system generate the four line calling se- causes assembly to be continued from the line in which
quence given above. The advantages of this approach are the symbol .ss appears in the label field (usually, this
threefold. The programmer writes less; the program is must be a forward jump), and
more readable: and if at some future stage the calling
sequence is changed, a change at one place in the pro- AIF (symbol-1 relation symbol—2) .SS
gram will insure that all CALLS are changed without the
need to alter each one individually. causes assembly to be continued from the line labeled .ss
A macro assembler allows the programmer to define if the condition is true; otherwise, assembly continues
macroinstructions as sequences of ordinary instructions, with the next line of code, as usual.
and provides a means of inserting variable information in Conditional assembly is an especially powerful tool
the generated sequences. when used in conjunction with macro definition. Consider
Macros can be used to generate built-in data se this DEC VAX macro, which places the average of oper-
quences, as well as executable instruction sequences. ands a and bin result:
The following DEC VAX assembler macro generalizes con-
struction of any table whose values can be formed by .MACRO average a, b, result
applying a formula supplied by the user of the macro: add] a,b,result sresult <— atb
ash] #-l,result,result ; result <—
-MACRO table n, first, last, fofn (a+b)/2
n = first ; initialize symbol n .ENDM average
96 ASSEMBLER
(The second instruction generated shifts the tentative During the second pass, the assembler will have to
result right one place (i.e. shift /eft —1 places) as a fast way recognize three sorts of quantities: absolute quantities,
of dividing by 2.) Now, in response to the user who calls relocatable quantities, and references to externally de-
the macro via ~ fined symbols. In the simplest case, all relocatable quan-
tities are expressed relative to an origin at the beginning
average low, high, mean of the routine. The assembler therefore has to categorize
the symbols as it builds up the symbol table, and then
the macro will be expanded (replaced in-place by) the two check for illegal combinations in expressions. (For exam-
instructions ple, it is meaningless to add two relocatable symbols,
though their difference may be a respectable absolute
addl low, high, mean ; mean <— low + high quantity.) The exact form of the output from the assem-
ashl #-1, mean, never ; mean <— (lowthigh)/2 bler depends on the linker. Typically, the assembler might
produce the following output.
(Amusingly, even the formal arguments used in the com-
ments are replaced by their actual argument counter- Header Name of routine,
parts, and the expanded comments happen to be correct!)
But now consider the invocation RLB Relocatable binary section: Consists of
binary symbolic code and relocation
average RO, RO, ans information,
(i.e. the average of two identical items is a copy of either). Use table Details of use of global and COMMON
No astute programmer would use the macro in lieu of the symbols in the routine (i.e. symbols
move instruction, but a preprocessor (g.v.) or a compiler used here but defined elsewhere).
might. The solution is to use conditional assembly to
generate one instruction, whenever the first two oper- The definition table carries information about sym-
ands are symbolically identical, and two otherwise: bols defined in this routine which are to have a global
meaning. Since these may be absolute or relative, the
.MACRO average a,b,result table must carry this information as well as the value. In
~if IDENTICAL a,b the case of a relative symbol the value is relative to the
movl a, result beginning of the routine.
cil festauliSe The use fable is more complex, since it records all
addl a,b,result occurrences of global symbols within the routine. Its
ashl #-1l,result,result exact form will depend on the facilities provided by the
.endc ; end conditional clause assembler—in particular the circumstances in which
.ENDM average global symbols can be used.
If multiple location counters are used, an extra block
It must be emphasized that the “condition” tested by must be output giving the amount of space used by the
conditional assembly must be one testable at assembly routine relative to each location counter. Each relocatable
time, not execution time. In the earlier invocation item will carry with it an indication of the relevant loca-
tion counter.
average low, high, mean
Meta Assemblers Assemblers for different ma-
it might happen that the run-time values of symbols low chines have much in common. They organize symbol
and high are the same, but, since their names were not the tables, evaluate expressions, and generate binary words
same at assembly time, there is no way to avoid genera- from a number of symbolic fields. The idea of a meta
tion of the inefficient two-instruction sequence. assembler is to provide a system with these general capa-
bilities, together with a means of describing (in machine-
The Working of the Assembler The “classic” independent form) the assembly rules for a particular
assembler takes a routine (or subprogram) and converts machine. The meta assembler accepts this description
it into binary symbolic form for subsequent processing by and then functions apparently as a normal assembler.
a linker. The conversion is accomplished in two passes The idea of a meta assembler originated with Fergu-
(i.e. the source program is scanned twice). The basic son (1966). The idea had been utilized in the Utmost
strategy is very simple. The first pass through the source assembler for the Univac III, Sleuth II for the Univac
program collects all the symbol definitions into a symbol 1107/8, and in Metasymbol for the SDS 900 series. An
table, and the second pass converts the program to binary important feature of these systems (which is usually
symbolic form, using the definitions collected in the first glossed over in their descriptions) is that the syntax of
pass. the input to a meta assembler is fixed. The semantics
ASSEMBLER 97
(meaning) of the symbolic information can be defined by emitted for what seems to be an assembly-language in-
the user, but the user cannot change the syntax. Thus, struction is actually determined by a procedure having
although it is possible in using a meta assembler to write the name of the desired machine instruction. In this way,
an assembler for most machines, it is not possible to and using procedures to produce the required effect for
mimic an existing assembler whose syntax will almost pseudo-instructions, a “conventional” assembler image
certainly be different than that of the meta assembler. can be built up.
(This is one of the many differences between a meta
assembler and a compiler- compiler - q.v.).
“High-Level” Assemblers An assembly language
The essentially new features of a meta assembler are
program is necessarily written at a fine level of detail, with
(1) the provision of assembly-time procedures and func-
each instruction representing a single primitive opera-
tions, and (2) a mechanism whereby the programmer can
tion. An unfortunate effect of working at this level of detail
define binary output formats and cause such binary out-
is that assembly language programs are rarely as perspic-
put to be generated.
uous as programs written in a high-level language can be.
Superficially, the input to a meta assembler looks like Recently there has been a development in the direc-
input to any assembler; each line has three fields—label, tion of high-level or Algol-like assembly languages that
operation, and operand. The label is optional: If there is a attempt to combine fine control over machine registers
symbol in this field, it is assigned a value equal to the and storage with a structure that reflects the overall
current location-counter value. The operation may be the structure of the program; for example, repetition loops,
name of a built-in system operation, in which case it is no conditional statements, and functions and procedures.
different from a pseudo-operation in a coriventional as- The facilities provided in such a language must corre-
sembler. If the operation is not the name of a built-in spond fairly closely to the actual hardware. For example,
operation, it is assumed to be the name of a programmer- we cannot include anything that depends on dynamic
defined procedure, which will be obeyed, taking the oper- storage allocation if the underlying hardware does not
and field as an argument. This procedure may have the provide such facilities. (Put another way, the compiler for
effect of generating some code, or may just perform an Algol-like assembly language cannot assume the exis-
housekeeping operations such as entering items in a tence of a “run-time system.” Every source statement
table. It should be particularly noted that the procedure except a procedure call must compile into open code.)
is obeyed during assembly. It-:is in many ways comparable The precise facilities provided in a system will depend on
to a macro, but instead of textual substitution we obey a the particular machine, but will typically include the fol-
piece of program written in meta-assembly language. This lowing.
may itself contain calls to other procedures.
The operand field contains an expression, or group 1. Symbolic names (identifiers) with associated
of expressions, made up of symbols and/or constants. types. The types will correspond to the storage
These expressions are evaluated by the system in the units manipulated by the machine instructions;
same way that a normal assembler evaluates its address for example, on the Digital Equipment Corpora-
field. Unlike a normal assembler, the expressions may tion VAX Series, they would include byte, word,
contain calls to user-defined functions. and longword.
Included in the built-in procedures are GEN and GENB,
2. Reserved identifiers for machine registers. A syn-
which output the values of the operand set as a sequence
onym facility may also be provided to associate
of words or bytes, respectively, and FORM, which allows other names with registers.
the user to define a named template for binary output.
3. Block structure, giving scopes to identifiers.
Thus,
4. Conditional and compound statements.
5. One-dimensional arrays, but not multidimen-
INSTRiFORM.6.,..3:51.4°5
sional arrays (these cannot be accessed by sim-
defines (for a 24-bit word machine) a template made up of ple indexing on most machines).
3 fields consisting of 6, 3, and 15 bits, and attaches the
6. Procedures and functions (with parameters
passed as addresses in general-purpose registers
name INSTR to this template. FORM is a built-in operation.
or ina stack - q.v.).
Suppose that subsequent to the definition of INSTR, we
write 7. Simple expressions (but nothing involving tem-
porary storage; all operators are of equal prece-
INSTR LDA, 7, ALPHA + 1 dence, and evaluation is by a simple left-to-right
scan).
(Here Instr is in the operation field, and the operand field 8. Provision for including basic assembly language
is a set of three expressions.) This will cause the three (e.g. for input operations).
elements of the operand set to be evaluated, truncated,
and concatenated to form a 24-bit binary output word. The first high-level assembler was the PL/360 system
(Note that this technique would allow the operation code described by Wirth (1968) in a classic paper. As its name
of an instruction to be written as an expression!) implies, it was designed for the IBM System 360 machines.
The meta assembler does not have any conventional An interesting development in this area is that the only
built-in operations for machine instructions. The code assembler provided by the manufacturers of the GEC
™
98 ASSOCIATION FOR COMPUTING MACHINERY (ACM)
4000 series machines is a high-level assembler (called in Delaware in December 1954. The following have held
BABBAGE). the office of ACM president:
J. H. Curtiss, 1947
References
John W. Mauchly, 1948-1950
1951. Wilkes, M. V., Wheeler, D. J., and Gill, S. The Preparation of Franz L. Alt, 1950-1952
Programs for an Electronic Digital Computer. Cambridge, MA: Samuel B. Williams, 1952-1954
Addison-Wesley. Alston S. Householder, 1954-1956
1956. Wilkes, M. V. Automatic Digital Computers. London: Methuen John W. Carr III, 1956-1958
& Co. Richard W. Hamming, 1958-1960
1965. Graham, Marvin Lowell and Ingerman, Peter Zilahy. “An
Harry D. Huskey, 1960-1962
Assembly Language for Reprogramming,” Communications of
Alan J. Perlis, 1962-1964
the ACM 8, 769-773.
1966. Ferguson, D. E. “The Evolution of the Meta-Assembly Pro- George E. Forsythe, 1964-1966
gram,” Communications of the ACM 9: 190. Anthony Oettinger, 1966-1968
1968. Wirth, N. “PL/360, A Programming Language for the 360 Bernard A. Galler, 1968-1970
Computers,” Journal of the ACM 15: 37. Walter M. Carlson, 1970-1972
1968. Feldman, Jerome and Gries, David. “Translator Writing Sys- Anthony Ralston, 1972-1974
tems,” Communications of the ACM 11, 77-113 (see Section C Jean E. Sammet, 1974-1976
and references therein). Herbert R. J. Grosch, 1976-1978
1978. Barron, D. W. Assemblers and Loaders, 3rd Ed. New York:
Daniel D. McCracken, 1978-1980
American-Elsevier.
Peter J. Denning, 1980-1982
1991. Federighi, F. D., and Reilly, E. D. VAX Assembly Language.
New York: Macmillan.
David H. Brandin, 1982-1984
Adele Goldberg, 1984-1986
DAVID W. BARRON AND EDWIN D. REILLY Paul W. Abrahams, 1986-1988
Bryan S. Kocher 1988-1990
John R. White 1990-1992
How Established ACM was founded at Columbia Technical Program The major organizational units
University on 15 September 1947, as the Eastern Associa- of ACM devoted to technical activities of its members are
tion for Computing Machinery. A constitution and bylaws the Special Interest Groups (SIGs). The SIGs operate as
were adopted in September 1949. ACM was incorporated semiautonomous bodies within ACM for the advance-
ASSOCIATION FRANCAISE POUR LA CYBERNETIQUE ECONOMIQUE ET TECHNIQUE [AFCET) 99
ment of activities in the following subject areas: Ada; APL; coverage of the state of the art in the various areas of
Applied Computing; Automata and Computability The computer science and business data processing. Transac-
ory; Architecture of Computer Systems; Artificial Intelli- tions on Mathematical Software (1975, quarterly) pub-
gence; Business Information Technology; Biomedical lishes theoretical and applied articles on mathematical
Computing; Computers and the Physically Handicapped; software as well as algorithms for computers. Transac-
Computers and Society; Data Communications; Computer tions on Database Systems (1976, quarterly) publishes
Personnel Research; Computer Science Education; Com- original papers on the theory and applications of all as-
puter Uses in Education; Design Automation; Documenta- pects of database systems and related subjects. Transac-
tion; Forth Programming Language; Computer Graphics; tions on Programming Languages and Systems (1979,
Hypertext, Hypermedia; Information Retrieval; Measure- quarterly) contains original work on the development
ment and Evaluation; Microprogramming; Management of and use of programming languages, methods, and sys-
Data; Numerical Mathematics; Office Information Sys- tems. Transactions on Graphics (1982, quarterly) contains
tems; Operating Systems; Programming Languages; Secu- papers on all aspects of computer graphics. Transactions
rity, Audit and Control; Symbolic and Algebraic on Information Systems (1983, quarterly) offers new con-
Manipulation; Simulation; Small and Personal Computing cepts in office automation for practical applications.
Systems and Applications; Software Engineering; and Uni- Transactions on Computer Systems (1983, quarterly) re-
versity and College Computing Services. ports original work in the design, implementation, and
The ACM Lectureship Series was instituted in 1961 to use of computer systems. Transactions on Modeling and
enrich chapter activities by providing acknowledged spe- Computer Simulation (1991, quarterly) publishes papers
cialists in various aspects of computing and its applica- on modeling and all forms of computer simulation. Trans-
tion as speakers. actions on Software Engineering and: Methodology (1992,
In 1966, ACM established the Turing Award (q.v.), quarterly) contains papers on all aspects of the design,
honoring computing pioneer Alan M. Turing (q.v.), and analysis, implementation and evaluation of software sys-
given annually to an individual selected for contributions tems. ACM also publishes Collected Algorithms of the ACM,
of a technical nature made to the computing community. the annual Guide to Computing Literature, and other spe-
The award carries an honorarium of $25,000. The recipi- cial editions under the auspices of the ACM Press.
ents to date have been: Alan J. Perlis, Maurice V. Wilkes, ACM sponsors the annual Computer Science Confer-
Richard W. Hamming, Marvin Minsky, J. H. Wilkinson, John ence, which is devoted mainly to brief reports of current
McCarthy, Edsger W. Dijkstra, Charles W. Bachman, Don- research. In addition, the Special Interest Groups and
ald E. Knuth, Allen Newell and Herbert A. Simon (jointly), other subunits sponsor numerous technical symposia
Michael O. Rabin and Dana Scott (jointly), John Backus, and meetings, primarily in North America, but also in
Robert Floyd, Kenneth E. Iverson, C. A. R. Hoare, Edgar F. various other parts of the world.
Codd, Stephen A. Cook, Ken Thompson and Dennis M.
ISAAC. L. AUERBACH
Ritchie (jointly), Nicklaus Wirth, John Hopcroft, Robert
Tarjan, John Cocke, Ivan Sutherland, and Robin Milner.
The ACM Distinguished Service Award was instituted
in 1970. Its recipients have been Franz Alt, J. Donald
ASSOCIATION FRANCAISE
Madden, George E. Forsythe, William Atchison, Saul Gorn,
John W. Carr Ill, Richard J. Canning, Thomas B. Steel, Jr., POUR LA CYBERNETIQUE
Eric A. Weiss, Carl Hammer, Bernard A. Galler, Aaron ECONOMIQUE ET TECHNIQUE
Finerman, Anthony Ralston, Grace Murray Hopper, Saul
Rosen, Clair Maple, Frederick P. Brooks, Jr., Thomas A.
(AFCET)
DeFanti, and Gerald Engel. A Software Systems Award was For an article on a related subject see INTERNATIONAL FEDER-
established in 1982. In 1971, in conjunction with the ATION OF INFORMATION PROCESSING.
twenty-fifth anniversary of the invention of the modern
digital computer, ACM established the Grace Murray Hop- AFCET, a non-profit association, is dedicated to pur-
per Award, to be given annually to the outstanding young suing and contributing to the development of the main
computer professional of the year as nominated by ACM. disciplines determining the progress of computer science,
To qualify, candidates must have been 30 years or youn- and the decision, organization, and systems sciences.
ger at the time the qualifying contribution was made. The AFCET is a meeting place for specialists anxious to
first award was to Donald E. Knuth. participate and keep up with scientific and technical de-
The ACM publishes twelve major periodicals: Journal velopment. By publishing specialized journals, bulletins,
of the Association for Computing Machinery (established in and monographs, as well as by organizing local, national,
1954, published quarterly) is devoted to technical papers and international events, AFCET ensures the diffusion of
information among its members.
of lasting value reporting on research and advances in the
computing sciences. Communications of the ACM (1958,
monthly) publishes technical papers and timely articles How Established The AFCET was established in
on topics of interest to the computing profession. Comput- 1969 as a result of the amalgamation of: AFIRO (Associa-
ing Reviews (1960, monthly) comprehensively covers the tion Francaise d’Informatique et de Recherche Oper-
literature on computing and its applications. Computing ationnelle), AFRA (Association Francaise de Regulation et
Surveys (1969, quarterly) presents comprehensive survey d’Automatisme), and AFIC (Association Francaise
100 ~=ASSOCIATIVE MEMORY
Bit ! Bit
(i— 1) | ti)
Flip-flop
Storage
Element
Equivalence
Associative
Store Output
FIG. 1. Schematic of an associative store of two words of three bits each being accessed by
match on two bits and by “don’t care” on one.
pages whose size may vary typically from 64 to 1,024 order to ascertain the existence in main memory of the
words. The small main memory will hold a small number word sought. If the page is already present, the associa-
of these, say 8 to 32, while the bulk store may have a tive store provides additional bits, giving its location in
capacity of thousands of pages. Data is transferred be- main store. If not present, related central processing unit
tween main and backup store in page-size quantities. (CPU) activity is halted while the page-memory access
When the central processor requires a new word of infor- mechanism establishes a main store page location whose
mation, high-order bits of its address are checked against contents are returned to backup storage, after which this
appropriate bits of an associative page-address store in area of main store is refilled with the required new page.
Main store Backup store
[1 [~~~]
63] 64)1
/
Nv Valid
tag
1 bit
Modif.
tag
1 bit
| Page
—
Page number
Backup
10 bits
|
+ 4poce
Associative
ota lookup table
ik devia |
>
4
|
16-bit
{ effective address
10 bits | 6 bits
Associative
search 1023
Page Word
A paging organization using associative page lookup College in 1926, and his Ph.D. in experimental physics
is shown in Fig. 2. In this example a backup store of 1,024 from the University of Wisconsin in 1930. He taught math-
pages of 64 words each is illustrated. The main store has a ematics and physics at Iowa State until 1942, when he left
capacity of 8 pages of 64 words. An associative page for war research at the Naval Ordnance Laboratory in
lookup table of 4 words of 15 bits each is used to maintain Washington, D.C.
order. In use, the upper 10 bits or page address of the Atanasoff did not return to teaching or to computers
effective address (1023) from the CPU is compared asso- when he left government service in 1952, but devoted the
ciatively with 10-bit page numbers in the associative store. balance of his career to business enterprises, including
If a match-occurs, 5 bits are provided (3,1,1), giving the the founding of two engineering companies, Ordnance
page location in main store (2 = 010) as well as two data Engineering Corporation and Cybernetics, Inc. Although
integrity tags (1, 1). The valid tag indicates that the data in unsuccessful in patenting the ABC, he obtained over 20
main store is a valid copy of that in backup store (i.e. that other patents.
the backup store data has not been modified since the Atanasoff’s greatest achievement, of course, was his
page was read into main store). The modified tag indicates invention of the electronic computer. He had conceived
that the data in main store has been modified by the CPU its basic plan at Iowa State during the 1937-38 academic
and is therefore not the same as in backup storage. year, worked out the critical details the next year, and,
The result in the preceding example is that the word with Berry’s help, built a working model of the central
sought, number 63 from page 1023, is present at page 2, computing apparatus in the fall of 1939. He and Berry then
word 63 of the main store, that it is valid, and may differ proceeded with the computer itself, completing construc-
from its image in backup store. Had the desired page not tion in the spring of 1942.
been in main store, one page of main store would have been Atanasoff designed this computer to solve unprece-
selected for replacement, ideally one whose valid tag was dentedly large systems of simultaneous linear equations,
zero, indicating it to be no longer needed. If all valid tags which he saw as applicable to a wide variety of problems
were 1, a page would be selected for replacement whose re- in physics, engineering, and applied mathematics. For
cent use is low (as established, for example, by automatic
this purpose, he devised an original variant of the tradi-
decrementing, at fixed time intervals, of a use counter as-
tional Gaussian elimination method.
sociated with each page in the associative page-lookup
The ABC featured binary arithmetic, rotating drum
table). This page, ifits modified tag is 1, is stored in backup
memories, capacitor memory elements, continuous re-
store and then replaced in main storage by the newly re-
generation of those elements from a separate arithmetic
quired page. The lookup table is modified accordingly to
reflect a new backup page number for the corresponding
main store page with validity tag 1, and modified tag 0.
Reference
ATANASOFF, JOHN V.
For an article on a related subject, see ABC COMPUTER.
1988. Mackintosh, Allan R. “Dr. Atanasoff’s Computer,” Scientific others in this series were installed: one at the Atomic
American, 259, 2: 90-96. Weapons Research Establishment, Aldermaston, and one
at the Computer-Aided Design Centre, Cambridge.
ARTHUR W. BURKS AND ALICE R. BURKS
Although technical and economic reasons, partly due
to advances in component manufacture, prevented the
Atlas computers from achieving commercial success,
ATLAS they represent an important landmark in the develop-
ment of advanced computer systems.
For articles on related subject see DIGITAL COMPUTERS: EARLY;
KILBURN, THOMAS; and MANCHESTER UNIVERSITY COMPUTERS.
References
The Atlas computer was the third in a series of early 1961-1962. Howarth, D. J., Payne, R. B., and Summer, F. H. “The
computers designed in the United Kingdom by a team Manchester University Atlas Operating System; Part Il, Users’
Description,” Computer J. 4: 226-229.
under Thomas M. Kilburn in the Department of Electrical
1961-1962. Kilburn, T., Howarth, D. J., Payne, R. B., and Summer,
Engineering, University of Manchester, in association with
F.H. “The Manchester University Atlas Operating System; Part
Ferranti Ltd. (later ICT Ltd. and then ICL Ltd.). Previous I, Internal Organisation,” Computer J. 4; 222-225.
systems were the Ferranti Mark I and Ferranti Mark Il 1962. Howarth, D. J., Jones, P. D., and Wyld, M. T. “The Atlas
(Mercury). Scheduling System,” ComputerJ. 5: 238-244.
Design of Atlas began in 1958, and ultimately three sys- 1962. Kilburn, T. D., Edwards, B. G., Lanigan, M. J., and Summer, F.
tems, known as Atlas 1, were constructed and installed at H. “One-Level Storage System,” JRE Trans., EC-11, 2: 223-235.
the University of Manchester (1962), University of London
(1963), and the Atlas Laboratory, Chilton (1963). All were RICHARD A. BUCKINGHAM
operated until the early 1970s, with the Chilton machine
being the last to be switched off in March 1973.
In many respects, Atlas led the way in design of an
integrated computer system, combining many novel hard-
AUTHORING LANGUAGES AND
ware features with an advanced software operating sys- SYSTEMS
tem. Among the new concepts that Atlas successfully For articles on related subjects see COMPUTER-ASSISTED IN-
introduced were multiprogramming (g.v.), one-level store, STRUCTION; COMPUTER-ASSISTED LEARNING AND TEACHING; COM-
and paging. It was the first major system designed for PUTER-MANAGED INSTRUCTION; and PROGRAMMING LANGUAGES.
multiprogramming and was provided with a composite
memory consisting of ferrite cores and magnetic drums Considerable attention has been given to providing a
linked by program to provide the user with a one-level convenient programming language for the use of authors
memory (g.v.). This was achieved by a paging system in of computer-based learning materials. However, obtaining
which page switching was controlled by a simple learning a single, ideal language is a fiction; different uses require
program, or swapping algorithm. There was also a wire- different capabilities that are not conveniently provided
mesh/ferrite rod (hairbrush) memory of 8,000 words to within a single language and its associated processor.
hold the supervisor. The standard word length was 48 The specific programming language used by an au-
bits, equivalent to one single-address instruction with two thor is not so significant for effective computer-based
modifiers and allowing for up to 2”° addresses. 128 index instruction as are two other factors. With what notation
registers (g.v.) were provided. Instructions were normally does the author describe for personal use and others the
executed at an average rate of 0.5 ms, about a hundred substance and procedures of the computer-based in-
times faster than the Mercury computer. struction? By what means are these ideas and notes reli-
The magnetic tape system used 1-inch tapes, al- ably transcribed into an executing computer program?
though standard 0.5-inch tapes could also be used. Mag- One concept of authoring languages and systems is
netic disks were not standard, but were fitted later to the represented in Fig. 1. The designer of material assembles
Manchester and Chilton machines. Multiple I/O channels information and opinion about what is needed, working
(q.v.) provided for both paper-tape and punched-card with students and others who should know of the prob-
peripherals as well as line printers. lems and resources (steps 1 through 3). The designer may
Other features of the supervisor program, which was work with a language or notation devised especially for
produced by a small team under D. J. Howarth (1961- the topic and objectives (step 4), delegating to the ma-
1962), were the facilities for scheduling and streaming of chine or technical assistants the determination of minor
jobs, automatic control of peripherals, detailed job ac- details (step 5). Separation of the content of instruction
counting, and a sophisticated level of operator control. It from the description of program logic makes curriculum
was normal, with some discretion in selecting the job mix, development less costly.
to obtain 60-80% effective use of the CPU. After a program is executing, the originator should
A modified version of Atlas, known as Atlas 2, was receive complete and useful information about the per-
produced with increased core memory and no magnetic formance and reaction of students (steps 9 through 11).
drums (thereby dispensing with paging), the prototype Many developers continue to test and revise instruc-
being the Titan computer at the University of Cambridge, tion-related computer programs to maintain their use-
which was taken out of service at the end of 1973. Two fulness.
AUTOMATA THEORY 105
Author's
Conceptual G2) Coding
Instructions
Machine-oriented
reg
Newer See
Description Definition of
Production
of Course Materials (e.g.
Objectives Slides, Tapes, and
and Substance Computer Programs)
Defined © Optional
Conventions
Proposed Preprocessing
Describing Conventions
Materials
Instructions
Acceptable to
Language
Testing and Processor
(8) Correcting
Purposes,
Constraints,
Sample
@ ®
Request for
Materials Translation
Review
Operating
Reviewing Course
and Revising Materials
@)
Advice;
Information
Information;
Suggestions Educators;
Advisors
1) Data on Use
Observations;
Student Comments
Over 100 different languages and dialects have been AUTOMATA. See also CELLULAR AUTOMATA; and
put to use specifically for programming instructional use PROBABILISTIC AUTOMATA.
of computers. Most may be characterized by one or two
of the following approaches and uses: successive frames
(computerization of programmed instruction); descrip-
tion of interactive case histories; description of instruc- AUTOMATA THEORY
tional procedures; specification of data generation and For articles on related subjects see ALGORITHM; CELLULAR
simulated laboratories; retrieval of information and con-
AUTOMATA; FORMAL LANGUAGES; NEURAL NETWORKS; PERCEP-
trol of media; problem solving and programming. Informa- TRON; PROBABILISTIC AUTOMATA; SEQUENTIAL MACHINE; and TUR-
tion about these and many other languages can be ING MACHINE.
obtained from secondary sources (Barker, 1987).
A language is efficient when it is used for the specific
purpose for which it was designed to be convenient. The Introduction and Definitions Automata theory is
great diversity of instructional uses of computers re- a mathematical discipline concerned with the invention
quires a variety of languages. and study of mathematically abstract, idealized machines
called automata. These automata are usually abstractions
References of information processing devices, such as computers,
rather than of devices that move about, such as robots,
1987. Barker, Philip. Author Languages for CAL. London: Macmil-
lan. mechanical toys or automobiles.
1991. Venezky, Richard L. and Osin, Luis. The Intelligent Design of This article gives a short and informal survey of
Computer-Assisted Instruction. New York: Longman. the major classes of automata that automata theorists
have heretofore seen fit to study, and indicates the
KARL L. ZINN primary respective motivations (from the point of view
106 AUTOMATA THEORY
of computer science) for the study of these classes of performs such an act of recognition. Exactly what consti-
automata. tutes an act of recognition depends on the particular class
For the most part, the automata discussed here pro- of automata under consideration.
cess strings of symbols from some finite alphabet of sym- It is presumably clear why it is of interest to com-
bols. Let A be any alphabet (finite set of symbols). For puter scientists to study automata that compute (partial)
example, A might be { a,b,c,...,z} or {0,1}. We write A* to functions, since computer science is the computation
mean the set of all finite strings of symbols chosen from business. Among the interesting questions to ask are
A. If A is { a,b,c,...,z}, then A* contains strings represent- whether some function is or is not computable by some
ing English words, such as “cat” and “mouse,” along with representative of a particular class of automata and, if it
nonsense strings such as “czzxyh”. If A is {0,1}, then A* is computable, how efficiently (with respect to some
contains the strings representing the non-negative inte- mathematically precise measure of efficiency) can it be so
gers in binary notation (0,1,10,11,100,...) and also these computed.
same strings but with extra zeros on the left (e.g. 00010). We motivate the study of automata that recognize
Automata generally perform one (or both) of two languages by some examples. LetX be the set of allowable
symbol-processing tasks. They compute partial functions symbols for some programming language P. Include in X
from X* to Y* for some finite alphabets X and Y, or they the necessary punctuation symbols and the blank sym-
recognize languages over some alphabet X. bol. Let L = {x € X*| x is a valid program of P}. In the
A partial function f from X* to Y* is a correspondence process of compiling from P into some other language, it
between some subset D of X* and the set Y* that associ- is useful to (among other things) recognize the valid pro-
ates with each element of D* a unique element in Y*. Dis grams of P as being valid. Automata theory gives some
called the domain of f, that is, D = {xeX* | f(x) is defined}. insight into the sort of computing ability that may be
If f(x) is not defined, it is desirable that automaton @ on required to recognize valid programs. For example, push-
input x eventually halt and print some sort of “error down automata (to be defined below) are capable of rec-
message.” However, this is not always possible—there are ognizing the valid syntactic classes of all Algol-like
computable partial functions f all of whose automata a languages. Generally, there are many results of the form:
fail to halt at all onsome input x outside the domain of f. The languages recognized by a particular class of autom-
For example, let X = Y = {0,1} and let D be the elements ata are exactly those formal languages generated by a
x of X* such that x begins with 1 or consists of a single 0. particular class of grammars.
If f associates with x the string in Y* that denotes the Automatic theorem proving (q.v.), a sub-area of artifi-
binary number representing two times the binary number cial intelligence (g.v.), is also concerned with language
represented by x, then fis a partial function from X* to Y*. recognition. The language to be recognized is the set of
We say roughly that an automaton @ computes a par- propositions derivable from some set of axioms. Auto-
tial function f from X* to Y* when, if a is given any input x matic theorem proving has been applied to discover new
in X* such that f(x) is defined, « eventually produces an mathematical theorems, to question-answering systems,
output y € Y* such that Ax) = y. and, otherwise, « pro- and to robotics (q.v.).
duces no output.
Automata usually receive their inputs on a linear or Types of Automata Most (but not all) types of
one-dimensional tape which they are capable of reading automata are special cases of the Turing machine (see
one symbol at a time. The manner in which they read Fig. 1). Turing machines may be operated either to recog-
symbols on an input tape (left to right, back and forth, nize languages or to compute partial functions. Very
with or without changing symbols, etc.) depends on the roughly, a Turing machine is a finite-state deterministic
particular class of automata under consideration. Autom- device with read and/or write heads (which read and/or
ata for computing partial functions produce their output
on a tape (perhaps the input tape, perhaps a different
tape) in a manner also prescribed by the particular class
of automata under consideration.
There are also automata whose storage structures
LEE ee EeT Ts
more closely resemble registers, such as found in a typical
pocket calculator, than linear tapes.
a a a (CH
A language over an alphabet X is just a subset of X*.
For example, ifX = { a,b,c,...,z}, then { a,aa,aaa,...} and
{xe X*| x is a word in the English language} are both
languages over X.
We say that an automaton @ recognizes a language L
over X when « reads an input x € X* on its input tape in
Finite state control
the manner of automata of its type; then, if x € L, o
eventually performs some particular act of recognition. FIG. 1. Atwo-tape Turing machine. Each tape is scanned by a
Examples of such acts of recognition are (1) halting, (2) single read/write head. Tape 1 contains the string of nonblank
entering a special internal state called a final, or accepting, symbols 0010110, with the underlined 0 currently being read.
Tape 2 contains 11011, with the underlined 1 being currently
state, or (3) emptying a designated storage tape, for in-
read. If the tapes can move only in one direction, the same
stance a pushdown store. If x ¢ L, then «, on input x never
diagram would depict a two-tape finite automaton.
AUTOMATA THEORY 107
write one symbol at a time) attached to one or more will leave their application as input/output devices to the
tapes. Finite state means that the number of distinguish- article on SEQUENTIAL MACHINES.
able internal configurations of the device is finite, and A finite automaton is a deterministic finite-state de
“deterministic” means that the next state of the device vice equipped with a read (only) head attached to a single
and its subsequent action (writing or motion) on the input tape. A special subset of the finite set of states of a
tapes is completely determined by its current state and finite automaton is designated as the set of final, or recog-
the symbols it is currently reading on its tapes. nition, states. A finite automaton o processes a string of
Turing machines were first introduced indepen- symbols thus: « begins in a special initial, or start, state
dently by Turing and Post in 1936 to give a precise math- and automatically reads the symbols of x (on its tape)
ematical definition of effective procedure. There is from left to right, changing its states in a manner depend-
considerable evidence that the partial functions com- ing only on its previous state and the symbol just read. If,
puted by (languages recognized by) Turing machines are after the last (rightmost) symbol of x is read, & goes into
exactly those computed (recognized) by informal effec- a final state, a recognizes x; otherwise, « does not recog-
tive procedures or algorithms. Any computation or recog- nize x. Let A = {0,1}. It is possible, for example, to design
nition problem for which there is a known informal a finite automaton o such that o recognizes L = {xe A*|
algorithm can be handled by a Turing machine. Turing x ends in two consecutive 1s and does not contain two
machines with many (in general, n-dimensional) tapes consecutive 0s}. See Fig. 2. On the other hand, it can be
and read/write heads can compute and recognize no more shown that no finite automaton can recognize L’ = { x €
than can Turing machines with a single one-dimensional A*| x consists of a consecutive string of n-squared 1s, for
tape and single read/write head, although they may com- some positive integer n}. As might be expected, however,
pute and recognize more efficiently. a Turing machine can be designated to recognize L’.
Attempts to define effective procedures in terms of In Fig. 2 the circles represent the different states of a,
automata more closely resembling modern electronic and the number inside each circle is a name for the state
stored-program digital computers have led to the unlim- that circle represents. Hence, 0 is the start state of « and 4
ited register machines of Shepherdson and Sturgis and to is its only final state. An arrow (labeled with an alphabet
the random-access stored-program machines of Elgot and symbol) from one state to another means that if wis in the
Robinson. These machines can be shown to compute the first state while scanning the alphabet symbol that labels
same partial functions (recognize the same languages) the arrow, then it goes next into the second state. For ex-
computed by Turing machines. ample, if cis in state 1 scanning a0, it goes next into state 2;
Turing machines model the most general sort of com- whereas, ifit is in state 1 scanninga 1, it goes next into state
putation processes, in part by virtue of their ability to 3. If wis given the input string 010111, beginning in state 0,
move about freely on their tapes without fear of running the successive states into which it is thereafter driven are
out of tape. In general no a priori bound can be set on the (in order) 1,3,1,3,4,4. Since 4 is a final state, a (correctly)
amount of tape a Turing machine computation will re- recognizes the input string 010111. If a is given 10011, be-
quire. Some Turing machine computations may require ginning in state 0, the successive states into which it is
more tape than is available in the universe! This, in part, thereafter driven are (in order) 3,1,2,2,2. Since 2 is nota
motivates our consideration of the next class of autom- final state, 0, (correctly) fails to recognize 10011.
ata, finite automata. We will limit our discussion to finite A nondeterministic finite automaton is a device just
automata considered as recognizers of languages, and like a finite automaton except that the next state is not
completely determined by the current state and symbol
read. Instead, a set of next possible states is so deter-
mined. A nondeterministic finite automaton a may be
thought of as processing a string of symbols x, just like an
ordinary finite automaton, except that it has to be run
over again several times so that each of the different
possible state-change behaviors is eventually realized.
One should imagine there being a separate, deterministic
control device C which runs a and completely determines
a’s actual state-change behavior each time it is run. There
are but finitely many different possible state-change be-
haviors for « processing x, and C simply systematically
runs © first one way, then another, then another, etc., until
all possibilities have been exhausted.
A nondeterministic finite automaton @ recognizes x
just in case at least one of the possible ways of running a
on input x results in getting « into a final state after the
last symbol of x has been read (see Fig. 3).
In Fig. 3, a, is nondeterministic because (for ex-
ample, from state 0, if it is scanning a) it can go into
FIG. 2. Thestate diagram of a finite-state automaton for recog-
either state 0 or state 1 next. From state 1, if it is
nizing {x e {0,1}*| x ends in two consecutive ls and does not
contain two consecutive 0s}. scanning b, it “jams,” since the set of next possible
108 AUTOMATA THEORY
removing the top symbol and setting the read/write head 1983. Davis, M. and Weyuker, E. Computability, Complexity, and
to scan the next symbol down. The read (only) head on Languages: Fundamentals of Theoretical Computer Science.
the input tape reads one symbol at a time from left to New York: Academic Press.
right, just as in a finite automaton, except that it is al- 1988. Minksy, M. and Papert, S. Perceptrons (expanded edition).
Cambridge, MA: M.LT. Press.
lowed (if desired) to stop scanning the input tape momen-
tarily while only the pushdown store is operated. JOHN CASE
Pushdown automata recognize a string x by one of
two conventions. Either x is recognized by the device
as it gets into one of its final states or by the pushdown
store as it empties just after the rightmost symbol of x AUTOMATION
is read. The class of languages recognized by emptying For articles on related subjects see COMPUTER-AIDED DE-
the pushdown store is the same as that recognized by SIGN/COMPUTER-AIDED MANUFACTURING; COMPUTER-AIDED ENGI
final states. Let A = {0,1}. For x € A*, let x* be x written NEERING; (COMPUTER GRAPHICS; CONTROL APPLICATIONS;
backwards. For example, 001110* is 011100. A string x ELECTRONIC OFFICE; FINITE-ELEMENT METHOD; LIBRARY AUTOMA-
is a palindrome if x and x* are the same; for instance, TION; ROBOTICS; and WORKSTATION.
0 and 1001 are palindromes. The language L = {x € A*|
x is a palindrome} is recognizable by a suitable non- Automation involves use of a technique to make a
deterministic pushdown automaton; however, L is not system or process more self-acting and self-regulating
recognizable by any finite automaton or even by any and hence less dependent on human intervention. Most
deterministic pushdown automaton. Pushdown autom- recently, the word has come to be associated with the use
ata recognize all (and only) the context-free (or equiv- of computers to attain these functions. Thus, we tend to
alently, Algol-like) languages. use the word “computerization” as a synonym for auto-
Many variations on a slight generalization of push- mation and to think in terms of the application of comput-
down automata have been studied. A stack automaton is ers not only for the handling of information associated
just like a pushdown automaton except that the read with a process, but also for the actual control and actua-
(only) head of the input tape is allowed to move both tion of mechanisms that facilitate or completely accom-
ways (but not off the section of tape containing the input) plish that process with minimal human guidance.
and the read/write head on the pushdown store is al- It is this minimization of the human element that
lowed to scan the entire pushdown list in a read only sometimes gives automation a negative overtone. People
mode. The class of languages recognized by stack autom- fear the image of factories, offices, wars—indeed, even
ata is intermediate between context-sensitive and Turing- whole societies—“run by computers.” Those involved
machine recognizable. with development of advanced automation techniques,
Many other types of automata that have been and however, usually assert that computers will always re-
could be studied employ some other sort of limited data main merely machines or tools for use by human beings,
structure for their auxiliary storage or receive inputs in who always control their ultimate use. In this article, we
some form other than a string of symbols. For example, discuss the application of computers to the automation
tree automata process inputs in the form of trees, usually of the most directly productive of human activities—the
trees associated with parsing expressions in context-free planning, design, engineering, production, and testing of
languages. manufactured products. It is this usage of the term auto-
It should be remarked at the conclusion of this sur- mation that is most common.
vey that automata theory is a growing, open-ended math-
CAD/CAE/CAM Computer-Aided Design/Engineering/
ematical discipline. It readily admits of extensions of
Manufacturing (CAD/CAE/CAM) activities encompass
existing concepts and the introduction of totally new
those that involve the direct application of specialized
ideas. The motivations to make such extensions are es-
computer hardware or software to product and manufactur-
thetic on the one hand, and the need or desire to model
ing engineering and manufacturing operations. Excluded
some existing or proposed computational phenomenon from this definition is the application of general-purpose
on the other. computers to research, analytic, and other technical
problem-solving situations.
References Further, CAD/CAE/CAM is distinguished from admin-
1966. Von Neumann, J. Theory of SelfReproducing Automata (ed- istrative data processing applications relating to manu-
ited and completed by A. W. Burks). Urbana: University of facturing or engineering by emphasizing the engineering
Illinois Press. or technical computing orientation of the work over the
1967. Minsky, M. Computation: Finite and Infinite Machines. Engle- file-handling and record-processing orientation of the
wood Cliffs, NJ: Prentice-Hall. more conventional EDP universe. Normally excluded, for
1969. Hopcroft, J. E. and Ullman, J. D. Formal Languages and Their example, are manufacturing data processing applications
Relation to Automata. Reading, MA: Addison-Wesley. such as production control, inventory control, labor dis-
1979. Hopcroft, J. E. and Ullman, J. D. Jntroduction to Automata
tribution, and cost accounting.
Theory, Languages, and the Theory of Computation. Reading,
To clarify this definition, listed below are a number of
MA: Addison-Wesley.
1981. Lewis H. and Papadimitriou, C. Elements of the Theory of
engineering functions and related specific examples of
Computation. Englewood Cliffs, NJ: Prentice-Hall. CAD/CAE/CAM systems.
110 AUTOMATION
systems, database information, and analytic computa- late 1940s, were primarily used for scientific and mathe-
tions, is the basis for computer-aided design (CAD). matical applications—calculations of trajectories,
In manufacturing, similar automation of data and weather forecasting, and the like. By the early 1950s,
control processes has occurred. Beyond the numerical commercial versions of the early laboratory models—
control of individual machine tools and direct computer Univac Is, IBM 701s and 702s, etc.—were emerging and
control of processes, there has been an explosion of finding their way into a few highly sophisticated business
available software that manipulates data on tool availabil- and engineering organizations such as G.E., G.M., Boeing,
ity, materials requirements, flow of parts being manufac- and other aerospace and automotive firms. By the late
tured, work-in-process inventory, finished goods 1950s to the early 1960s, interactive graphical display
inventory, etc. Different parts with similar geometric fea- devices were appearing and Ivan Sutherland was doing
tures and manufacturing characteristics have been clas- his pioneering work at M.I.T.’s Lincoln Laboratory on the
sified and can be scheduled in manufacturing by software Sketchpad system—the forerunner of modern CAD graph-
based on this categorization (group technology). The ics systems. Unsuccessful attempts were made to com-
active control of processes and the timely collection and mercialize this system (by CDC) and others like it (by
dissemination of production data have narrowed the re- IBM); throughout the 1960s and into the mid-1970s, devel-
sponse time required for the entire manufacturing opera- opment work was performed primarily by the large engi-
tion to make decisions and cure production problems. neering computing users—General Motors (with their
The active involvement of the computer in the manufac- famous DAC-1 system, which provided a foundation for
turing processes and the control of production is the much future work), Lockheed, McDonnell Aircraft, Doug-
basis for computer-aided manufacturing (CAM). las, Pratt & Whitney, Caterpillar, etc.
Along with the consolidation of computer programs The basic specialized hardware devices associated
and systems within each of the design engineering, man- with CAD—interactive graphics terminals, digitizers, light
ufacturing, and management segments of an enterprise, pens, and plotters—became quite well developed by the
integration is now occurring among these segments. Just mid-1960s and have not really changed significantly since
as common database information is required internal to (though their cost performance in function is much bet-
the various stages of manufacturing operation, there is a ter). The major changes that have taken place during the
strong commonality in the data required by design, man- last 20-25 years have occurred in the areas of software and
ufacturing, and management. For example, a bill of mate- microcomputer development. Software for managing
rials (or parts list), which is created in the design large amounts of complex and interrelated data (database
engineering phase of the production sequence, must be management systems), for allowing communication of
accessible to the manufacturing and management seg- data and programs among computers and remote termi-
ments as well. The geometric, dimensional and configura- nals (distributed processing systems), for representing
tional data for a part that is created during the design the physical geometry of a part in terms that can be manip-
stage is the essential information required by the pro- ulated by a computer (geometric modeling systems), and
grammer preparing the numerical control tapes that con- for analyzing the effects of various external forces on com-
trol the machine tools of the manufacturing operation. plex parts (finite element analysis packages and the like)
The pressure to communicate and integrate has al- all matured significantly and were packaged in ways that
ways been present, but, historically, communication re- made them easy and much more economical to use. Mini-
lied upon the active transfer of information by drawings, computer (g.v.) technology also made marked advances
memoranda, or word of mouth. Now, integration is fos- during this period, permitting economical, dedicated sys-
tered by the efficient data storage and retrieval mecha- tems with considerable power to be placed at the disposal
nisms made available by computer technology. The of designers and draftsmen, and, with the more recent
avenue that has now been opened is the passive commu- advent of the microcomputer, permitting specialized
nication of any bit of information required by a particular hardware devices to have intelligence built into them to
segment as soon as it becomes available. Accessibility to perform many functions locally that previously required
a bill of materials can be as easy for management as for the attention of a large, centralized computer.
design engineering. Corrections to bills of materials sug- Thus, beginning in the mid-1970s, a type of product
gested by manufacturing (or purchasing) can be im- became popular that incorporated many of the special-
mediately acted upon by design engineering, and ized hardware devices, software elements, and minicom-
everyone in the organization has access to the updated puter capabilities referred to. These are known by various
information once the correction has been entered. The names, but are most often called “turnkey CAD systems.”
sharp line of demarcation between the design and manu- About 2,500-3,000 of these systems were installed by
facturing functions becomes diffuse and will gradually 1980. Each such system is normally comprised of 4-5
disappear. Computer-aided design and engineering can workstations, on the average, each with a graphical visual
no longer be separated from computer-aided manufactur- display and often a supplementary alphanumeric display,
ing; they are one and the same. Hence, the acronyms, a graphical digitizing or input device, and a keyboard.
CAD/CAM and CAD/CAE/CAM. Also, each system typically includes a large, high-quality
plotter; smaller, more rapid but lower-quality hard copy
Historical Background Both CAD and CAM were devices; a more precise digitizer; and various forms of
born at about the same time—the early 1950s. The earli- data storage; as well as, of course, the controlling micro-
est electronic digital computers, developed in the mid- to computer and its software. Other offerings of packaged
112 AUTOMATION
software or services have helped to make CAD more sive activities, considerable interest is being shown in the
feasible for the user who prefers to use a mainframe integration of all these elements. The term computer-inte-
computer with interactive graphics terminals. grated manufacturing (CIM-q.v.) is now in vogue, and many
CAM began with the advent of numerically-controlled present and projected developments are taking place in
(NC) machine tools, pioneered at M.I.T. under Air Force that context. We project that the decade of the 1990s will
sponsorship in the early 1950s. These early devices see a “fourth generation” of CAD/CAM systems with com-
merely proved that it was possible to control the move- mon databases, much more intelligent interpretation of
ments of metal-cutting milling machines by an electronic data as real objects rather than merely lines and surfaces,
contro] mechanism actuated by punched tape. The real and transparent interfaces among these previously dispa-
challenge was to create the punched tape quickly and rate subsystems.
accurately, based on the geometry and physical charac-
teristics of the part. The Air Force also helped solve that Special Impact of Automation There is legiti-
problem by sponsoring the initial development of the APT mate concern that automation represents a threat, not
language at M.I.T. and Illinois Institute of Technology Re- only to employment through the replacement of human
search Institute in the late 1950s and early 1960s. This workers by machines, but also to human control over
programming language allows a “part programmer” (a increasingly more comprehensive computerized control
new occupation in the manufacturing engineering field) to systems. The employment threat is easily addressed by
describe the necessary cutting motions in an English-like pointing out the paradox that, because of our steadily and
notation, which is then translated into a standardized dangerously decreasing labor productivity growth rate,
“cutter location file.” That file, in turn, is processed by a more manual labor, not less, is being required to produce
special “post-processor” that produces explicit punched manufactured goods in our automated society. Also, the
tape instructions for a particular machine. phenomenal growth of the computer industry during the
This development made widespread use of NC tools 1980s, and its associated employment opportunities, sug-
possible, and they began to proliferate throughout indus- gests that increased automation will also provide new job
try in the 1960s and 1970s—most rapidly in Europe and opportunities for people to design, program, produce,
Japan but also in the U.S. By the early 1970s (with the sell, support, maintain, apply, and operate these devices
introduction of mini- and microcomputer technology), and systems. Finally, the growth of automation is being
new control techniques were developed. Direct numerical spurred by critical shortages of certain classes of labor—
control (DNC) and computerized numerical control (CNC) draftsmen, skilled machinists, manufacturing engineers,
systems are being more widely accepted. These systems etc.—so for some considerable time, automation can
integrate computers directly into the machine controller hardly be considered a threat to these occupations.
to permit operator interaction or to allow more of the Over the longer term, however, there is no question
machine functions to be controlled in real time. Also, but that the ultimate forms of automation—‘“workerless
parts programming in the “blind” batch-processing APT factories’—such as those that a few companies have al-
mode is gradually being replaced by direct creation of the ready achieved and many others are still striving for, will
cutter file by creating a geometric model of the part using have a profound effect on our society. Kurt Vonnegut’s
a graphical CAD system (integration of CAD and CAM to early prophetic book, Player Piano, depicting a futuristic
yield CAD/CAM). society and the moral degradation that occurs when hu-
In the 1980s, robot technology matured to the point mans are almost totally replaced by machinery and elec-
where there is now a worldwide market of about $2 billion tronics, suggests the kinds of problems that may
per year, projected to grow at about 8% per annum through occur—boredom, lethargy, class conflict, etc. While this
the 1990s to about $4 billion by 2000. Robots now perform extreme is unlikely, its potentiality suggests that the lead-
all sorts of “pick and place” operations—welding, dipping, ers of industrializing societies would do well to monitor
spray painting, and assembly. General purpose automated trends and attempt to find alternative ways of maintaining
machining and assembly systems are also evolving for effi- human dignity in the face of inexorable automation.
cient production of small batches of products using tech-
niques akin to mass production assembly lines, except References
that they are more readily reprogrammed. Many forms of 1952. Vonnegut, K., Jr. Player Piano. New York: Avon.
automated materials handling devices and systems are 1973. Harrington, J., Jr. Computer-Integrated Manufacturing. New
finding acceptance—from computerized stacker cranes York: Industrial Press.
and conveyor systems to driverless tractors. Factory floor
management systems saw limited use in aerospace compa- Roy M. SALZMAN
nies in the 1950s and 1960s, but gained respectability and
widespread usage in the 1970s and 1980s with develop-
ment of materials requirements planning systems (MRP).
AUTOMATON. See Automata THEORY.
Even computer-controlled testing devices, such as coordi-
nate measuring machines and electronic test equipment,
have entered the manufacturing automation field.
AUXILIARY MEMORY. see Memory: AuxiL
Now, with the proliferation IARY.
of such hardware and
software components and the realization that both engi-
neering and manufacturing are highly information-inten- AVL TREE. See TREE.
B-TR E E. See TREE. In a long life, Babbage turned his attention to many
subjects, including mathematics, railroads, lighthouses,
cryptography, economics, the ophthalmoscope, politics,
and public controversies of various kinds. But the domi-
BABBAGE, CHARLES nating interest of his life was calculating machinery, and
his claim to fame is through his work on the analytical
For articles on related subjects see ANALYTICAL. ENGINE; engine, which was to have been an automatically se-
DIFFERENCE ENGINE; DIGITAL COMPUTERS: HISTORY; and LOVE- quenced, general-purpose calculating machine. Here he
LACE, COUNTESS OF. was profoundly original. He published some of his ideas
and others have come down to us in his manuscript
Charles Babbage was born in London on 26 Decem- notebooks. The real breakthrough came in 1834 and the
ber 1791. He was educated privately and went up to years immediately following, but Babbage continued to
Cambridge in 1810. At that time, Cambridge education work on the subject for the remainder of his life.
was strongly oriented toward mathematics and there was Babbage’s thoughts on the analytical engine were
intense competition for high honors in the Mathematical entirely in mechanical terms, with no suggestion, even in
Tripos. Babbage, however, soon discovered that later years, that electricity might be called in aid. The
Newton’s ideas still dominated the Cambridge curricu-
lum, whereas he had been exposed to, and was much
drawn toward, the type of mathematics then receiving
attention on the Continent. He did not, therefore, com-
pete for honors. Nevertheless, he acquired a high mathe-
matical reputation that increased with the years, so much
so that in 1828 he was appointed Lucasian Professor, a
position that Newton himself had held many years before.
The stipend in Babbage’s time was only £80 to £90 per
annum. He did not reside in Cambridge nor lecture there,
though he performed some of the other duties of the
Professorship, such as examining for the Smith’s Prize.
It was while still a student that Babbage began to
work on the difference engine, a device intended to mech-
anize the production of the final values in a mathematical
table from the widely spaced pivotal values that are first
computed. It would also produce a stereotype mold,
ready for the printer, thus eliminating one source of error.
Babbage’s own attempt at implementing the difference
engine failed, in spite of financial support from the British
government. The soundness of his ideas was, however,
demonstrated by the fact that an independent im-
plementation by Georg and Edvard Scheutz, who had read FIG. 1. Charles Babbage. Courtesy of New York Public Library.
of Babbage’s ideas, was successful.
113
114 —BACKUS-NAUR FORM (BNF)
analytical engine was to be decimal, although Babbage youngest son, Henry, who had spent most of his life in
considered other scales of notation. Numbers were to be various military and civil appointments in India, did what
stored on wheels, with ten distinguishable positions, and he could to carry on his father’s work, and published a
transferred by a system of racks to a central mill, or ’ collection of papers relating to it. The eldest son, Her-
processor, where all arithmetic would be performed. He schel, migrated in 1851 to South Australia, where he be-
had in mind a storage capacity for a thousand numbers of came a prominent member of the colony.
50 decimal digits. He studied exhaustively a wide variety
of schemes for performing the four operations of arithme- References
tic, and he invented the idea of anticipatory carry, which
1889. Babbage, H. P. (Ed.). Babbage’s Calculating Engines. London.
is much faster than carrying successively from one stage
This book has now been reprinted as vol. 2 of the Babbage
to another. He also knew about hoarding carry, by which Institute reprint series, 1. Tomash (Ed.), Cambridge, MA: MIT
a whole series of additions could be performed with one Press, 1984.
carrying operation at the end. 1961. Morrison, P., and Morrison, E. (Eds.). Charles Babbage and
The sequencing of the analytical engine was to have his Calculating Engines. New York: Dover.
been fully automatic, but not, of course, on what we 1968. Babbage, C. Passages from the Life of a Philosopher. London,
would now call the stored-program principle (q.v.). 1864; facsimile edition, London: Dawson’s.
Punched cards of the type used in a Jacquard loom 1971. Wilkes, M. V. “Babbage as a Computer Pioneer,” Report of
were to be adopted both for sequencing and for the the Babbage Memorial Meeting, British Computer Society.
Reprinted in Historica Mathematica 4:415 (1977).
input of numbers. Babbage proposed to have two sets
1975. Wilkes, M. V. “How Babbage’s Dream Came True,” Nature
of sequencing cards, one for controlling the mill and
257:641.
one for controlling the store; these would be separately 1982. Hyman, A. Charles Babbage. Princeton, NJ: Princeton Uni-
stepped and would not necessarily move together. versity Press.
Babbage never arrived at the idea of instructions 1989. Campbell-Kelly, M., (Ed.). The Works of Charles Babbage. 11
containing both an operation part and an address part, volumes. London: Pickering and Chatto.
nor at the formal concept of a program that we have 1990. Wilkes, M.V. “Herschel, Peacock, Babbage, and the Develop-
today. Lady Lovelace, the daughter of Lord Byron, in ment of the Cambridge Curriculum, Notes and Records of the
notes to a translation that she made of a paper describing Royal Society, 44, 205.
some of Babbage’s ideas, published by Ménabréa in
Maurice V. WILKES
French in 1842, gives what at first sight appears to be a
program along modern lines for computing Bernoulli
numbers. This gives the arithmetic operations in detail,
but does not contain anything corresponding to the con- BACKTRACKING. See AtcorrrHMs, DESIGN AND
ditional jump instructions in a modern program; after the CLASSIFICATION OF.
main loop there is simply the sentence: “Here follows a
repetition of operations 13 to 23.”
Babbage’s notebooks show him struggling with vari-
ous ideas for handling the repetition of parts of a calcula-
BACKUS-NAUR FORM (BNF)
tion, and although he sketched out many schemes that For articles on related subjects see GRAMMARS;
would have worked satisfactorily, one feels that he never METACHARACTER; METALANGUAGE; PROCEDURE-ORIENTED LAN-
arrived at one that entirely pleased him. For subsequenc- GUAGES; PROGRAMMING LINGUISTICS; SYNTAX, SEMANTICS, AND
ing within an operation, he proposed to use drums with PRAGMATICS; and VIENNA DEFINITION LANGUAGE.
fixed studs, on the barrel-organ principle. It is odd that in
his published writings there is no hint of the range and Backus-Naur Form, named after John W. Backus of the
originality of his thoughts on the important matter of United States and Peter Naur of Denmark, and usually
sequencing. Lady Lovelace has left us in her debt for the written BNF, is the best-known example of a metalanguage
translation and notes referred to above, but there has (q.v.), i.e. one that syntactically describes a programming
been a tendency to exaggerate both her mathematical language. Using BNF it is possible to specify which se--
ability and her importance in the Babbage saga. quences of symbols constitute a syntactically valid pro-
Although he had workmen in his employ until the gram in a given language. (The question of semantics—i.e.
end of his life, Babbage failed to implement the analytical what such valid strings of symbols mean—must be spec-
engine. We must conclude, as did some of his contem- ified separately.) A discussion of the basic concepts of
poraries, that he was temperamentally incapable of BNF follows.
carrying a project through. Unfortunately, this time, A metalinguistic variable (or metavariable), also
there was no Sheutz to take up his ideas, and it may called a syntactic unit, is one whose values are strings of
well be that the ultimate development of automatic symbols chosen from among the symbols permitted in
calculating machinery was delayed by the aura of failure the given language. In BNF, metalinguistic variables are
that surrounded Babbage’s work. His detailed design enclosed in brackets, ( ), for clarity and to distinguish
studies lay buried in his unpublished notebooks and them from symbols in the language itself, which are called
were forgotten. Of his genius, however, no one who has terminal symbols or just terminals. The symbol ::= is
studied his work will have any doubt. used to indicate metalinguistic equivalence; a vertical bar
Babbage died in London on 18 October 1871. His (|) is used to indicate that a choice is to be made among
BACKUS-NAUR FORM (BNF) 115
the items so indicated; and concatenation (linking to- it is (arithmetic expression) that we are trying to define.
gether in a series) is indicated simply by juxtaposing the This is another example of a recursive definition, and
elements to be concatenated. simply says in this case that one choice for a(primary) is
For an example, here is how the definition of an Algol just any (arithmetic expression) enclosed in parentheses.
integer is built up: First, we have a definition of what a The words if, then, and else, since they are not
digit is, according to the usual meaning: enclosed in the metalinguistic brackets, stand for them-
selves; they are, like the character set, basic elements of
(digit) ::= 0]1]2]3]4]5]6]7]8]9.
the Algol language that are not further defined.
Next we have a statement that an unsigned integer An extended version of BNF (EBNF) is used in the
consists either of a single digit or an unsigned integer Pascal User Manual and Report (Jensen and Wirth 1985)
followed by another digit: and in the definition of Modula-2 (Wirth 1985). An EBNF
specification of the syntax of a programming language
(unsigned integer ):: = (digit) |
consists of a collection of rules (productions), collectively
(unsigned integer) (digit)
called a grammar, that describe the formation of senten-
This definition may be applied recursively to build up ces in the language. Each production consists of a non-
unsigned integers of any length whatever. Since there terminal symbol and an EBNF expression separated by an
must be a limit on the number of digits in any actual equal sign and terminated by a period. The nonterminal
computer implementation, this would have to be stated symbol is a meta-identifier (a syntactic constant denoted
separately in conjunction with each particular im- by an English word), and the EBNF expression is its defi-
plementation or, as in some extensions to BNF, by an nition. An EBNF expression is composed of zero or more
addition to the definition of unsigned integer (e.g. placing terminal symbols, nonterminals, and metasymbols, sum-
[10] above : := could indicate a limit of 10 digits). Finally, marized as follows:
the definition of an integer is completed by noting that it
may be preceded by a plus sign, a minus sign, or neither: Metasymbol Meaning
(digit)
—~ (letter) -{—}-
(letter)
(@)
(digit)
smallest banks became totally dependent upon auto- operating system, and VisiCalc spreadsheet (q.v.) capabil-
mated “item” (check) processing. There was now no turn- ities, had drawn the attention of non-systems managers.
ing back, as volumes quickly grew to levels above those They offered the possibility of escaping from the three-
at which manual processing was feasible. year backlogs and hyper-inflated costs of systems work of
Also during this time, the traditional back-office that era. In a few advanced institutions, they had even
batch-processing applications—not unique to banks—of begun to make inroads into actual banking applications.
payroll, general ledger, and other related applications It was the IBM PC announcement of 1981, howevér, that
became established as productivity enhancers. signalled the start of the current era of banking applica-
tions.
From 1970 to 1980 This tumultuous decade was As the 1990s began, banks were bludgeoned by real
marked by rapid and radical change. Initially using batch- estate, third world, and thrift institution credit problems.
processing techniques, but later fully on line, the period Despite the resistance of traditionalists, the commercial
was characterized by a move of banking applications out and industrial lending businesses and their related sys-
of the back office and toward the customer. Another tems infrastructures continued to yield ground to the
thread of evolution was the globalization, through tele- consumer-based businesses that have begun to dominate
communications, of the larger institutions’ information- this decade.
technology bases. Early probes by banking into the Information is now the basic product of the banking
“service bureau” business, based upon the sale at incre- industry (money, after all, is today only a special case of
mental prices of idle raw processing capacity, ultimately information), and networks are its delivery/distribution
went nowhere and cost a few of the more aggressive systems.’ The older, more traditional banking applica-
institutions dearly. tions will survive for decades to come, but the future of
The first glimmer of recognition of banking as an the industry lies in the information-based consumer ser-
“information business“—a giant step beyond a mere de- vice businesses.
pendency upon the technology—began to dawn. The
early “delivery-vehicle” systems began to emerge. In con-
sumer banking these took the form of networked on-line TRADITIONAL COMPUTERIZED BANKING
automated teller machines (ATMs); in corporate banking, APPLICATIONS
as on-line cash-management terminals in the corporate
treasurer’s office.
In the early to mid-1970s, the powerful expansion of Bank Liability Applications
U.S.-based banks’ presence in global markets paved the Checking Accounts
way for globalization of the entire banking-application
infrastructure. Telecommunications networks began to Bank customers make deposits in cash or checks in their
appear, overlaid upon the business “networks” repre- accounts in one or several currencies. In exchange for the
sented by globally deployed offices and staff. The major use of the funds, the bank provides check collection and
institutions developed proprietary networks, while com- checking account services and renders periodic state-
monly accessible and industry-specific networks—public ments. All these processes heavily involve computers.
Telex and SWIFT on the international scene, others within
the U.S.—met this need for the rest. 'The international transfer of value was for centuries accom-
The first “common” branch-support systems, in- plished by the physical movement of cash, specie, and bullion.
tended to serve all banking offices with essentially a With the advent of international telegraphy, it was increasingly
single centrally developed and supported common suite done by “book entry”—entries over a network of reciprocal ac-
of applications software, began to appear. This develop- counts maintained by major international banks on each others’
ment was closely linked with the parallel emergence of books. An appropriately authenticated telegraphic message
served as the “check” that drew on such an account. By 1970, the
global networks. volume of such “wire transfers” and the related commercial bills,
It was during this decade that the use of minicomput- letters of credit, and other commercial instruments represented a
ers in banking reached its peak. The first breaks from the major source of paper-processing workload for the large banks
traditions of highly centralized, mainframe-dependent offering these capabilities.
computing appeared early in the period. This early form During the 1970s, computers began to originate and receive
of “distributed processing” rapidly became widespread authenticated funds-transfer messages directly. Major special-
and served as the foundation for the even more radical purpose telecommunications networks emerged. They were both
moves ‘that were to follow. proprietary networks, owned by particular banks, and common-
user networks, accessible to any bank. SWIFT was and is the
By 1980, the traditional primary banking business of
principal international common-user funds-transfer network; oth-
interest-differential commercial lending had supplied the
ers exist at the country level.
billions in earnings that were needed to fund the develop- By 1980, the role of physical money in international trade and
ment of the next generation of banking businesses and commerce had, for practical purposes, vanished entirely. “Money”
were declining. The consumer market segments had is an entry on banking books and records, which are themselves
begun their move toward primacy. bits and bytes in electronic media. “Money movement” is a flow of
data through an electronic or optical channel, where it is indistin-
From 1980 to 1990 The early microcomputers of the guishable from digitized voice, image, or whatever. Money has
late 1970s, with their Basic programming language, CP/M indeed become a special case of information.
118 ~~BANKING APPLICATIONS
Savings Accounts is essential that the nature and situation of all bank assets
and liabilities be represented accurately.
These are similar to checking accounts, but include the
payment of interest and special conditions for withdrawal Management Reports
of funds.
Also strongly affected by regulatory reporting require-
Time Deposits ments, these applications provide information on ex-
penses and revenues, to evaluate the effectiveness of
These are deposits for fixed periods of time, bearing
managers and for planning the development of customer
negotiated interest.
relationships.
This approach represented a compromise between across continents as easily as across town, of the inter-
satisfying immediate customer needs and maintaining connections among bankers, bank customers, and the
secure controls. An example of the architecture of an information resources required by both.
on-line system with batch processing is shown in Fig.1. An increasing variety of message and data transmis-
The minicomputer “revolution” became an import- sion options has begun to be used. Recent years have
ant part of banking applications in the mid-1970s. Minis seen very rapid growth, particularly as circuits began to
provided the technology for computerized banking appli- facilitate direct interaction between banking applications
cations at the scale of a single department. For example, and bank customers acting through terminals of various
a single minicomputer was dedicated to handling the types. Of aless-revolutionary character is the role played
letters of credit department of all the loans for one class by telecommunications in applications that call for inter-
of business customers. Although computer hardware connections among internal bank computers, as shown in
costs actually went up, the net effect was to produce Fig.2.
sufficient savings elsewhere to reduce the overall cost. The “live” interaction of customer-bank communica-
The microcomputer explosion of the 1980s has am- tion terminals (CBCTs) in supermarkets and other retail
plified and extended this effect, but with an important outlets with bank applications and bank databases deliv-
difference. In banks, as elsewhere, the “front-office” prac- ers vastly improved levels of customer service, while
titioners of the primary business—banking—have reducing operating costs and providing control of non-
wrested the management of information technology from credit risks. It appears that their direct service delivery
the technologists and turned its power to their own busi- via computer/communications systems will continue to
ness-motivated ends. The depth and breadth of technol- drive the growth and development of computerized bank-
ogy awareness among formerly technologically helpless ing applications in the 1990s.
traditional bankers has expanded rapidly. This develop- Aneeded collateral development is the technology of
ment has taken place in parallel with the proliferation of encryption. However strong or weak the Bureau of
microcomputers and the availability of commercial soft- Standards’ Digital Encryption Standard (DES) algorithm
ware packages that have enabled bankers to exploit this may be (see CRYPTOGRAPHY, COMPUTERS IN), it is accepted
suddenly accessible processing power. as an industry standard, thus making possible the devel-
Banking leaders now recognize the strategic primacy opment of compatible encryptors that are off-the-shelf
of the information technologies. Banking is an information items, like modems. As a result, certain of the problems
business, and decisions about the technology are strate of customer data privacy protection are, in effect, swept
gic decisions about the business. Policy-level managers from the board, releasing resources to work on the multi-
now make these decisions in the most forward-looking tude of remaining problems.
institutions. This critical shift at once disenfranchises the
traditional MIS or systems managers and empowers the Databases Optimum information management could be
business managers of the 1990s to be far more functionally approached if it were possible to collect all the informa-
effective in meeting customer needs at lower cost. tion from all of a bank’s internal applications into logically
centralized but widely accessible files, as shown in Fig.3.
Networks For many decades, banks and customers This facilitates management of asset and liability aggre-
have communicated using message services. “Advices” gates and precise reporting of the bank’s condition. Data-
were delivered worldwide, by teleprinter, normally within related activity, protection of customer privacy, file
one business day, and a paper record was produced. updating, and investigations would be greatly facilitated
During the 1960s and 1970s, banking applications’ use of by a full database capability, but, at least for large banks,
wire services increased to a point that justified establish- such a capability still eludes full realization. No database
ing special funds-transfer networks. management system adequate for such a large-scale file is
As the decade of the 1990s opened, the total value of presently practical.
the funds moving over these networks had reached well The banking applications developed from the mid-
into the trillions of dollars daily, and these flows have 1970s and continuing into the 1990s depend on database
become the lifeblood of the global economic system. concepts. The principal difficulties are in the adminis-
Disruption of these new electronic lines of communica- tration of thousands of information definitions, in es-
tion would bring a nation’s commerce to its knees within tablishing and maintaining the necessary structural
hours. relationships among data elements, and in coping with
Network technology has in many respects surpassed the current inefficiency and complexity of available
computer technology in importance to banking applica- database software. This indicates that the database man-
tions. The globalization of business and the near elimina- agement function is clearly the key to future computer-
tion of the so-called “information float,” with the resulting ized banking applications.
expectations by customers of essentially instantaneous
responsiveness from their banks, have had a mutually RICHARD G. MILLS AND ERICH R. WILLNER
reinforcing effect. Networks have evolved from, in the
early 1970s, a handful of low-speed telegraph lines be-
tween the head office and distant branches to, in the
1990s, networks and multi-megabit-per-second digital
trunk lines. The effect has been the smooth facilitation, BAR CO DE. See UNIVERSAL PRODUCT CODE.
120 BASE REGISTER
— A3=11
—— A2=10
— Al1=01
(b)
Time
FIG. 1. Relationship between baud and bits per second. Each combination of two bits is en-
coded as one of four possible amplitudes; hence, for this particular case, one baud is equal to
two bits per second.
BAUDOT CODE 121
BAUD terminal, i.e. once the shift lock has been depressed, all
subsequent characters are typed in the same shift.
For articles on related subjects see BAUDOT CODE; and Using the technique of two unique shift characters, a
CHANNEL. five-bit code can then represent 62 (= 2° — 2) characters.
However, in the Baudot code, the total number of charac-
A baud is a unit of signaling speed and refers to the ters is less than this because other control characters
number of times the state (or condition) of a data commu- such as “line feed” and “carriage return” are given repre-
nication line changes per second. It is the reciprocal of sentations.
the length (in seconds) of the shortest element in the The Baudot code does not have the capability of
signaling code. Historically, it is a contraction of the sur- detecting errors because all combinations of the five
name of the Frenchman J. M. E. Baudct, whose five-bit bits are valid characters within the code. During trans-
code was adopted by the French telegraph system in mission, therefore, a character can be transformed into
1877. By contrast, a bit is the smallest unit of information another character by the loss or gain of one or more
in a binary system. The baud rate is therefore equal to the bits. Particularly harmful is an error in a shift-control
bit rate only if each signal element represents one bit of character because all characters after the transformed
information. shift-control character up to the next shift-control char-
The relationship between bauds and bits per second acter would be interpreted in the wrong shift. For ex-
is illustrated in Fig. 1, where amplitude is used as a coding ample, in the message PAY 810 DOLLARS, if the “figure
method. In this particular case, there are four line condi- shift” character between the PAY and the 810 were
tions, one for each of the four combinations of two bits. transformed into, say, a J (i.e. 00010 to 10010), then the
Each line change signal element is therefore represented message would be received as PAYJBAD DOLLARS (see Table
by two bits and, if we can have one line change in 1 ms, 1 for letter-shift, figure-shift equivalents). In order to
the baud rate is 1,000, whereas the bit rate is actually alleviate this problem, telegraph systems frequently re-
2,000 bits per second. Similarly, if the signals are coded transmit at the end of the message all figures that occur
into eight possible states, one line condition could repre- in the message.
sent three bits and one baud would then equal three bits
per second, etc.
Unfortunately, in much of today’s literature, the
TABLE 1. Baudot Code Characters
terms “baud” and “bits per second” are used synony-
mously. This is correct in cases where pure two-state
Letters Figures
signaling is used, as in Fig. 1(a), but is incorrect in general. A 10000 1
For this reason, the term “baud” is gradually being re B 00110 8
placed by “bits per second,” since the latter is indepen- C 10110 9
dent of the coding method and truly represents the D Leal MeliO g
information rate. E 01000 2
F 01110 NA
JOHN S. SOBOLEWSKI G 01010 7
H 11010 +
I 01100 NA
J 10010 6
K 10011 (
L Teron =
BAUDOT CODE M 01011 )
N 01111 NA
For articles on related subjects see BAUD; CODES; and
0 11100 5
ERROR-CORRECTING CODE. P Telsialon %
Q 10111 /
The Baudot code, also known as the International R 00111 -
Telegraph Code No. 1, is named after its inventor, J. M. E. S 00101
Baudot (1845-1903). It was invented about 1880, and by Af 10101 NA
the 1950s it had become one of the standards for interna- U 10100 4
tional telegraph communication. V 11101 ° i
Baudot is a fixed character-length code in which each W 01101 ?
X 01001 ;
character is represented by five binary digits. The five-
Y 00100 3
digit character length allows only 32 (= 2°) unique com- Z 11001 :
binations, not enough to represent the 26 letters of the iS 00001 LS
alphabet, the 10 digits, and the punctuation characters ES 00010 ES
needed for telegraph messages. This problem is solved by CR 11000 CR
defining two unique shift-control characters, and inter- LF 10001 LF
preting all subsequent characters in terms of the last ER 00011 ER
NA 00000 NA
shift-control character received. The shift-control charac-
ters are called “letter shift” and “figure shift.” This ar- Symbols: LS = Letter Shift, FS = Figure Shift, CR = Carriage Return, LF = Line Feed,
rangement is very similar to that of a shift-lock key on a
ER = Error, NA = Not Assigned, Space = LS or FS.
122 BELL LABS RELAY COMPUTERS
The five-level code most used today is the Interna- ers were optimized for fire-control problems, although
tional Telegraph Code No. 2 (Murray code), invented their programmability meant they could be (and were)
about 20 years after the Baudot code. In computer reprogrammed to solve many other problems once the
manufacturers’ literature, there is some confusion con- war ended.
cerning the use of the term “baudot code.” It is sometimes The Model V was the most ambitious of all the Bell
used to apply to all fivelevel codes and is frequently Labs machines, and ranks with the “Giant Brains” of the
applied to International Telegraph Code No. 2. era, such as the ENIAC or Harvard Mark I (g.v.). Two
copies were built in 1946-47, and were installed at the
GEORGE D. DETLEFSEN AND ROBIN H. KERR NACA at Langley Field, Virginia, and the Ballistic Research
Laboratory at Aberdeen, Maryland. Each machine con-
tained over 9,000 relays, a memory capacity of 30 num-
BCD. See BINARY-CODED DECIMAL.
bers, and hard-wired floating-point arithmetic unusual for
the time.
Decimal numbers were encoded as groups of two and
five relays, somewhat like the beads on a Chinese abacus.
This bi-quinary code allowed for elaborate error checking,
BCS » See BRITISH COMPUTER SOCIETY.
which ensured that the machine would stop and alert an
operator before ever delivering a wrong answer. Relay
computers, unlike their electronic counterparts, had to
have error detecting circuits because a relay can fail
BELL LABS RELAY COMPUTERS intermittently, usually when a piece of dust interferes
For articles or related subjects see DIGITAL COMPUTERS: with a few contact cycles before being dislodged. Such
History: EARLY; and ENIAC. intermittent errors would have been almost impossible to
detect without some sort of internal redundancy. By con-
Between 1939 and 1951, Bell Telephone Laboratories trast, vacuum tubes failed catastrophically, with a result-
(Bell Labs) built a total of seven digital computing ma- ing computer failure obvious to its operators.
chines of ever-greater sophistication. Each used electro- A Model V could be configured so that several prob-
mechanical relays and switching equipment for its basic lems could be coded, each on a different paper tape, all of
computing elements. The last computers of this series
were as functionally powerful as the electronic computers
being built elsewhere at that time, but their use of relay
switching meant that they would always remain an order
of magnitude slower in arithmetic speeds. The inspiration
for the initial machines came from George Stibitz, a math-
ematician at Bell Labs, with the engineering design due at
first to Sam Williams and later E.G. Andrews.
The Model I contained about 400 relays and per-
formed the operations of complex arithmetic on 8-digit
decimal numbers. Numbers were internally coded in ex-
cess-three binary-coded decimal (Stibitz-code). The ma-
chine was accessed through a modified teletype terminal
(Fig. 1). At Bell Labs, three such terminals allowed multi-
ple (but not simultaneous) access. That the terminals
need not be physically near the processor was dramati-
cally demonstrated at a 1940 meeting of the American
Mathematical Society in Hanover, New Hampshire, where
a terminal was connected to the computer back at the
Labs in New York City. Such remote access to digital
equipment would not occur again for ten years.
The Model II, completed in 1943, contained about 440
relays and was optimized for work relating to the develop-
ment of the M-9 gun director during the war. It used paper
tape for input, output, and for simple sequences of oper-
ations related to interpolation of functions. Its memory
capacity was seven decimal numbers of from two to five
digits in length.
The Models III and IV were somewhat more powerful,
containing about 1,400 relays each and having a memory
capacity of ten numbers. They were installed in 1944 at
Fort Bliss, Texas, and in 1945 at the Naval Research Labo- FIG. 1: Operator H. L. Marvin seated at one of three consoles
for the Bell Labs Complex Number Computer, 1940. (Photo:
ratory in Washington, DC. Like the Model II, these comput-
AT&T Bell Laboratories)
BENCHMARKS 123
them ready to go. If an error was detected during the run The term benchmarking is drawn from its use in sur-
of one problem, the machine would automatically switch veying, where it represents a mark on a stationary object
over to another tape and begin solving another problem, whose position and elevation have been measured. The
using different parts of the processor and memory. This mark, once made, is used subsequently as a reference
early and rudimentary form of multiprogramming (q.v.) point in tidal observations and surveys. Analogously,
allowed the machine to be run unattended through the benchmarking of computer systems is intended to mea-
night with the assurance that in the morning most, if not sure new systems relative to a reference point on current
all, the computing work would have been done. That, plus systems. In particular, the benchmarks are standardized
the floating-point arithmetic, helped compensate for the computer programs for which there is a history of mea-
machine’s inherently slow speed of about one multiplica- surement data (typically timings) for executions of the
tion per second as compared to the ENIAC’s 360 multipli- programs with specifically defined input and reproduci-
cations per second. ble output.
The final machine in the series, the Model VI, was A number of benchmarks have evolved for both sci-
built and installed at the Labs for internal use in 1949. It entific and commercial processors. Among the most well-
was essentially a simplified version of the Model V, with- known for scientific computing are the Livermore Fortran
out the multiple independent processors. Apparently it Kernels (McMahon 1986), the Los Alamos Benchmarks,
was felt that the complexity of the Model V was not worth the NAS Kernels, and the LINPACK tests (1989). Recently,
it. The Model VI did have an ability to execute short due to a growing concern in the supercomputing commu-
sequences of arithmetic with single commands punched nity that existing benchmarks are too simplistic to fully
on the tape, a concept new at the time and one rediscov- represent scientific computing, attempts have been made
ered and named later as “macro” commands. It interpre- to define new standards. These efforts include the Perfect
ted these commands through ingenious electromagnetic Club, which is based at the University of Illinois, and the
circuits that, in effect, “microprogrammed” the machine. System Performance Evaluation Cooperative (SPEC),
It is not historically misleading to use that term, since which is a vendor-sponsored benchmarking project. Each
those features were seen and noticed by Maurice Wilkes of these collections represents aspects of scientific com-
(q.v.), who later developed that concept for stored pro- putation and therefore provides some information about
gram electronic computers. the computational speed of the systems being tested.
None of the Bell machines used the stored program The founding members of SPEC were Apollo, Hewlett-
principle, although the Models V and VI had full condi- Packard, MIPS, and Sun. Joining the consortium later were
tional branching capabilities. But that made the solving of AT&T, Bull, CDC, Compaq, Data General, DEC, Dupont,
complex, iterative problems a somewhat baroque exer- Fujitsu, IBM, Intel, Intergraph, Motorola, NCR, Siemens
cise involving loops of tape, multiple tape drives, parti- Nixdorf, Silicon Graphics, Solbourne, Stardent, and Uni-
tioned processors, and other mechanical tricks. Thus, the sys. The first set of 10 SPEC benchmarks comprising
Model V went about as far as one could with not only relay 150,000 lines of source code was released in October 1989
technology, but with external, paper tape programming. and is distributed only under a licensing agreement. A
The Bell Labs computers were powerful, reliable, and performance index called the SPECmark is defined as the
balanced machines. They often outperformed their vac- geometric mean of the relative performance of the ten
uum-tube contemporaries in solving problems for which separate programs in the SPEC suite.
slower speed was not decisive. But once the von Neu- The first program designed especially for benchmark-
mann-inspired notions of computer architecture became ing was the Whetstone benchmark published in 1976 by H.
known and accepted, that advantage was lost, as design- J. Curnow and B. A. Wichmann of the National Physical
ers elsewhere learned to build electronic computers with Laboratory (NPL) in Great Britain. The benchmark, origi-
none of the architectural drawbacks suffered by machines nally published in Algol 60 but now more often used in its
like the ENIAC. Thus, the Bell Labs machines represent an Fortran or Pascal version, is named for the Whetstone
evolutionary dead end, although their contribution to the Algol compiler in use at the NPL in the mid-1970s. The
mainstream history of digital computing was profound. Whetstone benchmark gives heavy weight to floating
point operations and continues to be of value in testing
References the effectiveness of various floating-point coprocessors
that may be optionally added to currently popular micro-
1951. Andrews, E. G. “A Review of the Bell Laboratories’ Digital processors. There are now so many different versions of
Computer Developments,” in Review of Electronic Digital Com-
the Whetstone benchmark that comparison of results ob-
puters. Joint AIEEJRE Computer Conference, 10-12 December,
Philadelphia (New York: AIEE, 1952), 101-105. tained with one version vs. another is quite difficult.
The Dhrystone benchmark, named in whimsical
PAUL E. CERUZZI contradistinction to Whetstone, was published by R. P.
Weicker in 1984. Originally written in a Pascal subset of
Ada (q.v.), the benchmark is now used principally in its
C (q.v.) version. The Dhrystone benchmark places no
emphasis on floating-point operations, but instead con-
BENCHMARKS tains a mix of statements typical of nonnumeric and
For articles on related subjects see PERFORMANCE MEASURE- systems programming (qg.v.) environments. Relative to
MENT AND EVALUATION; and PERFORMANCE OF COMPUTERS. scientific and engineering computations, such programs
124 _ BINARY-CODED DECIMAL (BCD)
typically contain fewer loops, simpler computations in- puter Test of Numerical Performance Range, Lawrence
volving just integer and logical data types, and more Livermore National Laboratory Report UCRL-53745 (Octo-
ber).
conditional statements and procedure calls. Dhyrstone
1987. Dongarra, J., Martin, J., and Worlton, J. “Evaluating Comput-
is widely distributed via Usenet, the Unix (q.v.) network. ers and Their Performance: Perspectives, Pitfalls, and Paths,”
The Stanford Small Program Benchmark Set was de- IEEE Spectrum, 24 (June).
veloped concurrently with the first RISC architecture 1989. Performance of Various Computers Using Standard Linear
(q.v.) systems at Stanford and the University of California Equations Software in a Fortran Environment, Argonne Na-
at Berkeley. The set consists of ten small programs cho- tional Laboratory Report MCS-TM-23 (June).
sen as candidates likely to illustrate the differences in 1990. Weicker, R. P. “An Overview of Common Benchmarks,” JEEE
performance between RISC and CISC processors: eight Computer, 23, 12 (December) 65-75.
integer-oriented programs—Permutations, Towers of
Hanoi, Eight Queens, Integer Matrix Multiplication, Puz- JACK DONGARRA and JOANNE MARTIN
zle, Quicksort, Bubblesort, and Treesort (see SORTING)—
and two floating-point programs—Floating Point Matrix
Multiplication and Fast Fourier Transform (q.v.).
One of the most popular benchmarks used on per-
sonal computers, though not necessarily a good one, is a
BINARY ARITHMETIC. See NUMBERS AND
NUMBER SYSTEMS.
Pascal version of the algorithm known as the Sieve of
Eratosthenes. It computes all prime numbers up to some
limit—usually 8,192—by eliminating (sieving out) the
composite numbers from an original list of all integers BINARY-CODED DECIMAL (BCD)
less than the limit. The benchmark has been widely used,
For article on related subjects see ASCII; CODES; and
or perhaps misused, to tout the alleged superiority of one
EBCDIC.
compiler over another with respect to either rate of com-
pilation, speed of execution of object programs, size of
Codes that use binary digits to represent decimal
object programs, or all three.
digits are required to enable decimal information to be
In contrast to other benchmarks, which measure the
stored by the binary (two-state) devices that are the
time taken to do a fixed task, the SLALOM benchmark
elements of which all computers are constructed. Many
measures the amount of work that can be performed ina
such codes have been constructed for various purposes,
fixed time. The rationale is that this will allow comparison
but the most common and natural one is called binary-
over a broader range of machines. The benchmark con-
coded decimal (BCD). In BCD, each decimal digit is repre-
sists of a radiosity problem together with I/O and matrix
sented by its four-bit binary equivalent, as shown in Table
setup routines. The problem solved is similar to that of
13
the LINPACK benchmark.
Four bits are required, since, with three, only eight
_ The performance of computers (q.v.), a complicated
different combinations can be represented. Since there
issue, is a function of many interrelated quantities. These
are 16 possible combinations of four bits, six (1010, 1011,
quantities include the application, algorithm, size of the
1100, 1101, 1110, and 1111) are not used in BCD. BCD is
problem, the choices of high-level language and im-
called a weighted code, because, reading left to right in
plementation, the level of human effort used to optimize
Table 1, the four bits in each BCD combination corre-
the problem and the compiler’s ability to optimize, as well
spond to weights of 8, 4, 2, and 1. Thus, for example, 0110
as the operating system, architecture, and hardware char-
has its two 1s weighted by 4 and 2, respectively, and
acteristics of the system under test. Thus, the results
corresponds to a decimal 6.
presented for benchmark suites should not be viewed as
measures of total system performance, but rather as ref-
ANTHONY RALSTON
erence points for further evaluations.
Benchmarks are typically used as one of many data
points by algorithm designers seeking the optimal coding
style for a given system, by system developers seeking to TABLE 1. BCD.
match machine characteristics to the requirements de-
fined by their target workloads and represented to them Digit BCD Combination
through the benchmarks, and by individuals and groups
seeking to procure the appropriate computing system for 0000
a given installation. 0001
Benchmarking methods (ways to use and abuse 0010
0011
benchmarks) are discussed in more detail in Dongarra et
0100
al. (1987). An overview of common benchmarks is given 0101
by Weicker (1990). 0110
0111
References 1000
CONDON
©
RWNK 1001
1986. McMahon, Frank H. The Livermore Fortran Kernals: A Com-
BIOCOMPUTING 125
BINARY SEARCH. See Searcuine. with bugs or other problems requiring program modifica-
tion. In the design process, earlier-than-necessary bind-
ing clutters the designer’s vision with unnecessary detail
(e.g. the mnemonic name of a program variable), distract-
BINARY TREE. see Tree. ing the designer from essentials.
Some translators have attempted to put the question
of binding time, to some degree, in the user’s hands. One,
at least (Strachey, 1968), has for experimental purposes
BINDING gone all the way, letting the user specify for each expres-
sion the time at which it is to be bound.
For articles on related subjects see ASSEMBLER; COMPILER
CONSTRUCTION; LANGUAGE PROCESSORS; and MACHINE AND AS- References
SEMBLY LANGUAGE PROGRAMMING.
1968. Strachey, C. “A General Purpose Macro Generator,” The
Computer Journal, 8: 225-241.
Binding means translating an expression in a pro- 1968. Wegner, P. Programming Languages, Information Structures
gram into a form immediately interpretable by the ma- and Machine Organization. New York: McGraw-Hill.
chine on which the program is to run; binding time is the
moment at which this translation is completed. Thus, an MARK HALPERN
expression is completely bound when translated into ab-
solute machine representation (see “Definition of ML” in
MACHINE AND ASSEMBLY LANGUAGE PROGRAMMING) at a fixed BIOCOMPUTING
location in a storage device. When the context so indi-
cates, however, binding can refer to an intermediate point For articles on related subjects see HOSPITAL INFORMATION
in this process, and binding time can mean the point at SYSTEMS; IMAGE PROCESSING; MEDICAL APPLICATIONS; MEDICAL
which a translator has gone as far in binding the expres- IMAGING; MEDLARS/MEDLINE; NEURAL NETWORKS; SCIENTIFIC AP-
sion as it can. For example, a compiler may, as a matter of PLICATIONS; and TOMOGRAPHY, COMPUTERIZED.
course, leave the binding of some class of expressions to
be completed by a linking loader (g.v.), or even, defer Modeling Living Systems Beginning in the late
binding of some to run time. Similarly, a translator may 1800s, mathematicians began to realize that biology and
partly bind a file specification by transforming it into a file ecology were sources of intriguing mathematical prob-
descriptor block that needs further interpretation by an lems. The very complexity that made life difficult for
input/output (1/O) package or operating system before it experimental biologists intrigued the mathematicians
can be used for actual I/O procedures. and led to the formation of the field of mathematical
In general, early binding means more efficient pro- biology. More recently, as computers became more cost
cessing of a source program, but at some cost in flexibility effective, simulation modeling became more widely used
and potentially useful information. The information sacri- for incorporating the necessary biological complexity
ficed might have allowed the use of arrays whose dimen- into the original, often simplified, mathematical models.
sions could vary at run time, or the issuing of more Experimentalists used to feel that the theoretical
informative error messages, or the ability to compile ob- analyses were deficient in a variety of areas. The models
ject programs for various configurations of the target ma- were too simple to be useful in clinical and/or practical
chine or operating system. The rate at which binding is to biological application. They lacked crucial biological and
take place, therefore, is an important design consideration medical realism. Mathematical modelers balked at the
in all kinds of language-processing software. Broadly demands for increased levels of biological complexity.
speaking, the history of software development is the his- The addition of the required biological reality often led to
tory of ever-later binding time, with user convenience and significant alterations in the mathematical models, mak-
program adaptability given increasingly more emphasis, ing them intractable to formal mathematical analysis.
and processing speed obtained through use of faster hard- With the advent of the new computer technologies,
ware and by relegation of optimization to special versions biological reality is finally within the grasp of the
of the compiler that are used only when the source pro- biomodeler. Mathematical complexity is no longer a seri-
gram concerned is thought to be debugged and stable. ous issue, as computation speeds are now sufficient to
This postponement of binding in the compilation of enable large modeling computations to be performed.
programs is analogous to the postponement of detailed Large memory is now routinely available. Also, high
decisions in the top-down design of programs; in both speed, efficient, optimized numerical algorithms are con-
cases, the principle is that all options should be kept open stantly being developed.
until the last possible moment. But in addition to sharing
this general principle (one that applies well beyond the Visualization Visualization is a method of comput-
designing and compiling of programs, in fact), each of the ing. It transforms the symbolic/numeric into the geomet-
activities mentioned has its own peculiar reason for late ric, thereby enabling researchers to observe their
binding. In the compiling process, binding involves the simulations and computations. The life sciences are, by
loss of information (e.g. the mnemonic name of a program their very nature, visual/tactile sciences. They are visual
variable) that can be helpful, even essential, in dealing in two ways: (1) directly, in that they handle data from
126 BIOCOMPUTING
images (X-ray, molecular modeling, computational chem- scientists in evaluating genetic evolutionary trees and
istry), and (2) indirectly, in that they handle complex data thus help them to understand the evolution of these
and transform it to a visual representation (mathematical genomic structures. In addition, these same algorithms
and computer models, enzymic reaction simulations, ~ can be used to study the related problem of the origin of
physiological process models, image reconstruction, the species. Linkage analysis, a complex mathematical
medical diagnostics). In a sense, the computer becomes analysis involving tree search algorithms, is used to lo-
the laboratory. And, as a consequence, what was once cate and to map gene structures for the purposes of
done in the tube is now being done on the tube. understanding inherited disorders.
At the gene sequencing level, mathematical and com-
Imaging Perhaps the most obvious use of computers for putational algorithms are used to align gene sequences,
visualization is the handling of patient image data and/or match gene sequences, reconstruct gene sequences from
the construction/reconstruction of medical image data sequence fragments, and construct theoretical three-di-
for the purposes of clinical diagnosis and analysis. In the mensional structures based upon those sequences. These
area of imaging, we recognize the following three major hypothesized structures are subsequently compared to
problem classes: (1) simple rebuilding of two-dimensional the experimental data so that binding and transcription
image (graphics) data into a useful and useable two-di- predictions can be made and analyzed for new insights
mensional image on a screen, (2) reconstruction of three- into the biological dynamics of the gene. Harris et al.
dimensional images from two-dimensional scans, and (3) (Abbott-Northwestern Hospital) have developed a hy-
visualization of an image in a real time, interactive mode. pothesis for a simple code for site-specific recognition at
Given a 3-D image of the pelvis, for example, can we the genetic level (see Fig. 4, color insert page CP-1). Their
manipulate it, in real time, for the purposes of clinical work, based upon information derived from genetic se-
examination? As an outgrowth of attempts to address quence comparisions, X-ray crystallography data, and
these three areas from the computer science perspective, point mutation studies is intensely computer oriented at
clinical medicine/clinical diagnosis has become more a number of levels. Their predictions were substantiated
powerful. Nowhere has this been better demonstrated by supercomputer simulations of the DNA-protein bind-
than in the areas of non-invasive medicine and image ing predicted by their model.
reconstruction; CAT, PET, and NMR scanners now inhabit
most hospital complexes of any reasonable size. A further Computational Cell Biology The dynamics of
extension of this area of investigation may be found in the cell populations is of great interest to both biologists and
surgical planning systems at the Mayo Clinic and at the clinicians. Understanding the cell cycle would have im-
Mallinckrodt Institute (Washington University at St. pact upon our understanding of how to control better the
Louis). With these systems, physicians are now able to development of various forms of cancer. From a therapeu-
simulate a surgical procedure before it is performed, tic perspective, a mathematical model or enhanced simu-
thereby minimizing potential hazard to the patient and lation of cellular processes could be used to test
increasing surgical accuracy. Experimental science bene- treatment protocols and regimens before they were actu-
fits as well. These same methods, when applied to exper- ally implemented upon the patient (see Fig. 5, color insert
imental biology, allow us to begin to understand the page CP-1). Early work in this area was performed by
biological and physiological functions of various organs Morrison, Aroesty, and Lincoln, at the RAND Corporation.
and organ systems. For example, brain mapping studies These investigators developed a sophisticated mathe-
have allowed us to investigate the cognitive function, as matical model/computer simulation of cancer growth and
well as the physiological behavior of the brain (see Figs. treatment using ara-c, an extremely toxic chemotherapeu-
1-3, color insert page CP-1). tic agent. More recently, mathematical models of cell
As an outgrowth of such analyses, interesting ques- growth have been studied by Webb (Vanderbilt Univer-
tions arise in the area of visualization of multiple datasets sity), Tucker and Zimmerman (M.D. Anderson Cancer
of different types. For example, how can one effectively Center), Witten (ETA Systems), Tyson (Virginia State),
visualize the combined CAT, PET, NMR, and simulation and others. These models have attempted to examine cell
data for a particular patient so that it is possible to visual- growth from a variety of perspectives. More recently,
ize the bone, muscle, and metabolic data at the same time? Witten and, subsequently, Zimmerman have proposed
that these models should be augmented with an addi-
Computational Genetics The analysis of genetic tional variable called a particle or property variable. This
structure raises numerous interesting questions. One of particle may or may not be linked to flow through the cell
the more important is the issue of the evolution of the cycle. These models lead to a class of generalized nonlin-
structure and complexity of the human genome. As exper- ear stochastic hyperbolic partial differential equations in
imental molecular biology sequences more and more of three variables. The numerical issues arising in the study
the genes in various species, we have a greater database of these equations present highly complex as well as
that can be used to study evolutionary biology (see later computer-intensive problems.
section on the matrix of biological knowledge). Evolution-
ary biology questions are intensely scalar processes in- Computational Physiology Human physiology
volving complex tree search problems. Computational attempts to explain the physical and chemical factors that
tree search algorithms, implemented on parallel comput- are responsible for the origin, development, and progres-
ers and on networks of smaller workstations, can assist sion of human life. Human beings are complex machines
BIOCOMPUTING 127
built from equally complex systems (immune system, been able to show that normal healthy heart muscle is an
digestive system, nervous system, etc.). These systems excitable medium. Further, he has been able to show that
contain multiple parts or organs (each, itself, a complex two- and three-dimensional vortices arise in excitable
hierarchy of systems and subsystems). Realistic models media such as heart muscle and that they do so in ways
of these systems can lead to deeper understanding of the that are predicted by his theory.
basic biology of these interacting bodily systems. And, as At the University of Calgary, Wayne Giles heads a
the models become more sophisticated, they can lead to research team that is investigating the electrical energy of
a deeper understanding of the important synergism be- the heart and how it affects the organ’s natural rhythm.
tween the systems. He is particularly interested in how such a model could
be used to study the interaction of cardiac function and
Reproductive Biology The ovaries are the repository of cardiac drugs. Dr. Peter Backx and Dr. H. terKeurs of the
the female reproductive component, the follicles. Of the University of Calgary and Dr. S. Goldman of the University
approximately 500,000 follicles present in the two ovaries of Guelph have studied the property of propagated after-
at birth, only about 375 of these follicles will eventually contractions in cardiac preparations. Their mathematical
develop into ova (eggs). Worldwide, it has been demon- model, involving up to 40,000 coupled ordinary differen-
strated that there are increasing levels of infertility in tial equations, is numerically integrated to study the dy-
both sexes. This is particularly true in the United States namics of calcium-mediated contractile waves in cardiac
and in Poland, but it is not at all clear what is causing such preparations.
an increase to occur. As a consequence, it is important Charles Peskin of the Courant Institute for Mathemat-
that the dynamics of the reproductive cycle be studied in ical Sciences is involved in cardiac modeling from a differ-
detail. Such models might give insight into how the envi- ent perspective. He has been performing two- and now
ronment and/or other factors might play into the level of three-dimensional modeling of the heart, including valves
infertility displayed in a particular country or population. and ventricles, and is now adding atria and other vessels.
In addition, such models can be used to study the dynam- This working model beats and moves the blood through
ics of aging in the mammalian reproductive system. the chambers of the heart. The model is a complex one
Mathematical models of the development of an egg involving a coupled system of equations modeling the
have been made by Lacker (Courant Institute for Mathe- wall, the blood, and the valve motion. The purpose of the
matical Sciences), Gosden et al. (England), and Witten Peskin research project is to develop a model that will
(ETA Systems). These models represent various increas- allow for the design of artifical valves and their subse-
ing levels of complexity in the mathematical modeling quent testing, and to study the effect of heart function on
process. The basic premise of all of these models is that valve design.
the follicle undergoes a series of stages or steps in its The Peskin model may also be used to examine the
growth. These stages and the transitions between them timing between the atrial and ventricular contraction, a
are modeled by differential equations. This class of com- clinically important facet of cardiac function, since so-
partmental or Markov models can generate systems of phisticated pacemakers can now separately pace the
equations that can be extremely large and range from chambers. Finally, Peskin points out that such a model
fairly simple to fairly complex in structure. The model can be used to study heart disease and its effect on
system of Witten, for example, involves the solution of cardiac dynamics. He was able to use his model to show
anywhere from 50,000 to over 200,000 nonlinear differen- that weakened capillary muscles lead to valve prolapse.
tial equations describing a probability distribution for a
given number of eggs in each stage (compartment) of The Nervous System The nervous system (along with
development. The model is clearly computationally inten- the endocrine system) provides the control functions for
sive in that it involves the solution of a large number of the human body. The nervous system is responsible for
nonlinear differential equations. rapid activities of the body, such as muscular contrac-
Mathematical models of swimming tails (sperm with- tion, rapidly changing visceral events, and even the rates
out heads) have been studied by Fauci (Tulane Univer- of secretion of some of the endocrine glands. It is a unique
sity). This model is numerically intensive as it involves system in that it can control and perform a vast complex
the solution of a swimming object in a viscous fluid, a of actions. The human brain is estimated to contain ap-
problem in computational fluid dynamics. proximately 10”? neurons. Many of these neurons are
connected to 10,000 other neurons. Thus, in many ways,
Cardiac Dynamics The cardiovascular system is funda- the brain is itself a sophisticated supercomputer.
mental to the life support of the human. Central to this At the single neuron level, Steve Young and Mark
system is the four-chambered muscle called the heart. Ellisman of the Laboratory for Neurocytology at UC San
Arthur Winfree of the University of Arizona is involved in Diego are using a supercomputer to reconstruct single
the mathematical modeling and computer simulation of neurons. The neurons are frozen, sliced into sections
nonlinear waves in excitable media, such as heart muscle. 0.25-5.0u thick, and photographed through a high voltage
Winfree has been studying circulating, vortex-like excita- electron microscope. The computer is then used to recon-
tion (re-entrant tachycardia) in the heart as it is related to struct the slices and, subsequently, to view them on a
the onset of fibrillation (sudden loss of the rhythmic graphics workstation. Ultimately, such techniques can be
movement that allows the heart to pump blood). Within integrated with advanced simulation modeling, to allow
the context of his theory and simulations, Winfree has the scientist to investigate and simulate tissue activities
128 BIOCOMPUTING
and structure/function relationships. As these techniques simulates limb movements using spring-mass models.
are refined, one can envision methods for viewing Such models are currently used as a metaphor for the
Alzheimer’s disease at the single cell level. neuromuscular organization of limb motion.
T. R. Chay of the University of Pittsburgh has been — At the cellular level, Cy Frank and Raj Rangayyan of
studying the dynamics of excitable cells. In particular, he the University of Calgary are examining ligament injuries
and his group have been trying to understand the behavior and methods of treatment. Collagen fibrils, the basic
of channel gating in patch clamp data. Through mathemat- building block of normal healthy ligament, are in nearly
ical modeling and computer simulation, T. D. Lagerlund of parallel arrangement when the ligament is healthy. In
the Mayo Clinic has been examining the effects of axial injured tissue, the arrangement is highly random. These
diffusion on oxygen delivery in the peripheral nerves. It is investigators have been able to demonstrate that the
known that victims of diabetes often suffer changes in their randomness of the distribution depends upon the nature
system of blood vessels, changes that reduce the supply of of the injury sustained and the stage of healing. As the
oxygen and nutrients to the tissue and subsequently dam- tissues heal, the collagen fibrils realign in a process called
age the kidneys, retinas, and nerves. The work of collagen remodeling. Using the supercomputer for so-
Lagerlund has been to examine the mechanism of tissue phisticated and intense image processing, these investi-
damage in diabetes and how nutrients reach the cells. His gators are attempting to interpret the realignment stages
work has been primarily concerned with diffusion of vari- and to use such knowledge to treat more accurately
ous nutrient and other substances through nerve tissue. A trauma to the limbs.
deeper understanding of these mechanisms could well
lead to a deeper understanding of and a subsequent treat- Patient-Based Physiological Simulation Patient-based
ment for a variety of nerve diseases caused by diabetes physiological modeling has come of age. More and more
and other related conditions. computer systems are engaged in taking patient image
At a higher level of neural organization is the brain data and reconstructing it so that a physician can view, in
itself. Lagerlund, in addition to his kidney work, has devel- three dimensions, a patient’s X-ray, CAT, PET, NMR, or
oped computer models for modeling various features of other clinical image data. Computerized surgery systems
the electroencephalogram or EEG as recorded by scalp are currently in place at the Washington University of St.
electrodes. Their model has been an attempt to under- Louis Mallinckrodt Institute and at the Mayo Clinic. Facial
stand the mechanisms that are responsible for the gener- reconstruction and surgical simulation are now a practi-
ation of rhythmic fluctuations in potential. cal reality.
Such workstation-based and mainframe-based sys-
Computing the Kidney Body fluids are extremely im- tems allow one to dream of a new class of ultra-largescale
portant to the basic physiology of the human being. The patient-based physiological simulations that could be
renal system, of which the kidneys are a part, is intimately performed with a high-performance computing engine. At
tied to the dynamics of the body fluids. The kidneys ex- the VA Medical Center in Minneapolis, T.K. Johnson and
crete most of the end-products of bodily metabolism, and R.L. Vessella are developing a patient-based simulation of
they control the concentrations of most of the constitu- radioactive decay in the organs of the body. Such a prob-
ents of the bodily fluids. Loss of kidney function can lead lem is computer intensive in that it requires the mapping
to death. Don Marsh of the University of Southern Califor- of the three-dimensional spatial distribution of radio-
nia School of Medicine is leading a group of investigators labeled compounds. In addition, the difficulty of the prob-
in large scale mathematical modeling and simulation of lem is enhanced by the fact that the radiation may travel
the kidney. He and his group have looked at two problems: a distance before it interacts with matter, and the irregu-
(1) the concentrating mechanism of the inner medulla of lar shapes of the organs do not lend themselves to simple
the kidney, and (2) the oscillation in tubular pressure dose-distance relationships.
initiated by the kidney’s nonlinear control mechanism. Project DaVinci at the University of Illinois is at-
The concentrating mechanism was modeled using a 3-D tempting to build a 3-D simulation of the human body.
model of the kidney structure. It included longitudinal Researchers at International BioComputing Technologies
symmetry, tubules, and blood vessels. The group was able are looking at the problem of ultra-largescale simulation
to demonstrate that the longitudinal symmetry played no of cellular systems and the interaction between aging
part in the concentrating mechanism of the kidney. In their cellular systems and cancerous ones. The increased
study of the oscillation in tubular pressure, Marsh’s group graying of the U.S. population and the increased evidence
is using a sophisticated system of partial differential equa- of age-related cancer indicates that there will be in-
tion models to describe the physiological control of the creased health care costs to be born by the health care
kidney tubular pressure. They have been able to show the system. Understanding of the dynamics of such a com-
existence of what appears to be a chaotic attractor in the plex biological system will allow us to understand better
system and that there is a period-doubling bifurcation in how to treat cancer in an individual of advanced years.
the development of hypertension.
Project Human Beyond the complexity of such ultra-
Modeling the Dynamics of the Body Mathematical largescale simulations and models is the no longer unrea-
computer models of limb motion are of importance in a sonable goal of an ultra-largescale simulation of a human
number of areas, from robotics (g.v.) to biomechanics. being. Such a simulation would rely upon the patient’s
Kar] Newell of the University of Illinois Urbana-Champaign image data, non-invasive measurements of physiological
BIOCOMPUTING 129
functions, and assorted clinical tests. One can begin to general, this class of problem is both computer depen-
hypothesize scenarios in which the effects of chemother- dent and computer intensive.
apy can be simulated before actual therapy is performed.
Radical and new drug treatments can be simulated and Computational Chemistry The field of computa-
results examined and evaluated, based upon an inte- tional chemistry is readily divided into the following three
grated model and patient system. Eventually, one can major topic areas: (1) biophysical properties, such as crys-
envision the possibility of actually testing newly designed tallographic reconstruction and molecular visualization,
drugs in computer-based large-scale simulations. Project (2) molecular biochemistry which encompasses such
Human is slowly becoming a practical reality. areas as structure/function studies, enzyme/substrate
studies (reaction studies, pathway analysis), and protein
dynamics and their properties, and (3) pharmacokinet-
Computational Population Biology The study ics/pharmacodynamics, which encompasses such areas
of populations, particularly human populations, is called as interactive molecular modeling, drug design/drug in-
demography. Demographic models generally involve hy- teractions (cancer chemotherapy, orphan drugs), binding
perbolic partial differential equations or their approxima- studies (binding site properties), structure/function rela-
tions. The canonical system is the McKendrick/Von tionships as applied to drug effectiveness, and cell recep-
Foerster system given by tor structures. All of these areas involve intensive
numeric computation and subsequent real time graphics
ontea)55antl) = td, ---)A(f, a) for the visualization of the final molecular/chemical struc-
tures. The computations are so intensive that a number
of specialized high speed superworkstations dedicated to
n(t, 0) = Jac, a, ...)n(t, a)da real time rapid visualization of chemistry/pharmacology-
0 oriented problems are currently being marketed. Neural
n(0, a) = ny (a) nets (Wilcox at Minnesota Supercomputing Center, Lieb-
man at Amoco Technology Corporation) are being used to
where n(t,a) is the number (or density) of individuals of identify similar protein structures based upon recogni-
age a at time ¢, w(t a,...) is the per capita mortality rate, tion of pattern representations for the three-dimensional
XC, a,...) is the per capita birth rate, and n,(a) is a given structure of proteins. This work is so computationally
initial population distribution. Should we choose to dis- intensive, particularly in the early learning stages, that it
cretize a into a discrete age-class structure, we obtain a is performed on a vector supercomputer.
system of ordinary differential equations that approxi-
mate the original partial differential equation system. The Agricultural/Veterinary Applications The same
study of such models is of great interest for a number of issues that arise in human populations—the spread of
reasons. In particular, given the increasing cost of health disease, environmental impact analysis, and epidemiol-
care and the associated increase of the aged component ogy—also arise in animal and insect populations. One can
of the population, it is of great importance to understand investigate, through simulation modeling, such issues as
the dynamics of the human population in an effort to hold crop yield, milk yield, nutritional demands, and more
down the cost of health care. In addition, models of this complex problems, such as the interaction between geno-
type arise in the study of toxicological effects of the type and environment as it relates to dairy herd location.
environment upon a population (ecotoxicology). For ex- Other investigators have looked at breeding scheme
ample, how does PCB exposure (at the molecular level— problems in an effort to study the effects of genetic
computational molecular biology) affect the dynamics of changes and genetic drift, with the goal of maximizing
the liver (at the organ level—computational physiology)? milk yield in a dairy herd or meat yield in a swine popula-
And how is this result seen at the population level (the tion. Finally, other investigators have been examining the
demographic level—computational population biology)? question of how competing plants interact in an environ-
Mathematical modeling of diseases, particularly of ment containing limited resources. These models and
such diseases as AIDS and Lyme disease, requires the use simulations have been extended to include pest manage-
of computational methods. The models are routinely ment methods. Similar models exist for fisheries and for
complex, often stochastic in nature, and quite frequently forestry management.
intractable to analytic solution. Models of this class have
been studied by Hyman et al. at Los Alamos National Computational Dentistry What can be done with
Laboratories and Levin et al. at Cornell University. visualizing the bones and muscles in the torso can also be
Epidemiology and biostatistics involve the study of done with the jaw and the facial muscles. Many dental
population dynamics and characteristics from a probabi- schools are collaborating with mechanical and biomedi-
listic perspective. Clinical trials often generate large data cal engineers for the purpose of finite element (gq. v.) mod-
sets. Statistical analysis of these data sets is often intense, eling of the jaw (Michael Day at the University of
due to the sample size and the complexity of the interac- Louisville). The resultant models are then applied to ex-
tions. In addition, there are often issues of multicenter amining the problems of orthodonture and of computer-
trials and the more recent problems arising in automated patient-based, dental prosthetics design.
metastatistical analysis, the integration of originally dis- One of the greatest dental health care costs is that
joint data sets for the purposes of statistical analysis. In associated with TMJ (Temporal Mandibular Joint syn-
130 =BIOs
drome). ETA Systems, in collaboration with the School of 1987. Witten, M. (Ed.) Advances In Mathematics and Computers in
Medicine—1. New York: Pergamon Press.
Dentistry at the University of Texas Health Science Center
1987. Winfree, A.T., When Time Breaks Down. Princeton, NJ:
San Antonio, is developing a neuromuscular joint model, Princeton University Press.
in an effort to study TMJ syndrome. The model involves
1987. Lagerlund, T.D. and Low, P.A. “A Mathematical Simulation of
not only the use of sophisticated mathematical equations Oxygen Delivery in Rat Peripheral Nerve,” Microvascular Re-
to describe the dynamics of the bones and muscles of the search, 34: 211.
jaw, but also patient-based data as input for describing 1987. Morowitz, H. and Smith, T. Report of The Matrix of Biological
these same structures. Thus, the models will be based Knowledge Workshop. Santa Fe Institute, New Mexico.
upon real patient data, rather than hypothesized and/or 1988. Weiss, R., “High-Tech Tooth Repair,” Science News, 134:
idealized dental structures. Such models require use of a 376-379.
1988. Robb, R. “At Mayo, Healers Digitally Peer into the Human
supercomputer, not only as a computation engine for
Machine,” Computer Graphics Today, December: 8.
model simulation, but also as an image processing system
1989. Witten, M. (Ed.) Advances in Mathematics and Computers in
to facilitate the handling of patient-based image data
Medicine—2. New York: Pergamon Press.
(CAT, NMR, PET, etc.). 1989. Peskin, C.S. and McQueen, D.M. “A Three Dimensional Com-
Second only to the problem of TMJ syndrome is that putational Method for Blood Flow in The Heart: Immersed
of periodontal disease. This complex interplay between Elastic Fibers in a Viscous Incompressible Fluid,” J. Comput.
the bacterial ecology of the patient’s mouth and the basic Phys., 81, 2, 372-405.
physiology of the patient is not very well understood. In 1989. Spitzer, V.M. and Whitlock, D.G. “A 3-D Database of Human
a newly initiated project between the University of Texas Anatomy,” Advanced Imaging, March: 48-49.
Health Science Center, the University-Industrial Consor- 1989. Witten, M., “Modeling the Aging-Cancer Interface: Some
Thoughts on a Complex Biological Dynamics,” Journal of Ger-
tium, and International BioComputing Technologies, an
ontology, 44, 6, 72-80.
ultra—largescale simulation of the mouth and its bacterial
environment is being developed. The purpose is to de- MATTHEW W/ITTEN
velop a method for better understanding how periodontal
disease occurs, what factors may influence progression of
the disease, and how it can be better treated.
BIOS
The Matrix of Biological Knowledge Current For articles on related subjects see IBM-PC AND PC-COMPAT-
understanding of biology involves complex relationships IBLES; INPUT-OUTPUT CONTROL SYSTEM; KERNEL; and LOGIN FILE.
rooted in enormous amounts of data obtained from
numerous experiments and observations and gleaned The basic input output system (BIOS) of the disk oper-
from diverse disciplines. As a consequence of these ating system (DOS) for a typical microcomputer is the
harsh realities, few scientists are capable of staying portion of the operating system (g.v.) that provides an
abreast of the ever increasing knowledge base, let alone interface between the DOS kernel and the underlying
searching that database for new and/or unsuspected hardware. The kernel is the portion of DOS closest to the
biological phenomena. Yet hidden within the complete application software. It is responsible for process control,
database of published biological experiments—the matrix memory management, file management, and peripheral
of biological knowledge—iies the potential for developing support. The kernel passes commands from the applica-
a new and powerful tool for the investigation of biological tion software to the BIOS for translation into hardware-
principles. Many databases of biological information specific requests.
already exist. Perhaps the best known of these is The BIOS consists of two parts. The firmware (q.v.)
GenBank, the database of all known gene sequences. portion is encoded in PROM chips that cannot be erased
This project is, in some sense, an outgrowth of the
by the user. This portion is essentially a table of interrupts
Human Genome Project, a worldwide effort to sequence (g.v.) and some executable code for servicing the inter-
the entire human genome. The Human Genome Project rupt requests. A changeable and extensible portion of the
will require massive computer support in such areas as BIOS sits in files, usually hidden, on the boot disk (see
numerical computation, searching algorithms, and BOOT AND REBOOT). On IBM PCs and compatibles, these
database design. As these databases increase in size files are named IO.SYS or IBMBIO.COM.
and complexity, it becomes increasingly important that The BIOS is responsible for system checking at start-
effective and efficient user interfaces be developed. One up time. It is also the module that translates commands
can envision user interfaces incorporating knowledge to specific peripherals and devices into a language that
engineering, advanced graphics and mathematical capa- the hardware can handle. The original IBM BIOS for the PC
bilities, and simulation engines. The future of biocomput- also contained part of the Basic language, but this is no
ing is one of great excitement. longer common.
To avoid copyright infringement, manufacturers of
References IBM-compatible micros emulate the functions of the IBM
1971. Guyton, A.C. Textbook of Medical Physiology. Philadelphia: BIOS without copying the actual code. The relative ease
W.B. Saunders Company. with which this can be done was a major factor in the rise
1983. Witten, M. (Ed.) Advances in Hyperbolic Partial Differential of so many vendors capable of producing low-cost micro-
Equations. New York: Pergamon Press. computers that are 100% compatible with the IBM-PC, As
BLOCK AND BLOCKING FACTOR 131
long as software operates through the BIOS and only power dissipation. As a result of this approach, high-
through the BIOS, compatibility can be assured. speed, high-power bipolar circuit technology can be
The BIOS, however, does not support all of the used. For example, the Schottky TTL AMD 2900 series
hardware’s capabilities. Hardware designers cannot con- four-bit chip set operates with a 100-ns microcycle, while
ceive all the uses that software might want to make of new the ECL M10800 four-bit family performs typical micro-op-
devices. The BIOS is also quite slow at many tasks, espe- erations in tens of nanoseconds.
cially video graphics. Many software authors choose to The same motives for bit slicing extend as well to
bypass the BIOS and program the hardware directly. This memory construction. Thus, a semiconductor memory
leads to increased performance, but there is then a dan- system is normally sliced vertically, each m bit word
ger that the program will not work on all machines, espe- being resident in several n bit (n S m) slices.
cially ones whose plug-in boards and other devices are
slightly out of standard. References
Devices that were not available when BIOS code was
1978. Hamacher, V. C., Vranesic, Z. G., and Zaky, S. G. Computer
originally burned into PROM can be accommodated by
Organization. New York: McGraw-Hill.
DEVICE commands in CONFIG.SYS files, commands that
access the extensible portion of the BIOS that resides on KENNETH C. SMITH
disk (see LOGIN FILE).
STEPHEN J. ROGOWSKI
re
NY
ea ae Record|Record NN
\ Stine Aen bapa aNNF
9 | 10 N
NS
Start of Start of
ae of
block 2 — block 3
block 1
FIG. 1. _ Fixed-length blocks: blocking factor = 5; all records have same length; block length = 5
X (record length).
Total length
count for block;
4 bytes
FIG. 2. _Variable-block lengths (no logical record larger than one physical block): blocking fac-
tor, variable; block length = 4 + [(length of record-1) + 4] + [(length of record-2) + 4] +...
Block 1
Block 3
Block 4
FIG 3. Variable-length records (which may be larger than fixed-length physical blocks).
BLOCK STRUCTURE 133
his contemporaries. Due to the family’s sparse financial outstanding biography with an excellent bibliography of both
resources, Boole’s formal education was limited to ele- primary and secondary sources.)
mentary school and a short stint in a commercial school. 1982. Smith, G.C. The Boole-DeMorgan Correspondence Oxford,
Beyond this he was almost totally self-educated. England: Clarendon Press.
Boole’s first scientific publication was an address on
Newton to mark the presentation of a bust of Newton to HENry S. TROPP
the Mechanics Institution in Lincoln. In 1840 he wrote his
first paper for the Cambridge Mathematical Journal. In
1849, despite his lack of formal training, he was appointed
to a professorship of mathematics in the newly estab- BOOLEAN ALGEBRA
lished Queen’s College, Cork, Ireland.
During his career he published approximately fifty For articles on related subjects see ARITHMETIC, COMPUTER;
scientific papers, two textbooks (on differential equa- BOOLE, GEORGE; DISCRETE MATHEMATICS; LOGIC DESIGN; and
tions, 1859; and finite differences, 1860), and his two LoGic PROGRAMMING.
famous volumes on mathematical logic (see References).
In 1844, the Royal Society awarded him a medal for his The concept of a boolean algebra was first proposed
papers on differential operators, and, in 1857, they by the English mathematician George Boole in 1847. Since
elected him a Fellow. He was married in 1855 to Mary that time, Boole’s original conception has been exten-
Everest, a niece of Sir George Everest, after whom Mount
sively developed and refined by algebraists and logicians.
Everest was named. ar The relationships among boolean algebra, set algebra,
Although Boole made significant contributions in a logic, and binary arithmetic have given boolean algebras
a central role in the development of electronic digital
number of areas of mathematics, his immortality stems
computers.
from his two works that gave decisive impetus to the need
to express logical concepts in mathematical form: “The
Mathematical Analysis of Logic, Being an Essay Towards Set Algebras The most intuitive development of
a Calculus of Deductive Reasoning” (1847) and “An Inves- boolean algebras arises from the concept of a set algebra.
tigation of the Laws of Thought, on Which are Founded Let S = { a,b,c} and T = { a,b,c,d,e} be two sets consisting
the Mathematical Theories of Logic and Probability” of three and five elements, respectively. We say that S
(1854). Through these works he truly became the founder is a subset of T, since every element of S (namely, a, b,
of modern symbolic logic. He reduced logic to a proposi- and c) belongs to T. Since T has five elements, there
tional calculus, now often called boolean algebra, which are 2° subsets of 7, for we may choose any individual
was extremely simple and perhaps too strongly based element to be included or omitted from a subset. Note
upon classical logic. that these 32 subsets include 7itself and the empty set,
Under the influence of his work, a school of symbolic which contains no elements at all. If 7 contains all
logic evolved which made a determined effort to unify elements of concern, it is called the universal set. Given
logic and mathematics. As is usual, the impact of this a subset of 7, such as S, we may define the complement
effort was not realized until the latter part of the nine of S with respect to a universal set T to consist of
teenth century. Although DeMorgan and Jevons ex- precisely those elements of 7 that are not included in
pounded on his work during Boole’s lifetime, it remained the given subset. Thus, S as above defined has as its
for Frege, Peano, and C. S. Peirce to relight the torch that complement (with respect to 7) S = {d, e}. The union
finally led to the “Principia Mathematica” (1910-1913) of of any two sets (subsets of a given set) consists of those
Russell and Whitehead. elements that are in one or the other or in both given
Boole’s discovery that the symbolism of algebra sets; the intersection of two sets consists of those ele-
could be used in logic has had wide impact in the twenti- ments that are in both given sets. We use the symbol
eth century. Today, boolean algebra is important not only U to denote the union, and 4 to denote the intersection
in logic but also in the theory of probability, the theory of of two sets. For example, if B = {b, d, e}, then BUS
lattices, the geometry of sets, and information theory = {a, b, c, d, e}, and BO S = {5}.
(q.v.). It has also led to the design of electronic computers While other set operations may be defined, the oper-
through the interpretation of boolean combinations of ations of complementation, union, and intersection are of
sets as switching circuits. For example, the logical sum of primary interest. A boolean algebra is a finite or infinite
two sets corresponds to a circuit with two switches in set of elements together with three operations—nega-
parallel and the logical product corresponds to a pair of tion, addition, and multiplication—that correspond to the
switches in series. set operations of complementation, union, and intersec-
tion, respectively. Among the elements of a boolean alge-
References bra are two distinguished elements: 0, corresponding to
the empty set; and 1, corresponding to the universal set.
1916. MacFarlane, Alexander. Lectures on Ten British Mathemati- For any given element a of a boolean algebra, there is a
cians of the Nineteenth Century, pp. 50-63. New York: John
unique complement a’ with the property that a 1 a’ = 1
Wiley & Sons.
and aa’ = 0. Boolean addition and multiplication are
1937. Bell, E.T. Men of Mathematics. New York: Simon & Schuster.
1970, Broadbent, T. A. A., “George Boole,” in Dictionary of Scien-
associative and commutative, as are ordinary addition
tific Biography 1:293-298. New. York: Scribners. (This is an and multiplication, but otherwise have somewhat differ-
136 BOOLEAN ALGEBRA
ent properties. The principal properties are given in Table Propositional Calculus In information retrieval
1, where a, b, andc are any elements of a boolean algebra. work, and in identifying boolean algebras as set algebras,
Since a finite set of n elements has exactly 2” subsets, . we find that various logical connectives, such as “and,”
and it can be shown that the finite boolean algebras are “or,” and “not,” recur frequently. Thus, it is not surprising
precisely the finite set algebras, each finite boolean alge- to find that the two-element boolean algebra can be iden-
bra consists of exactly 2” elements for some integer n. For tified with elementary logic or propositional calculus. A
example, the set algebra for the set T defined above proposition is a statement that can be said to be either
corresponds to a boolean algebra of 32 elements. Tables true or false. We will denote propositions by letters such
2 and 3 define the boolean operations for boolean alge- as Pp, q, and r.
bras of two and four elements, respectively. The connectives or operators “and” and “or” com-
While it is possible to use a different symbol to bine two such propositions into a new one. If we consider
denote each element of a boolean algebra, it is often two propositions, p and q, each may, independently of the
more useful to represent the 2” elements of a finite other, assume the value true (T) or false (F). Hence,
boolean algebra by binary vectors having n components. together, the ordered pair (p, g) may assume 2 - 2 = 4
With such a representation the operations of the boolean combinations of truth values: (T,T), (T,F), (F,T), and (FF).
algebra are accomplished componentwise by consider- If o denotes a binary operator, then p o gq may assume
ing each component as an independent two-element either (T) or (F) independently for each of these four T-F
boolean algebra. This corresponds to representing sub- combinations. Thus, we can define 2‘ = 16 distinct binary
sets of a finite set by binary vectors. For example, since logical operators, as shown in Table 4. Of the 16 binary
the set T has five elements, we may represent its subsets logical operators that can be defined, 5 are commonly
by five-component binary vectors, each component de- used and are more than sufficient to define the remaining
noting an element of the set 7. A numeral | in the ith operators.
component of the vector denotes the inclusion of the The “negation” or “not” operation, ~p, is defined to
ith element of that particular subset; a 0 denotes its form a proposition that is true precisely when the propo-
exclusion. Thus, the subset S = {a,b,c} has the binary sition p is false, and false whenever p is true. If we equate
vector representation {1,1,1,0,0}. The set operations the truth values “true” and “false” with the boolean values
become boolean operations on the components of the 1 and 0, respectively, then we find that negation corre-
vectors. This representation of sets, and the correspon- sponds to boolean complementation. That is, ~p replaces
dence to boolean or logical operations, is very useful the value “true” with “false,” and vice versa, just as p’
in information retrieval (q.v.). Because of it, sets of replaces the value “1” with “0,” and vice versa. (In Table
document and query characteristics may be easily and 4, column 13 is ~p and column 11 is ~@q).
rapidly matched. The logical “conjunction” or “and,” p /\ q, forms a
proposition that is true precisely when both p and gq are
true, and is false otherwise. This corresponds to the
boolean operation of multiplication, with the boolean
TABLE 1 expression pq having the value 1 if and only if both p and
q have the value 1. (See Table 4, column 8.)
Distributivity: a(b + c)5ab + ac
In ordinary usage the word “or” has two distinct
a + (6c)=(a + b)(a + c)
meanings, referred to as the “inclusive or” and the “exclu-
Idempotency: a+a=a
aa=a sive or.” In the inclusive sense, the statement “ p or q” is
Absorption laws: a+ab=a true if p or g or both are true; in the exclusive sense, the
a(a+ b)=a same statement is true if either p or g, but not both, is
DeMorgan’s laws: (a+ b/ =a b’ true. The logical “disjunction” or “or,” p \/ q, is defined to
(aby =a’ +b’ be the inclusive “or.” That is, p \/ q is true precisely when
at least one of the statements p and q is true. Thus, this
TABLE 2. Two elements operation corresponds to boolean addition as we have
defined it. Gee Table 4, column 2.)
The exclusive “or,” p # q, is commonly called
inequivalence, since it defines a proposition that is true
precisely when p and q have opposite or inequivalent
truth values. This corresponds to any of several more
TABLE 4
iLb
W
F
4444
F a4:74a444
4m
7a7Aa4
3437437754
a474 3447
4a7 oT ir
Ta eo 43477
147 3477
4n Aa
77
BOOLEAN ALGEBRA 137
complex boolean operations such as pq’ + p’q, and densed form, Table 7, each line of the table may represent
(p + q)(pq)’. Gee Table 4, column 10.) one or more lines of the uncondensed table. For example,
The remaining conventional logical operator is the the first line of Table 7 represents the two lines TFT and
conditional or implication, p > q, corresponding to the TFF of the uncondensed table. In this particular example,
statement “if p then g.” The conditional proposition p > q the line FTF is represented three times, namely, in lines 2,
takes the value “false” if p is true and q is false, and takes 3, and 4 of Table 7. Also in the condensed table, the
the value “true” otherwise. Thus, it corresponds to the dashes represent values that are immaterial and hence do
boolean operation p’ + q. Note that if pis false, then p> qis not need to be calculated. For example, in the first line of
true, regardless of the value of g. This corresponds to the Table 7, since p = q is false we know that the entire
statement that one can prove anything (q, whether true or expression has the value “true,” regardless of the value of
false) from a false hypothesis (p). (See Table 4, column 5.) the remaining portion of the expression.
While the logical operators that we have defined The truth table for an unknown logical function can
suffice to define all logical operators, it is only necessary be used to generate an expression for that function. The
to use two of the above operators, namely, negation, and expression thus generated is called a disjunctive normal
one of the operators conjunction, disjunction, or condi- form or, in boolean algebra, a sum of products form. The
tional. However, of importance to computer design is the development of this expression is illustrated in Table 8.
fact that we can define all logical operators in terms of one For each line of the table wherein the unknown function
basic operator, either the “nand” or the “nor” operator. has the value “true,” an expression is formed by taking the
These are the negation of the conjunction and disjunction conjunction of all variables that are true in that line and
operators, respectively. That is, the “nand” ‘operator de- the negations of all variables that are false in that line. The
fines a statement, p |g, which has the value “false” pre- expression for the function fis then the disjunction of all
cisely when both p and q are true, and the value “true” expressions formed for the single lines. In Table 8, f is
otherwise. The “nor” operator defines a statement, p | g, given in this form, and in the corresponding boolean
which has the value “true” precisely when both p and q algebra form, as well as in a shorter form developed by
are false, and the value “false” otherwise. (See Table 4, direct inspection of the function values. (Equivalence, =,
columns 9 and 15.) is defined by column 7 of Table 4.)
The development of the disjunctive normal form
Truth Tables A truth table gives the truth values of a shows that the logical operators conjunction, disjunc-
logical expression for each combination of the truth val- tion, and negation are sufficient to develop an expression
ues of its variables. Thus, for a logical expression in n for any logical function. Furthermore, we may use
variables, the truth table contains 2” lines, one for each DeMorgan’s laws to transform conjunctions to disjunc-
combination of truth values of its variables. Since the tions, or vice versa. Thus, as we previously asserted, any
truth value of an expression is determined from the truth logical function can be developed from the operators
values of various subexpressions, the truth table may be negation and either conjunction or disjunction. Table 9
given in an extended form, which explicitly lists all sub- shows the development of the five common logical oper-
expressions, a standard form in which the sub- ators in terms of these two minimal combinations of
expressions are not separately listed and a condensed operators. In turn, Table 10 shows the development of
form in which the lines of the table are compressed by negation, conjunction, and disjunction in terms of both
indicating the truth value of certain critical sub- the “nand” and the “nor” operators, thus indicating that
expressions. Tables 5 through 7 illustrate these three every logical operator can be defined in terms of either
forms of truth table for the logical expression one of these latter two operators.
‘TABLE 5
VAANA]
ntnman4
Aan JAM
44
BBB
7AA7AS44nngy |Fe
ee
ee
AMANAaAsSs AA4
ANAM a47s49g74
nah
37g Argaadsgat
138 BOOLEAN ALGEBRA
al =) a0 =0
0’ = 1’=0
a+a=1 aa’ =0
((PV~NACPV@)>r a+(a’b)=a+b a (a’+b)= ab
(a) (b)
FIG. 1. Venn diagram
the given variable has the value 1, while outside it has the Thus, the boolean function pg + pr + qr is repre-
value 0. These circles are arranged in such a way as to sented by the squares marked “1” in Fig. 3, while Os fill
include all possible combination of 1s and Os for the those squares not included in the representation. Note
variables. The Venn diagram for a 3-variable problem is that pg + q’ris also represented by the same four marked
given in Fig. 1, with the various regions labeled in Fig. 1(a) squares, and hence is equivalent to the given function. It
and certain regions shaded to represent the boolean func- is also possible to label a square d, denoting “don’t care,”
tion pq + pr + p’r in Fig. 1(b). In this form the Venn if the value of that square is irrelevant to the particular
diagram is relatively ineffective for logical analysis. The function being represented.
varying shapes of the regions cause some difficulty in
visualizing possible combinations of these regions, par- Minimization of Boolean Functions In the in-
ticularly if four or more variables are involved. terest of economy it is often desirable to use the simplest
The Karnaugh map is a practical modification of the possible expression for a boolean function in the design
Venn diagram, with each region of the diagram repre- of computer circuitry. For example, since the expression
sented by a square within a larger rectangle. The pq + pr + dris equivalent to the expression pg + drin the
Karnaugh maps for 2-, 3-, and 4-variable problems are sense that these expressions have the same value for
given in Fig. 2. The region represented by each square is given argument values, the former expression should be
determined by the product of the letters on the edges of replaced by the latter whenever it occurs in a given circuit
the rectangle. For example, the square marked A in the design. The determination of the simplest expression
4-variable rectangle represents the region pq’rs. To repre- equivalent to a given one is known as minimization. Mini-
sent a boolean function, say pg + pr + dr, ona Karnaugh mization is understood to be with respect to a given
map, first expand each term of the functions to include all function form, such as the sum of products form, since a
variables present: change in permissible operators often permits one to find
an expression that is simpler yet. Karnaugh maps and a
pq+prt+q'r variety of algebraic or geometrical algorithms have been
=pq:l+p-1-r+1-qdr used to accomplish boolean function minimization.
=pqrt+r)+pq+_/)rt+ (pt p qr When computers were constructed from discrete in-
= pqr + pqr + par + pq'r + pr + p’dr dividual logic components, minimization of the number of
= pqr + pqr + pdr + pr. components or “gates” was a significant task. However,
with the development of integrated circuit technology and
Then mark each square corresponding to a term in the the shift to Very Large Scale Integration (VLSI), the import-
expanded expression. ance of the individual logic gate in the overall cost of the
q q
‘ p
q q
p p
P’ p’
p’
MARK HALPERN
granted in 1984, now has responsibilities for education Prof. F. H. Sumner, 1978-1979
and training, for public awareness, and for standards, J. L. Bogod, 1979-1980
quality, and professionalism. The Society advises Parlia- F. J. Hooper, 1980-1981
ment and the government, and its agencies. It examines P. D. Hall OBE, 1981-1982
and pronounces on topical issues, such as computer mis- HRH The Duke of Kent, KG GCMG GCVO ADC, 1982-
use, safety-critical systems, software certification, intel- 1983
lectual property rights, and the impact of information D. Firnberg, 1983-1984
technology on society; it advises the Banking and Build- Dr. E. S. Page, 1984-1985
ing Society Ombudsmen on the use and misuse of plastic R. A. McLaughlin, 1985-1986
cards; it inspects university and polytechnic courses in Sir John Fairclough, 1986-1987
computer science and information technology; it con- E. P. Morris TD, 1987-1988
ducts its own examinations; it is closely connected with B. W. Oakley CBE, 1988-1989
numerous computer associations overseas, such as the V. S. Shirley OBE, 1989-1990
ACM and the IEEE-CS, and now increasingly with associa- A. Rousell, 1990-1991
tions in Europe to pave the way for the Single European S. Matheson, 1991-1992
Market of 1992; it is the U.K. member of the International
Federation for Information Processing; and it organizes an The Society has played and is sustaining an import-
ambitious Professional Development Scheme, which aims ant part in encouraging the spread of computer knowl-
not only to regulate and monitor the training of young edge through its Schools Committee, which consists of
professionals but also to keep established. practitioners people from education administration, the teaching pro-
up to date. In addition, the Society’s 50 specialist groups fession, and industry, and the Group for Computer Educa-
and its 8 technical and 6 professional committees have tion, also affiliated with the Society.
remained in the forefront of technical and professional The Society plays a major role in setting and main-
innovation, and its 42 branches have ensured that its taining standards, at many levels of competence, by its
influence is felt throughout Britain (and now, increasingly, representation on the advisory committees of national
overseas). examining and educational bodies.
The work of the Society’s members, individually or as
Organization The Society is governed by a council government representatives, in international organiza-
consisting of a President (currently Stephen Matheson) a tions concerned with education, places it at the interna-
Deputy President (currently Dr. Roger Johnson), four tional center of computer education circles.
Vice-Presidents (one each for Technical, Professional,
Branches, and External Relations), an Honorary Trea- The Society Examination The Society’s examination,
surer, and 39 Ordinary Members. Executive power is held set in two parts, is designed to assess the candidate’s
by the Chief Executive, J.R. Brookes MA FBCS, and four understanding of the underlying principles of the discipl-
full-time Directors. The 65 paid staff working in Mansfield ine, ability to reason and to evaluate information, and
Street are organized into four divisions: Administration, capacity for application of his or her knowledge to the
Professional, Services, and Technical. A trading subsid- solution of both practical and theoretical problems.
iary, the British Informatics Society Limited (BISL), has The part I examination, set at the level of the Higher
publications and conference departments. A high propor- National Diploma, requires candidates to take two com-
tion of the staff was relocated to Swindon, Wiltshire in pulsory papers covering the general knowledge that all
1990, but a small headquarters is maintained in London. computer professionals should have, together with two
The following have held the office of BCS President: papers from a number of widely defined areas of more
specialized computer knowledge (computer technology,
Prof. M. V. Wilkes FRS, 1957-1960 programming, data processing, analysis and design of
Dr. F. Yates CBE FRS, 1960-1961 systems, computational methods, and analog and hybrid
D. W. Hooper, 1961-1962 computing). The part II examination, set at the level of a
R. L. Michaelson, 1962-1963 university honors degree, requires candidates to take two
Sir Edward Playfair KCMG, 1963-1965 papers in one area and one paper in a second, less spe-
Sir Maurice Banks, 1965-1966 cialized, area than those defined for part I. The detailed
The Earl Mountbatten of Burma KG PC OM, 1966-1967 syllabus is available from the Society’s Examination De-
Dr. S. Gill, 1967-1968 partment.
B. Z. de Ferranti, 1968-1969
The Earl of Halsbury FRS, 1969-1970 Publications In addition to the publications men-
A. d’Agapeyeff OBE, 1970-1971 tioned, the Society has two other major publications. The
Prof. A. S. Douglas CBE, 1971-1972 Computer Journal is published every two months. It con-
G. J. Morris, 1972-1973 tains articles and papers on scientific, business, and com-
R. L. Barrington, 1973-1974 mercial subjects related to computers, together with
E. L. Willey, 1974-1975 reviews of the most important books and other publica-
C. P. Marks, 1975-1976 tions in the field. The Computer Bulletin is published ten
G. A. Fisher, 1976-1977 times a year and contains articles of a more general,
Prof. P. A. Samet, 1977-1978 tutorial nature than those in the Journal. The weekly
142 BUFFER
periodicals “Computing” and “Computer Weekly” both Computer Aided Design/Computer Aided Engineering
contain a “BCS News Page.” It carries reports of branches CASE
and specialist groups, as well as advance notice of the Computer Arts Society
Society’s activities. Copies are sent tothose BCS members ~ Computer Conservation
who fit the publishers’ criteria for free distribution. Computer Security
There are many other publications of a more special- Computer Graphics and Display
ized nature, including the Software Engineering Journal, Cybernetic Machines
which is published jointly with the IEE. Data Communications
Data Management
Data Protection
Membership The different types of membership are Developing Countries
as follows: Disabled
Distributed Systems
Fellow—Fellowship is by election from the Member Document Imaging
grade. The minimum requirements are that Fellows Electronic Publishing
must be over 30 and have 8 years experience in Expert Systems
computing, 5 in a responsible position. Formal Aspects of Computer Science
Member—Applicants must be over 24 and have passed Fortran
BCS parts I and II plus 4 years experience in comput- Fourth Generation Languages
ing or an honors degree with between 5 years and Geographical Information Systems
10 years experience or 10 years experience. Appli- Hardware
cants should be supported by two Members or Human Computer Interaction
Fellows. Information Retrieval
Associate Member—Applicants must be over 22 and Law
have BCS Part Iplus 3 years experience or an honors Local Government
degree and between 3 and 5 years experience or Mathematical Programming
ordinary degree plus 5 years experience or 7 years Medical (three separate groups—London, Northern,
experience. Support by at least two fellow com- Scotland)
puter practitioners is required. Modula-2
Affiliate—Minimum age 18. For those, usually profes- Natural Language Translation
sionals in other disciplines, who wish to keep up to Nursing
date with developments in computing. Object Oriented Programming
Student—Minimum age 18. For those following a Office Automation
course recognized for admission to professional Parallel Processing
membership, after minimum experience require- Payroll
ment. Performance Engineering
Primary Health Care
Education The responsibility for the Society’s educa- Process Control
tional activities lies with a full-time Education Depart- Robotics
ment. Education liaison officers appointed by each Safety-Related Computer Systems
branch play a valuable role in communication between Software Quality Management
the Society and educational establishments throughout Technology of Software Protection
the country. Information is also provided on career pros-
pects in the computer field, including presentations to TIM HACKWORTH
schools and colleges.
The Professional Board has six committees: Profes-
sional Advisory, Membership, Education and Training,
Data Protection, Intellectual Property, and Data Security.
There are eight Technical Committees: Software Engineer-
BUFFER
ing, Value-Added Data Services, Health Informatics, Fu- For articles on related subjects see CACHE MEMORY; and
ture Impact of Information Technology, Safety-Critical INPUT-OUTPUT CONTROL SYSTEM.
Systems, Informations Systems Management, Human Sys-
tems Interaction, and Graphics, Design, and Manufacture. A buffer is an area of storage that temporarily holds
In addition, the Society has two major projects: “IT for data that will be subsequently delivered to a processor
Disabled People” and “Women in IT.” The specialist or input/output (I/O) transducer. Buffers exist as an
groups are as follows: integral part of many transducers; e.g. bits arriving
serially over a telephone line are collected in a buffer
Advanced Programming before the appropriate teleprinter character is activated.
Auditing by Computer Similarly, the bits representing a given keyboard stroke
British APL Association remain in a buffer while being serialized for transmission.
Business Information Systems Since the buffer is an integral part of the transducer, it
BUG 143
is usually dedicated to the transducer and not shared of the buffer has been filled (IN=END), then IN is reset to
with any other device. START and subsequent data will wrap around to the start
Buffers are also used in conjunction with a of the buffer.
computer's input/output control system (IOCS) to hold Similarly, when OUT reaches END, it is reset to START
the data that is the object of various I/O commands. In and also wraps around. Clearly, the following restrictions
this case, the buffer is usually a portion of main storage hold:
and is often dynamically allocated and freed by software.
In either case, a buffer exists in order to accommodate the 1. If IN > OUT, then OUT must not become greater
different rates at which data is produced or consumed by than IN—1.
the processor or transducers involved. 2. If OUT > IN, then IN must not become greater than
In a typical situation, a processor will be capable of ouT—1.
producing data several orders of magnitude faster than a If either of these two conditions is violated, then either
transducer (e.g. a printer) can accept it. In order to make the consumer is trying to access data that has not been
most efficient use of the processor, the data will be placed produced, orthe producer is attempting to overwrite data
in a buffer and its location made known to the transducer. that has not yet been consumed.
The transducer then proceeds to empty the buffer while As random access memory (RAM) has become less
the processor is freed for other work. expensive, designers have increased average buffer size.
Various buffering techniques have evolved in IOCS. This usually helps I/O response and throughput (q.v.) by
These techniques can be analyzed according to the policy exploiting local referencing patterns and achieving a
used for (1) receiving data from the producer and (2) cache effect in the I/O system. Mainframe systems of the
delivering data to the consumer. 1990s use very large, “extended” RAM memories to opti-
When receiving data, two techniques are common: mize this effect to the greatest extent possible.
(1) a pool of buffers and (2) circular buffering. With the
buffer-pooling technique, a number of buffers are avail- ROBERT W. TAYLOR
able to the IOCS. Usually, each buffer is large enough to
hold the single physical record that is being transferred.
When arecord is produced, a buffer is taken from the pool
and used to hold the data. Data is then consumed on a
BUG
first-in, first-out basis, and when all data has been trans- For articles on related subjects see DEBUGGING; GLITCH; and
mitted, the buffer is returned to the pool. SOFTWARE TESTING.
Circular buffering, in contrast, typically uses a single
buffer, usually one that is larger than a single physical A bug is an error in either the syntax or the logic of a
record and which is managed as a queue. The basic strat- computer program or circuit. Because the story has been
egy is to give the appearance that the buffer is organized retold so often by well-meaning people, many believe that
ina circle,with data “wrapping around” as shown in Fig. 1. the term originated when a moth was removed (‘“de-
This appearance of circular organization is accomplished bugged”) from an errant Mark I (g.v.) relay circuit in the
by using two pointers, IN and OUT, associated with the early 1940s. Though this may very well have happened,
buffer; the starting and ending addresses of the buffer the term bug was used in exactly its current context by
(START and END) are also known. Initially, START=IN=OUT. Thomas Edison in an 1878 letter to Theodore Puskas.
Data received from the producer fills the buffer, starting Most syntactical bugs can be detected during the
from START and incrementing the pointer IN. The consumer translation from the symbolic languages that program-
takes data from the buffer, incrementing the pointer OUT mers use into the (binary) language that is eventually
(and taking care not to go past IN—-1). When the last word executed. For example, the proper symbolic code for
D»
5 mE
ee Ea START
Bi eee
ee en
CM ley a ce
START
END
7) a Ee
dee ieee,
sg ee] END
FIG. 1. Circular buffer organization shown logically (left) and as it actually appears in memory (right).
144 — BULLETIN BOARD
addition on some machines is ADA (“add to accumulator”). text and graphic material to be posted for viewing; a
If the programmer mistakenly writes ADD, this bug will be modem connected to a phone line, which allows transmis-
detected, an error message will be printed, and execution sion of computer-generated text and data to and from the
of the program will be halted, since the attempted opera- bulletin board; and a central computer on which this data
tion code is illegal. can be stored, organized, and made available for trans-
A bug is also created, and a more serious one, if the mission to readers. Participants must also have word
programmer writes the legal code sBA (“subtract from processing (g.v.) and telecommunications software for
accumulator”) when ADA was intended. This is a logical their personal computers.
bug, and no coding system can catch such an error. The first bulletin boards began in the 1960s, with the
Properly speaking, the elimination of the first type of U.S. Defense Department’s ARPA network of intercon-
bug is the process of debugging, whereas the detection nected mainframe computers. This system required par-
and elimination of the second type is the process of ticipants to have direct links to a mainframe, usually from
software testing. Program bugs can be so extremely sub- a military installation or other official office.
tle that they may resist great efforts to eliminate them. It The spread of low-cost personal computers and effi-
is commonly accepted that all very large computer pro- cient modems (q.v.) in the 1970s engendered the develop-
grams (such as compilers) have bugs remaining in them. ment of numerous bulletin boards or “on-line systems”
The number of possible paths through a large computer that were fully accessible to the public. By the end of the
program is enormous, and it is physically impossible to 1980s, hundreds of thousands of people accessed thou-
explore all of them. The single path containing a bug may sands of bulletin boards around the U.S. at all times of day
not be followed in actual production runs for a long time from their homes and places of business. These numbers
(if ever) after the program has been certified as correct by are larger by a factor of at least 5 on the international scale.
its author or others. Bulletin boards now differ greatly in quality of data
available, cost to the user, and services rendered to the
FRED GRUENBERGER
user. The most common kinds of bulletin boards are usu-
ally free to access, and support discussions on a variety
of topics, ranging from politics to the latest computer
software and hardware (see Fig. 1). Some of these bulletin
BULLETIN BOARD boards specialize in specific areas, such as news, science
For articles on related subjects see COMPUTER CONFERENC- fiction, computer games, stock quotations, or sports.
ING; DATA COMMUNICATIONS; ELECTRONIC MAIL; GROUPWARE; NET- Friendships, business undertakings, and romantic in-
WORKS, COMPUTER; and VIDEOTEX. volvements are some of the many human relationships
that regularly develop on bulletin board systems. Al-
An electronic bulletin board is a medium for posting though many bulletin boards have facilities for “real-time”
and discussing announcements and messages of interest communication or “chats,” most communication takes
to a community of on-line users. Implementation and place through asynchronous exchange of messages.
maintenance of a bulletin board requires three types of These messages may contain sophisticated graphics and
equipment: a personal computer or means of generating programs in binary code, but the common denominator
ld Oe i prey
Ft hcl
FI ATT
to
a. mt
Meta
L
et
of most bulletin board systems is text-only or “ASCII (g.v.) computer hackers (q.v.) compromised national computer
mode.” systems several times in the 1980s.
Bulletin boards are closely related to electronic mail Corporations and business operations, especially
(e-mail) systems, but in the latter, a correspondent typi- those with activities dispersed internationally or around
cally addresses a message to a particular named recipient the nation, make extensive use of bulletin boards, com-
or selected group of recipients. The users of a bulletin puter conferencing and electronic mail. Companies such
board service post messages for all users to see, and as IBM, Digital Equipment Corporation, AT&T, Proctor
browse through selected categories of messages posted and Gamble, and most major oil companies use private
by others. bulletin boards accessible to tens of thousands of execu-
Commercial on-line systems charge their customers tives and employees.
hourly and monthly rates, and offer in-depth databases France is the most saturated on-line nation at pres-
and hundreds of topics for discussion. CompuServe, an H ent, with more than 90% of its population connected to its
& R Block Company, claims the largest number of users, at Minitel network. Third world nations are beginning to link
nearly half a million, and offers such services as electronic into worldwide databases, encouraged by organizations
banking via computer, on-line encyclopedias, and numer- such as the Agricultural Cooperative Development Inter-
ous databases, such as Books-in-Print, medical and legal national group, which in 1988 began an ambitious project
information, ability to reserve airline flights, and numer- of “networking” third world farmers and agricultural
ous discussions of professional and personal interest. workers via computer. The Soviet Union and citizens of
Other well-known on-line systems are The Source, Delphi, the U.S. have developed a growing series of bulletin board
Genie, and Prodigy. Unlike local, noncommercial bulletin discussions via the San Francisco—Moscow Teleport and
boards that usually serve a city or small limited geograph- computer conferencing on the Notepad system to help
ical area, large commercial online systems are accessible coordinate relief efforts after the 1988 earthquake in Ar-
via a local phone call from most places in the nation and menia.
sometimes the world. Such long distance connections can Current statistics show 25-30 million personal com-
be expensive, and require the services of a “data packet” puters in the US., with 25% of these outfitted with mo-
or telecommunication network, such as GTE’s Telenet, dems. As these figures grow, bulletin boards will become
McDonnell-Douglas’ Tymenet, or CompuServe’s own CPN an increasingly important part of our social and profes-
service. sional lives.
One of the newer services of bulletin boards is on-line
education. Since 1985, Connected Education has been References
offering courses for masters level credit granted by The
1988. Banks, Michael A. The Modem Reference. New York: Simon
New School for Social Research on the Electronic Informa- & Schuster.
tion Exchange System. Students from 30 states in the U.S. 1990. Glossbrenner, Alfred. The Complete Handbook of Personal
and more than a dozen nations around the world attend Computer Communications, 3rd Ed. New York: St. Martin’s
two-month classes entirely via personal computer and Press,
modem, without ever leaving their homes or places of
business. Courses take place on a special bulletin board PAUL LEVINSON
BUS
For articles on related subjects see DIGITAL COMPUTERS:
HISTORY: PERSONAL COMPUTERS; IBM-PC AND PC-COMPATIBLES;
OPEN ARCHITECTURE; PERSONAL COMPUTING; and SYNCHRO-
NOUS/ASYNCHRONOUS OPERATION.
a success due inno small part to its open architecture and tive during the entire cycle, making it easier to address
the flexibility of its expansion bus, whose design details multiple cards with the same interrupt.
were placed in the public domain. The new IBM bus came Most significantly, expansion cards could now have
to be known as the Industry Standard Architecture (ISA) their own processors and memory. No longer was the
bus. In some ways it was inferior to the S-100 bus. It used main processor the sole repository of computing power.
strictly an 8-bit architecture with parity protection and Cards could now be more powerful and intelligent, freeing
had only 62 pins consisting of 3 grounds, 5 voltage supply the main CPU for additional tasks. The primary disadvan-
lines, 20 address lines, 8 data lines, 10 lines devoted to tage of the MCA was that it was not downward compatible
interrupts, and a variety of special-purpose signal lines. with the old ISA cards.
The ISA bus was processor-specific and its edge-triggered
interrupts meant that each expansion card could have
only one interrupt (g.v.). An entire industry flourished in Extended Industry Standard Architecture
the shadow of IBM making products that could be placed (EISA) Not surprisingly, clone makers were reluctant
in the expansion slots of IBM-PCs and a plethora of com- to give up their market position and even more reluctant
patible machines. to pay IBM royalties on every card and machine made.
They saw a need to expand the ISA bus, but not at their
ISA AT Bus By 1984, microcomputing was a multi-bil- own expense. A group of computer manufacturers
lion dollar industry. Users were demanding more power banded together and formed the Gang of Nine: Wyse, AST,
and performance than an 8&bit bus could deliver. IBM Tandy, Compaq, Hewlett-Packard, Zenith, Olivetti, NEC,
announced its new Advanced Technology (AT) machine, and Epson. They agreed to develop a joint standard,
built around the 16-bit Intel 80286 chip, which could be publish it, and stick to it.
run as fast as 12 MHz. An additional connector was added Through use of a clever connector scheme, EISA re-
next to the 8-bit ISA connector, which allowed additional mained compatible with the old ISA boards. EISA was a
address and control signals while maintaining downward 32-bit standard, even faster than the MCA, with a maxi-
compatibility with ISA expansion boards. A wait state mum transfer rate of 33 MBytes per second. The expan-
(q.v.) generator was added to allow the microprocessor sion cards were almost twice as large, allowing for more
to keep up with bus components that might be too slow. components. The parts could also be stock; surface-
AT address lines were unlatched, allowing 16-bit cards to mounted components were not required. The power rat-
determine, as early in the bus cycle as possible, whether ing of the EISA boards were 45 watts. At +5 volts, the MCA
signals were intended for them. Information could be card can draw only 1.6 amps, while an EISA card can draw
transferred at up to 2 megabytes per second on this bus, 4.5 amps. Bus mastering and no-switch configuration were
but its rating of 8 MHz frequency ultimately proved to be also part of the EISA standard. The EISA bus is synchro-
too slow. Processor speeds for the 80286 began to outrun nous and can perform transfers in long rapid-fire bursts.
the bus. _#- Only the 80386 and 80486 chips can use EISA. Interrupts
are no longer edge-triggered and can be shared.
The EISA standard is producing high-performance
Micro-Channel Architecture (MCA) At the peak cards for all microcomputer applications. New disk con-
of popularity of the IBM AT-compatible computers, most trollers reduce hard disk access times below the_1_milli-
second threshold. On-board intelligence and memory
market share as well as a desire to enhance bus perfor- hold the promise of extremely fast response, increased
mance soon led IBM down a different path. In April 1987 performance, and widely enhanced video resolutions.
IBM announced a new computer line, the Personal Sys-
tem/2 (PS/2), designed to recapture market share lost to
the clone makers. It featured a new expansion bus based NU-Bus Apple Computer (g.v.) also came to recognize
on a concept called Micro-Channel Architecture (MCA), the benefits of an open, published, expandable architec-
which IBM intended to license, not give away. The MCA ture when it introduced its NU-Bus. Until the introduction
increased data throughput to 20 MBytes per second, of this bus in the late 1980s, the Macintosh had been a
more than ten times the speed o SA bus. The PS/2 closed machine. This was widely cited, along with higher
was still an open architecture machine in some sense, but cost, as the reason for Apple’s inability to match the
emulation would no longer be cost-free to the clone mak- market share of IBM compatibles.
ers. The 32-bit NU-Bus was introduced with the Mac Il. It
MCA expansion cards were smaller than those used operates on a 10 MHz synchronous clock, providing ac-
with the ISA bus and were designed to take advantage of cess to all main logic board resources through six Euro-
assembly advances using surface-mount components. It DIN connectors. This has led to many enhancements for
was_a_full 32-bit bus. Every fourth pin was a ground, the Mac that might not otherwise have evolved.
mar ing interference and allowing much faster
cycle times. Expansion cards could now communicate Reference
directly with the Video Graphics Array (VGA) card. Ex-
1989. Glass, L. B. “Inside EISA,” Byte, 14, 12, 417-425.
pansion cards could now be configured by the micropro-
cessor: No microswitches specific to the hardware had to
STEPHEN J. ROGOWSKI
be set. Interrupts were level-sensitive and remained ac-
148 — BUSH, VANNEVAR
BUSH, VANNEVAR
For an article on a related subject see DIFFERENTIAL AN-
ALYZER.
research projects. This position led to his being named teams, foreshadowed the 1951 establishment of the Na-
first Director of the Office of Scientific Research and De- tional Science Foundation. His Modern Arms and Free Men
velopment when it was founded in 1941. In this capacity (1949, New York: Simon and Schuster), a discussion of
he was essentially in charge of the entire U.S. scientific how science can play a role in preserving democracy, was
research program and could command virtually unlim- one of the key works that resulted in the explosive devel-
ited budgets and work force. While not directly involved opment of military research that so characterized the
in computer developments, he started several umbrella cold war era.
projects in which major computational advances were to
take place. In 1942 he wrote the report that resulted in the Reference
establishment of the Manhattan Project, and it was under
1970. Bush, V. Pieces of the Action. New York: William Morrow &
his coordination that the development of tactical radar Co.
took place.
After the war and up until his death on 28 June 1974, MICHAEL R. WILLIAMS
he wrote of his ideas and experiences in a number of
books. These were to have a profound effect on the con-
duct of scientific research and changed the way that basic
research was done in America. One of his writings (Sci- BUSINESS DATA PROCESSING. See Ap-
ence, the Endless Frontier, July 1945, Washington, U.S. MINISTRATIVE APPLICATIONS; BANKING APPLICATIONS;
Govt. Printing Office), a report of his war-time experi- REAL-TIME BUSINESS APPLICATIONS; and TRANSACTION PRO-
ences and insights into the organization of research CESSING.
d4F UGrrnuiy'had
poryoke rat$easces be ut) bawohsdemo!l Sate
Aare sopra. renga ait? atensyn aees ‘Te on
» ira ‘a yee ‘aa Roms tay wt
ew Daan gry poreng OF Ors Rely HES Gare vine went
iyesbaplzalrig 0 vi botivey, 39)0 mat co yt EI,ng
1. testiging ents «* PHih HTD “anion Lay isti
a me Byrd
* Me _ e ¢
i 7 ie 7 j ¢ </> )
ai :- ates - 8
2 AR Bi:
“ONS NPINEY ee
: RY rs) wv ATA ALLA were si: “iy 7
OPS te COMIN, | ee?gai T2497 A
is : Pace
= « ¢ i
i 54 St
pi oe
we Pw in Yes
Pte te? fp xe " )
re eee Ser
1<- @? ae 4 1 y j ; A
y (Ol
ee,
; (© | ia ; | 4
a id) 9 '
paw yi r 5 rh macy
151
152° ¢
scaled by the size of the object to which the pointer Run-time Environment C does not provide input/out-
points. The programmer is (or should be) unconcerned put (I/O) statements as a formal part of the language, nor
with the actual size. does it supply storage management or string manipula-
tion. Similarly, even though C was originally designed for
systems programming applications, it provides only sin-
Operators and Expressions In addition to the usual +,
glethread control flow constructions—no multiprogram-
—, etc., C has a relatively rich set of operators (except
ming, parallel operations, synchronization, or coroutines
compared to APL). Two classes are worth special men-
(q. v.). All of these higher-level facilities must be provided
tion. Any binary operator such as + has a corresponding
by separate functions; a standard I/O library provides a
“assignment operator” (here +=) so that the statement
uniform run-time environment for most C programs.
v=v+expr
An Example The following program computes the pow-
can be more concisely written ers of 2 up to 2”°,
which is largely written in C, can be transported to a form of a small “scratch pad” memory of one form or
variety of computers with relatively modest effort. another, running at the speed of the CPU and loaded out of
Moving the operating system overcomes the main the main memory. However, most of these were more like
obstacle to portability of applications programs—diver- an extension of the general purpose register stack so com-
sity of run-time environments on different machines. mon on all computers today, rather than having the fea-
tures of what are now called cache memories. The modern
References cache was pioneered by IBM and first introduced in 1969
1978. Ritchie, D. M., Johnson, S. C., Lesk, M. E., and Kernighan, B. in the IBM S/360 Model 85. The fundamental purpose of the
W. “unix Time-Sharing System: The C Programming Language,” cache was and still remains very simple and clear: to
Bell Sys. Tech. J. 57, 6: 1991-2019. provide a mechanism by which the main memory can
1978. Johnson, S. C. and Ritchie, D. M. “unix Time-Sharing System: “effectively” run or appear to run at the CPU cycle time.
Portability of C Programs and the unix System,” Bell Sys. Tech. The Model 85 demonstrated quite conclusively the
J. 57, 6: 2021-2048. value of using a cache buffer between main memory and
1988. Kernighan, B. W. and Ritchie, D. M. The C Programming the CPU. Nevertheless, the organization of this first cache
Language C (2nd Ed.) Englewood Cliffs, NJ: Prentice-Hall. did not give the best possible performance. Hence, the
next system to include a cache, namely the System
BRIAN W. KERNIGHAN
360/Model 195, had a modified cache organization that
proved to be superior in terms of performance. This
cache organization, namely a four-way set associative
C++. See OBsect-ORIENTED PROGRAMMING, design discussed later, has been used for many years with
few fundamental changes. Rather, only small additions
have gradually been added for performance enhance-
ment.
The fundamental principle that makes a cache effec-
CACHE MEMORY tive is exactly the same principle that allows us to con-
For articles on related subjects see ASSOCIATIVE MEMORY; struct virtual memory ([email protected].), namely “locality of
BUFFER; MEMORY; STORAGE HIERRARCHY; and VIRTUAL MEMORY. reference.” This is a simple principle that everyone uses
quite regularly and takes for granted. This locality of
Acache memory is an auxiliary memory that provides reference will be illustrated below with a very easily un-
a buffering capability by which the relatively slow and derstood example, namely that of borrowing books from
ever-increasingly large main memory can interface to the a central library.
CPU at the processor cycle time in order to optimize
performance. Early computers did not have cache memo-
ries, and, in fact, the concept was not enunciated until Library Example: Locality of Reference Sup-
1965, when Maurice Wilkes (g.v.) attributed the idea to pose we had the task of writing an essay on the history of
Gorden Scarrott. Actual cache memories were introduced the American Revolution. Further, suppose we were doing
in 1969 out of a necessity that could not have been fore- this task in an office that had shelf space for a maximum
seen in earlier times. This occurred in the following man- of only ten books. In order to write the essay, we need
ner. some reference books, so we visit the library and take out
Most early computing systems consisted basically of ten books that cover various aspects of the revolution.
a central processing unit (CPU), a main memory, and These are placed on our shelf, which can just accomodate
some sort of secondary I/O capability. In such systems, these ten and no more. As the work begins, we first use
the main memory was the single most crucial and limiting one book; perhaps one chapter is especially useful for the
element. Typically, the main memory technology was beginning. As we proceed, we may have to resort to
chosen first which dictated the final memory storage another book for additional information and use it for
capacity and speed. Subsequently, the CPU was then de- some time period, then perhaps go back to the original
book, and then to one or several others on the shelf.
signed to match the speed of the memory. This matching
of memory cycle time to the processor cycle time is Eventually, we reach a point where the ten books do not
necessary for optimization of processing speed, and re- have all the necessary information. It is necessary to visit
mains necessary even today. Historically, as technology the library once again for needed information. However,
before we can borrow an additional book, one on the shelf
progressed, logic circuit speeds increased, as well as the
must be removed and returned. We will naturally pick the
capacity requirements of main memory. However, be-
book that has been the least recently used, since it is the
cause of the need for increasing capacity, the speed of
one least likely to be needed in the immediate future.
main memory could not keep up with the ever-improving
Thus, we replace the least needed book with one im-
cycle time of the CPU. Thus, a gap developed between
memory and processor cycle time, and this gap contin- mediately needed, borrowed from the library. Once again
we have all the needed information close at hand, and
ued to increase with time (see Matick, 1977, Chapter 1, for
details of this history). these books are accessed as needed. Eventually, we may
Many suggestions were proposed in the late 1950s have to visit the library again and replace another book,
and early 1960s to bridge the degradation resulting from as we did previously. However, we only visit the library on
this gap. These suggestions consisted mainly of some rare occasions, since most of the time the information
154 CACHE MEMORY
needed is in one of the books. The principle at work here which has a 4K byte instruction cache and 8K byte data
is “locality of references.” Humans organize information in cache with 32-byte blocks fabricated directly on the pro-
a very structured manner, which is fundamental and nec- cessor chip, the IBM RS/6000 workstation first delivered
essary for any kind of organized thought or behavior. in 1990, which has a 64K byte cache with 128 byte blocks,
Imagine what it would be like to write this essay if every and the largest IBM 3090 system with a 256K byte cache
page of every book dealt with a totally different subject. using 128 byte blocks.
You would have to be running to the library very often,
which takes orders of magnitude longer than turning a Miss Ratios From the above discussion, it should
page or accessing another book. It would become a very be clear that, when a task is first started, little or none
inefficient process. of the required information is present in the cache.
Thus, locality of reference is a fundamental property Thus, the miss ratio will initially be large. However, as
of human behavior and is the foundation of cache (and the desired information is reloaded, locality of reference
virtual memory) design. Since the books are very close to will-make the miss ratio decrease to a small value,
you, they can be accessed very quickly. Also, since there typically a few percent. The miss ratio will vary with
are only ten, it is easy to recognize and access the next time in the same way and for the same reason as it did
book needed. If our shelf could contain hundreds or thou- in our previous example, but after the initial startup, it
sands of books, both the access time and the addressing will typically remain reasonably small. When the current
time (i.e. time to find the right one) become much longer task is completed and a new task started, we will again
and make the task less efficient. experience the initial startup misses.
A very key component in the overall task time-to- Over a long time good cache designs typically
completion is the time to reload a miss. Clearly, if the time achieve an average miss ratio of less than 10 percent, and,
to visit the library and reload our shelf becomes very for many tasks, a few percent is quite common. Obviously,
small, the number of misses is not significant in the total the more misses on average, the longer it takes to com-
time to complete the task. Conversely, if the reload time plete the task and thus the lower the overall performance
is very large, then the reload time can dominate the total of the processor. A very small task that fits into the cache
task time. Thus, it is desirable to minimize both the access will have very few misses and give the appearance of high
time to books on our shelf, as well as reload time for performance. A task that is much larger than the cache
misses. This is especially true as the actual time to pro- will have a substantial number of misses. If the reload
cess the task (i.e. do the writing) becomes smaller and time has not been well designed, the performance may be
smaller, which is the trend in computers (i.e. their pro- very good for small problems, but very poor for large
cessing speed is increasing rapidly). ones. Thus, in evaluating a processor with a cache, it is
A cache is analogous to the office shelf, while main important to measure performance with problems at least
memory is analogous to the library. Only a small part of as large as will be typically processed on the system.
the main memory library is resident in the cache office at
any one time—that part containing the information Cache Organization and Addressing In order
needed immediately and that part most likely to be needed to illustrate the various possible organizations as well as
soon. When a time is reached for which the needed infor- the inherent problems, let us continue with our office
mation is not in the cache, this is referred to as a cache shelf and library example, but with some small changes
“miss,” meaning that an access to the cache does not pro- for expediency. Suppose our office shelf can accommo-
duce the desired information. The miss ratio is defined as date a maximum of 26 books. We will assume for the first
the percent of access misses. Thus, if 100 accesses are case that 26 books can be arranged in any order on the
attempted to the cache, and 8 of them miss, requiring a shelf. The title of each book is its address, or identifying
reload from main memory, the miss ratio is 8 percent. tag, while the data desired is the information within the
When a miss occurs, we must “cast out” one cache book. If we need any particular book (address) at any
block, as previously, to make room for “reloading” the new given moment, we will have to search through all the titles
one. The block picked to be cast out is that “least recently on the books to find the desired one. This is a fully asso-
used,” just as above. The old block is replaced by the new ciative mapping of book titles to physical locations on the
one, and the so called “replacement algorithm” is “least shelf. The addressing, or accessing, of any one book re-
recently used.” quires associative compares in our brains. We compare
The unit of data transfer and replacement, namely the the title of each book with the image of the desired title in
books in our example, were called “blocks” in the original our brains. Because our brains are sequential, we would
and early designs, but more recently are referred to as do this serially, one book at a time. In the worst case, we
cache “lines.” The size of cache blocks or lines has varied may have to do 26 such compares, one on each book title
over the years and for different designs, with typical val- if the desired book is the last one. In order to speed-up the
ues ranging from 16 to 128 bytes. As the speed and tech- search process, a computer would have 26 compare cir-
nology of computers improves, the size of all parameters cuits in parallel, one for each title, so that all compares
tends to increase. For example, the caches in the original could be done simultaneously. It can be seen that, if the
Model 85 and 195 were 16K and 32K bytes with block size number of books on our shelf gets very large, the number
of 64 bytes. Both of these were very large, high-perfor- of compares required increases proportionally. This can
mance processors in their time. These should be com- become very cumbersome, so some alternative methods
pared with the Intel i860 microprocessor of 1989 vintage, for mapping and accessing the books are desirable.
CACHE MEMORY 155
We can greatly simplify the addressing by using a Suppose we have four books that all begin with A and that
so-called “direct mapping.” To accomplish this in our ex- are all used very frequently. Unfortunately, only one of
ample, we divide our shelf into 26 slots and label each with these can be resident in our office at any one time. Under
one letter of the alphabet, as shown in Fig. 1. Now, any the ground rules assumed, this is the case even if many of
book title (address) that begins with A must be placed the other slots are empty on the shelf. Thus, we will have
only in slot A, those beginning with B into slot B, etc. For to make frequent visits to the library to reload our shelf,
simplicity, we assume all books are about the same physi- and the effeciency of the task is greatly degraded. This is
cal size, so fitting them in the slots is not a concern. This is an inherent limitation of direct mapped organizations, so
the equivalent of using cache blocks/lines of fixed size. If they are almost never used.
the sizes were all vastly different, an additional and even One simple way to improve the office cache accessing
more complex problem would be encountered in trying to capability is to use a combination of direct and associative
use all the available shelf space efficiently. All cache de- mapping. This can be achieved as follows, and is analo-
signs avoid this by using a fixed book (block) size. gous to what was actually used for many years and is still
Continuing with our example, if we now need any in use. Let us combine the book slots of Fig. 1 into groups
book title that begins with, say, R, we can find it im- of four slots, as shown in Fig. 2. Each slot is now four times
mediately since it can only be in one location, the R slot. larger than previously and can hold four books, with any
This makes the accessing very simple, but produces an combination of titles and in any order, but starting only
inefficient office (cache) design for the following reasons. with the label above the slot. For instance, the first slot can
A B Cc D E
FIG. 1. Office shelf-cache, using direct mapping of one book per shelf slot.
hold any four books having titles starting with A, or B, or C, push a button to access the information contained under
or D in any combination. Thus, at one instant, the four that letter. Its use is detailed below.
books could have titles starting with B, D, D, A, as shown. .
At some future time, after we have reloaded some new Cache Example Using Set Associative Telephone Direc-
books into the first slot, the titles and their relative order- tory In our previous office example, the address of the
ing can be different. We can have any combination of A, B, desired information resided with the data. In a cache, the
C, and D in any order. Thus, to access a book having a title addresses are contained in a small directory, separate
starting with any of these four letters, we first do a direct from the data since the latter are typically much larger. A
access to the first group and then we must do four associa- perfect analogy can be obtained by using two ordinary,
tive compares to find the desired book within the group of desktop telephone directories, with some minor modifica-
four. If we do not get a compare match, then a miss has tions, as illustrated in Fig. 3. The addresses are contained
occurred and a reload is necessary. in the Directory on the left side, while the data (phone
This is known as a set associative organization and is numbers in this case) are contained in the Storage Array
widely used in caches and other translation components on the right side, as shown. There is one congruence class
of computers. The example above is four-way set associa- for each letter of the alphabet. In the Directory, each
tive because four compares must be made for each and congruence class can contain four names, all beginning
every access. Each group of four slots is known as a with the letter of the alphabet belonging to that congru-
congruence class. ence class. In a similar manner, each congruence class in
the array can contain four phone numbers belonging to
Set Associative Cache Organization Since the the addresses in the directory. There is an exact one-to-
earliest days, caches have, with few exceptions, all been one correspondence between addresses in the Directory
organized in a set-associative configuration. This organi- and data in the array.
zation is very commonly used by almost everyone at one As an example, suppose we have previously reloaded
time or another, but we are just not aware of its applica- congruence class K with four names in the Directory,
tion elsewhere. An ordinary pop-up telephone index is a namely Kerr, Kagan, Knopf, and Kantor. Internal to the
perfect analogy to a cache and thus will be used to make directory, we do not have to include the letter K with each
the concepts understandable. The phone directory we name, since the external mechanical selector picks (trans-
will use is the ordinary desktop type that allows us to lates) the letter K—the names cannot start with any other
move a pointer to some letter of the alphabet and then letter in this congruence class. The K congruence class in
Address register
the array contains the numbers 1745 for Kerr, 2391 for
CAD. See CompuTer-AIDED DESIGN/COMPUTER-AIDED MANU-
Kagan, etc. Now suppose we wish to find the number for
FACTURING.
Kagan, which is the full address appearing in our address
register at the top of Fig. 3. The first letter, K, is used to
access the K congruence class in both the directory and
array by moving both selectors to the letter K, as shown. CAI. See COMPUTER-ASSISTED INSTRUCTION.
We push the buttons to open both directories and re-
trieve four names and four numbers. The remaining por-
tion of the starting address, namely “AGAN” (Kagan
without the K), is compared simultaneously with the four CALCULATING MACHINES
names accessed. If a match occurs, the corresponding
For articles on related subjects see BURROUGHS, WILLIAM S.;
number is selected for use. In this case, a match (HIT)
CALCULATORS, ELECTRONIC and PROGRAMMABLE; LEIBNIZ,
occurs on the second entry in the K congruence class, so
GOTTFRIED WILHELM VON; NAPIER, JOHN; and PASCAL, BLAISE.
the second number in the array is used. If no compare
match was obtained, a MISS has obviously resulted, re-
The art of mechanical calculation could be said to
quiring a reload.
date back to whenever people first used pebbles or grains
This example is a perfect analogy to a real cache in
of corn to keep track of their belongings. However, the
another very important way. Notice that in the example
subject is usually thought of as starting when mechanical
above, access to the array was done at the same time as
calculators were invented. A mechanical calculator is a
access to the directory. By the time the four address
device that has three properties: a mechanism that will
compares are completed, the four possible numbers are
act as a register to store a number; a mechanism to adda
also accessed so that it is only necessary to select one of
fixed amount to the number stored in that register; and an
the four using the compare signal. In an actual cache, the
addition mechanism having the ability to deal automati-
directory and storage array would both be arrays of static
cally with any carry, from one digit to the next, that is
RAM devices with appropriate address decoders, sense
generated during the addition process.
amplifiers, etc. An address K (in binary) would be applied
The first known device of this kind (Fig. la) was
to both arrays, and the internal information would be
produced by the German scholar Wilhelm Schickard
latched at the edge of each array in sense ampli-
(1592-1635) in 1623 as a response to a request for calcu-
fier/latches. The directory will have four compare circuits
lating help from the astronomer Johann Kepler. Unfortu-
on the periphery of the array that will do the remaining
nately, the machine was destroyed in a fire before Kepler
address matching. If a match is obtained, a direct enable
ever saw it, but descriptions and drawings have been
signal is sent to the corresponding register on the storage
found in their correspondence that are sufficiently de-
array and the data is gated to its destination, usually the
tailed to enable reconstructions. The upper portion of the
processor.
This is called a late-select organization, since the data
is accessed simultaneously with the addresses; if a match
occurs, the late-select signal from the match only has to
gate the data out of the latch on the edge of the storage
array. Late-select is an extremely fast organization for
accessing a cache and is used widely. If we did not use it,
we might be forced to first access the directory for the
match and then subsequently access the storage array for
data. This serial access of first address and then data is
much slower than accessing both addresses and data,
and using a late-select signal.
The use of a cache to bridge the performance gap
between processors and main memory has become im-
portant in the entire range of computer designs from
personal computers (q.v.), workstations (q.v.), and mini
and mid-range systems, up through very high perfor-
mance processors. Its use in future systems will become
even more important and widespread as processor speed
and main memory capacity both continue to increase.
References
machine contains a multiplication table in the form of fall and “kick” the adjacent digit of the register over one
cylindrical Napier’s bones with slides that allow one row position. By having each digit-carry mechanism driven by
at a time to be seen. The lower part contains a very simple gravity, the problem of having to use excess force on the
register, much like an automobile odometer, each digit of right-hand digit of the register to propagatea carry several
which contains a single tooth that, when it rotates from 9 digit places was eliminated. The only force needed was to
to 0, will cause the next wheel on the left to rotate one turn the rightmost wheel; the carry weight would drop and
digit position. that force would turn the wheel next to it, etc. Pascal was
There are two major problems with this “single- then faced with the problem of creating an “over-rotation
tooth” carry mechanism (Fig. 1b). The first is that the preventer” to stop the left digit from rotating too far when
addition 99,999 + 1 will result in a carry being propagated a “carry-kick” was given by a digit on the right. Pascal
right through the register. This means that considerable experimented for several years with different versions of
force must be used in turning the units digit wheel— his machine, even attempting to interest people in pur-
enough force to break gears that are not manufactured chasing them for help with their accounting chores. His
out of modern high-strength materials. The second prob- commercial ventures were unsuccessful, but it did result
lem is more subtle. As can be seen in the diagram, the in about 60 of the machines surviving to modern times.
process of carrying a one to the next digit position is done The story now switches back to Germany and
by the single-tooth gear entering the teeth of the interme- Gottfried Wilhelm von Leibniz (1646-1716). During one of
diate gear, rotating it 36 degrees (1/10 of a revolution), and his many trips to France as a diplomat, he saw a copy of
exiting from the intermediate gear teeth, all while rotating the Pascal machine and became intrigued with the con-
only 36 degrees itself. This problem led to some very cept. When he attempted to add extra gearing on top in
interesting gear designs. order to form a machine with which he could multiply, he
The next major advance in mechanical calculation discovered that the internal mechanism was not capable
came 19 years later when Blaise Pascal, the famous French of simultaneous action on all digits at once. For the next
mathematician and philosopher, invented an adding ma- 20 years he toyed with different ideas, but even after he
chine with a gravity-assisted carry mechanism (Fig. 2a). had envisioned what is today called the Leibniz stepped-
The two difficulties with the single-tooth carry were over-
drum principle, he was unable to construct his machine
come in the Pascal machine by the simple expedient of until he encountered a French clock maker named Olivier
having a weight lift up as the digits of the register rotate
who had the necessary skills. The Leibniz machine, which
(Fig. 2b). When a carry was necessary, the weight would
was to be the basic pattern for many mechanical calculat-
ing machines for the next 300 years, was constructed
during the summer of 1674.
Leibniz’s inventive genius led him to create a machine
in which a number could be set up on an input mechanism
and, once set, could be added to the result register by
simply turing a crank. Thus, to multiply a number such as
375 by 15, it was only necessary to put 375 on the set-up
mechanism and turn the crank 15 times. Leibniz saw that
the more efficient way would be to have the set-up mecha-
nism movable along the gearing that formed the result
register—this allowed one to set 375 on the set-up, turn
the crank five times (adding 375*5=1,875 to the result
FIG. 2a. _Pascal’s calculating machine. (Photograph courtesy register), shift the input mechanism one place to the left
of IBM Archives.) (effectively making the set-up take on the value of 3750),
CALCULATING MACHINES 159
Over-rotation
Carry Mechanism preventer
~~
t
S
and then turn the crank once (adding 3,750 to the result shaft to move the result wheel 8 positions around. Once
register). The movable set-up section is clearly visible in the mechanism had been set up to hold a number (375
the picture of the Leibniz machine (Fig. 3). being done by having the small gear on the units digit set
The concept of how the machine functioned can be to the 5 position, the tens gear set to the 7, and the
seen by noting the diagram (Fig. 4) showing a single digit
of the machine (without any of the mechanical apparatus
that controlled the carry operation). The result wheel,
shown at the end of the square shaft, showed the current
digit being stored. To add a value, say 8, to this wheel, it
was necessary to rotate the square shaft 8 positions. That
could be accomplished by moving the small gear up or
down the square shaft until it was in such a position that,
when the large drum was rotated one full revolution, 8 of FIG. 3. The Leibniz calculating machine. (Photograph cour-
its long teeth would interact with the gear on the square tesy of IBM Archives.)
160 CALCULATING MACHINES
\\)
The Thomas Arithmometer was based on the Leibniz
stepped-drum principle, but had a fully working carry
mechanism. It was first demonstrated to the French Acad-
emy of Science in 1820, and several thousand were sold in
Europe and occasionally elsewhere, until about 1900. This
same technology was used by many other manufacturers
and could be found, often in greatly modified form, in
mechanical adding machines still being made in the 1970s.
The major problem with any machine based on the
FIG. 4. A drawing of Leibniz's stepped<drum mechanism. Leibniz stepped drum was the fact that it was both large
and heavy. A machine with a many digit capacity would
hundreds to the 3), a single turn of the crank would cause often require two people to move it from place to place.
all the large stepped-drum gears to rotate through a full The Leibniz drum essentially provided a gear with a vari-
revolution and add 375 to the result wheels. able number (0-9) of teeth, but at the cost of size and
Needless to say, the entire mechanism was more weight. A number of attempts at producing a true vari-
complex than that shown here, the carry mechanism able-toothed gear that would literally change the number
being the most complicated portion. Even then, it some- of teeth protruding from its surface were unsuccessful
times required the operator to stop and help the machine until the solution was found, essentially simultaneously,
if a carry of more than two decimal places was needed. by Willigodt T. Odhner, a Swede working in Russia, and
Nonetheless, this stepped-drum concept was central to Frank S. Baldwin, an American, in about the year 1874.
most of the attempts at constructing calculating ma- As can be seen in the illustration (Fig. 5), the move-
chines for the next 200 years. ment of the lever would cause the circular cam to force
Ee hy On pey
References
CALCULATORS, ELECTRONIC
AND PROGRAMMABLE
For articles on related subjects see CALCULATING MACHINES;
DIGITAL COMPUTERS: HISTORY: PERSONAL COMPUTERS.; and
LAPTOP COMPUTERS.
CALL-BY-NAME, -REFERENCE,
OR -VALUE. See PARAMETER PASSING.
CALLING SEQUENCE
For articles on related subjects see ACTIVATION RECORD,
PARAMETER PASSING; and PROCEDURE.
order so that the first parameter, the address of haystack, Robert T. Horwood, 1974-1975
ends up at the top of the stack. Each push command ends Joseph B. Reid, 1975-1976
with “L” because, on the VAX, both addresses and the. T. Ross Jewell, 1976-1977
most commonly used form of integer occupy Longwords Glenn McInnes, 1977-1978
(32 bits). The # symbol is the VAX way of specifying an Wayne A. Davis, 1978-1979
immediate value. In accord with the assumptions made, Larry R. Symes, 1979-1980
only the 150 is passed by value (through use of PUSHL). Chris G. K. Bishop, 1980-1981
The addresses of the other three parameters, not their Alvin G. Fowler, 1981-1982
values, are stacked through use of PUSHAL (the “A” indi- John E. Bates, 1982-1983
cating “address of”) in accord with the procedure’s expec- Bernard Hodson, 1983-1984
tation that these parameters are being passed by Gary Hadford, 1984-1985
reference. Rod Shearing, 1985-1986
Marilyn Harris, 1986-1987
EDWIN D. REILLY
Gaylen Duncan, 1987-1988
Patricia Glenn, 1988-1989
Patricia Bewers, 1989-1990
CAM. See AuromaTion; and ComPuTER-AIDED DESIGN/ Nelson Armstrong, 1990-1991
COMPUTER-AIDED MANUFACTURING. Normard Paradis, 1991-1992
LAURENCE PRESS
References
called a channel program, is set up in storage. Each in- course, have their transfer rates affected by the way they
struction is a particular operation that the channel must are programmed. If the data is entered into a contiguous
execute. area of storage, the rate of data transmission will be
The CPU sends to the channel the address of the greater than if it is entered into a non-contiguous set of
block of consecutive storage words (or bytes) to be trans- areas, where all sorts of addresses must be computed and
ferred and the number of words to be transferred. If the the CPU notified as to which storage area is being af-
channel is not already busy and the channel equipment is fected. This use of non-contiguous memory for a data set
available and ready to operate, the channel initiates the is known as data chaining. Of course, data chaining cre-
transfer. ates more conflict with the CPU, slowing either data trans-
Instructions relating to channel operations com- mission or processing or both.
monly consist of two or more parts. The first part will
specify and initiate the action of reading or writing, will Channel Command A computer program consists
give the address to which transfer of control will be made of a set of instructions that are decoded and executed by
in the case of the rejection of the operation, and will the CPU. Channel commands are instructions that are
contain the address of a control word, the second part of decoded and executed by the I/O channels. A'sequence of
the channel instruction. The control word contains the commands constitutes a channel program. Commands
length and initial address of the block to be transferred are stored in the main storage just as though they were
and is that information that is actually passed to the data instructions. They are fetched from main storage and are
channel. It is also possible to allow a sequence of data common to all I/O devices, but modifier bits are used to
blocks to be transferred by providing a chain of control specify device-dependent conditions. The modifier bits of
words that are sent one after another to the channel. the command may also be used to order the I/O device to
The control word also provides a function code that execute certain functions that are not involved in data
specifies and provides for certain types of variation of the transfer, such as tape rewinding.
normal mode of transfer of data, such as skipping, read- During its execution of a program the CPU will initiate
ing, or writing zeros, or terminating data transfer before I/O operations. A command will specify a channel, a de-
the specified number of words indicated in the control vice, and an operation to be performed, and perhaps a
word is actually transferred. A channel unit may also storage area to be used, and perhaps also some memory
receive a variety of special orders from the processor, protection information about the storage area involved.
such as channel and equipment selection and channel All this information may appear in the command word, or
and equipment status inquiry. the command may tell the channel in which locations in
In the case in which there is more than one channel, memory to seek the necessary information. Upon receipt
the channels are connected at the processor end to a of this information, the multiplexer channel will attempt
scanner circuit called a director. The director polls the to select the desired device by sending the device ad-
various data channels in turn, and when data is ready it is dress to all I/O units (including controllers) attached to
transferred, the data channel providing the address to the channel. A unit that recognizes its address connects
store it in, or from which data is to be provided, and then itself logically to the channel. Once the connection is
providing or receiving the word. This scanning is done made, the channel will send the executable command to
sufficiently rapidly to avoid any crisis. The director has the I/O device. The device will respond to the channel,
direct access to memory and activates the input to and indicating whether it can execute the command and make
the output from memory. It scans the channels in a de- this information available to the CPU.
fined order of priority. One director may service as many _ AnJ/O operation involving data transfer to or from a
as 16 channels. series of non-contiguous memory locations may involve a
series of channel commands. Termination of an I/O oper-
Channel Capacity The rate at which a channel can ation involves channel-end and device-end conditions.
transmit data to or from an I/O device, or to or from main These conditions are brought to the attention of the CPU
storage, is the channel capacity. This is usually given in via interrupts or programmed interrogation of the I/O
bytes or kilobytes per second. The channel capacity device. The channel-end condition occurs when the data
must, of course, be great enough to service the fastest 1/O transmission is completed. The channel is considered
device connected to it. busy until this condition is accepted by the CPU. The
Computer manuals and channel specifications usu- device-end signal is given when the I/O device has termi-
ally give figures for data transfer rates under the assump- nated execution of the operation. The device remains
tion of ideal conditions. Actual data transmission rates unavailable until it is cleared by the CPU.
are usually lower. If the channel hardware and the CPU
hardware use the same registers, the channel may have Lockout The memory of a computer cannot be ac-
to wait on the CPU for available registers (and vice versa), cessed continuously, only at specific times. The time in-
thus affecting transfer rates in a manner that cannot be terval within which memory may be accessed by the
determined a priori. The maximum rates given for dis- processor or an I/O channel is known as a memory cycle.
crete channels will also be lowered by the operation of Most memory cycle times are measured in microseconds
other channels and by relative channel priorities. or nanoseconds.
Since multiplexer or selector channels are essentially The CPU is essentially involved in processing data
computers controlling 1/0, they will, of that is in main memory, whereas channels are concerned
independent
170) =CHANNEL
with the flow of data between I/O devices and main mem- and cannot be concerned with memory access problems.
ory. Main memory is a high-speed data store, whereas The CPU, on the other hand, goes from one stable state to
peripherals are comparatively low-speed data stores. The another. Once information is in its registers, it can wait.
channels and the CPU are busy moving data into and out This will slow processing, but will not lose information.
of main memory. A conflict arises if they both need access Therefore, a priority lock is set whereby the CPU is locked
to data at the same time. Since memory behaves the same out from access to memory at the instant that the chan-
way, whether the source or destination of the data is the nels want to access memory.
I/O channels or the CPU, some method is needed to re-
solve the conflict.
Selecting a Peripheral To select a particular pe-
Suppose a request for memory access is initiated by
ripheral unit, a special function code must be transferred
a second channel while a memory cycle is being used by
to the channel, indicating the identity of the unit required.
the first. Since all requests must eventually be granted,
This is done by sending a connect function to the channel.
but some more quickly than others, a priority system
Usually, a channel unit with a variety of attached equip-
must be used. It is the comparatively slow I/O devices,
ment is connected in what a communications specialist
rather than the high-speed CPU, that must have their
might call multidrop manner; all device controllers are
requests answered first. A tape speeding under the read
connected by the same communication path to the chan-
head must give up its data before the next data passes the
nel (see Fig. 1). Some device controllers may be con-
read head; otherwise, the data will be lost. The moving I/O
nected to more than one channel, in case the channel
devices must always have open space to accept more data
initially selected is busy.
Data
(one word width)
Data word
suber oat=ave
To other channels
Address
Data and PN
instruction ieee
To other channels
wee CREIa
a
ericees|
ee, Shae
1.41
Interrupt een
lines
Fearne
aa 1.42 Peripheral
1.43 devices
SE ree)
H—t{ 1.44
Status Ne
ee ised
islate
Bae
eee Pee,
Rips ay)
jliers
Device controllers
Tape
drive C ) _+)orum
Control,
TH)
De es
rv, ~!
unit
4 v,
iw)
. x™,
Selector
channel Paper
Table connecting tape
1/0 device and Keying
memory Card reader device
a) @
&3iS
4 @&LS
a iS ‘4 i’ ‘4
ay: Multiplexer
channel
CPU
than one I/O operation per subchannel, provided that the information. Sometimes all I/O is directed toward a block
total load on the channel does not exceed its capacity. of memory, a buffer, set aside just for I/O purposes by
Each subchannel of a multiplexer channel appears to the either the programmer or the supervisory program. The
program as an independent selector channel. When a information is then moved to a working storage area for
multiplexer channel transfers data in burst mode, the processing to take place; the I/O buffer is then available
subchannel it is using controls the data-transfer facilities for more I/O.
of the channel. Other subchannels on the multiplexer The concept of buffering has also found a significant
channel cannot respond to device requests until the burst application in peripherals. For example, in an on-line in-
is completed. ventory control system, a salesperson may type out a
A symbolic block diagram differentiating multiplexer message and check it on a display device for errors and
and selector channels is shown in Fig. 3. then transmit it to a computer. The message is stored ina
small buffer in the remote terminal and then transmitted
Communication Channels Some channels may as a whole message to the main computer, rather than
be devoted to communication between memory or pro- transmitting character by character as typed. In this man-
cessor and a number of remote terminals. These termi- ner the communications lines may be more efficiently
nals may either be interactive or suited only to batch used. Shrewd manipulation of buffers will greatly enhance
processing. In either case the channel makes connection the efficiency of its associated processing equipment by
via a multiplexer channel, and thence (usually) via public making necessary information available at precisely the
transmission lines of specified bandwidth prescribed by appropriate moment.
the data carrier organization. The communication outlets
from the multiplexer are made via data sets, which pass Current Trends It is apparent that the complete func-
the data between the multiplexer and the transmission tion required of a channel allowing for multiprogramming
lines and convert signals to frequency modulation or oth- and time sharing far exceeds those of simply reading and
erwise adapt them to the communication line. Communi- writing data. It is therefore becoming more common for
cation may be simplex (one direction only), halfduplex channel units actually to be small programmable proces-
(transmission may take place in either direction but only sors or microcomputers. This facilitates extension of
one direction at a time), or duplex (transmission can pass channel functions and provides a greater variety of condi-
in both directions at the same time). tions that can be specified by software design at a later
stage of development. In this way a large CPU may be
Buffering Buffering is used to gather information at a placed in charge of many small independent processors.
time when it is not needed so that it will be available for
processing when it is needed. An early use of buffering References
was to overlap I/O and CPU operations. For example, an 1978. Kuck, D. J. The Structure of Computers and Communications
I/O operation is initiated to read a block of data into 1. New York: Wiley.
memory. While the channels are controlling this direct
memory access (DMA) operation, the CPU continues to TREVOR PEARCEY
AND MILTON PINE
process unrelated information or related information
read at an earlier time.
Care must be taken during programming to see that
I/O is completed by the time the CPU needs the buffered CHARACTER SET. see AScil: and EBCDIC.
CHEBYSHEV APPROXIMATION 173
CHARLES BABBAGE INSTITUTE research. CBI has acquired a range of important collec-
(CBI) tions which have been cataloged and are available for
research. One concern of the methods research program
For an article on a related subject see BABBAGE, CHARLES. is proper appraisal of the historic value of industry re-
cords. A major study developed a model for the industrial
Purpose The Charles Babbage Institute for the His- process in high-technology companies and the type of
tory of Information Processing (CBI was established in records produced in each aspect of the industrial pro-
1977 to support the study of the history of information cess. This model will be a guide to the selection for
processing and to be a clearinghouse for information preservation of industry records in individual cases. CBI
about research resources related to this history, as well has developed an extensive oral history program. Its oral
history collection includes 200 interviews, available in
as a repository for archival materials. CBI conducts re-
search on the technical and socioeconomic aspects of the tape and edited transcript form, on major business and
history of information processing and promotes aware- technical decisions made by computer businesses in the
ness of its impact on society. CBI also encourages others 1950s and 1960s, early leading centers of computer edu-
cation, computing in U.S. government organizations, and
engaged in this and related work activities, and promotes
computing in major centers outside the U.S. From its
interchange among those interested in such activities.
beginning, CBI has offered an annual fellowship to a grad-
CBI draws together the perspectives of business ad-
ministrators, scholars, technicians, computer specialists,
uate student working in the field of the history of informa-
tion processing.
and government officials. It is international in scope.
CBI publishes a free newsletter and in other ways
disseminates information through the data processing
How Established CBI was founded in 1977 by Erwin community. CBI’s publication program also has a reprint
Tomash to fill the need for an organization that would series, now in its fourteenth volume, and occasional pa-
develop a broad historical view of the entire computing pers and monographs. CBI’s address is University of Min-
industry. In 1978, Paul Armer accepted the position of nesota, 103 Walter Library, 117 Pleasant Street SE,
executive secretary. On 21 June 1979, Tomash and Albert Minneapolis, MN 55455, (612) 624-5050.
S. Hoagland, president of the American Federation of
Information Processing Societies (AFIPS) signed an agree- WILLIAM F. ASPRAY, JR.
ment whereby AFIPS would become a major supporter of
CBI, thus bringing the resources of both organizations to
bear on the development of the history of information
processing (see also AFIPS). Later, with an agreement CHEBYSHEV APPROXIMATION
between the board of CBI and the University of Minnesota
to place the Charles Babbage Institute at the University, For articles on related subjects see APPROXIMATION THEORY;
the Charles Babbage Foundation (CBF) was established. LEAST-SQUARES APPROXIMATION; and NUMERICAL ANALYSIS.
In 1987, the University assumed full responsibility for all
CBI activities. The Babbage Foundation now serves in an Many computations on computers require the calcu-
advisory capacity to the University about CBI affairs. lation of values of one or more functions, such as square
roots, sines, cosines, logarithms, exponentials, and other
elementary functions, or more complicated functions,
Board of Trustees Members of the CBF have been
such as Bessel functions. Since computers can only per-
vitally important to the successful launching and devel-
form the operations of arithmetic, these functions cannot
opment of the organization. The directors and trustees
be evaluated directly, but must be approximated by some
groups are composed of members from academe and
other functions that can be evaluated arithmetically. For
industry, including computer scientists, technologists,
example, a common method for computing the square
and industrial leaders, as well as historians of science.
root of a number A is the following application of the
Erwin Tomash is chairman of the Charles Babbage Foun-
Newton-Raphson method:
dation board.
is smaller than for any other approximation. Such a mini- A checkpoint is a designated place in a program at
mum-maximum error approximation, or minimax approxi- which normal processing is interrupted specifically to
mation, is usually called a Chebyshev approximation, after preserve the status information necessary to allow re-
the great Russian mathematician P. L. Chebyshev (1821- sumption of processing at some arbitrary time in the
1894), whose name is transliterated from the Russian in a future.
variety of other ways (e.g. Tchebycheff). The primary purpose of a checkpoint is to avoid
The question remains of what form R(x) should repeating the execution of a program from its beginning,
have. If it is to be evaluated arithmetically, the most should an error or malfunction occur somewhere in the
general function it can be is a rational function, i.e. the middle of processing. This is especially effective in runs
ratio of two polynomials. For example, the Chebyshev involving several hours of machine time. For such situa-
approximation to the exponential function e* on the tions it is often appropriate to set up checkpoints at a
interval [—1, 1], which is the ratio of two quadratic number of strategic places in the program, either with all
polynomials, is given by checkpoint information being saved, or by using a less
conservative system in which the information captured at
_ 1.00007255 + 0.50863618x + 0.08582937x? the most recent checkpoint replaces (overwrites) the
R(x) 5
1.0 — 0.49109193x + 0.07770847x previous set. Then, should difficulties arise, it is possible
to take corrective action and resume processing from the
for which r = 0.86899 X 6 1074. The error, E(x) = e* — R(X), last checkpoint, rather than starting over. Since the ma-
is shown in Fig. 1. It exhibits the characteristic property nipulations associated with checkpoint/restart proce-
of Chebyshev approximations of alternating between its dures can consume substantial amounts of time and
greatest and least values twice more than the sum of the storage, it is possible to have situations in which it is more
degrees of numerator and denominator of R() or, in the economical to avoid checkpoints.
example above, 2 + 2 + 2 = 6 times.
A checkpoint capability is implemented by means of
a procedure (often termed a checkpoint routine) that cap-
tures the status of the program at the particular instant
E(x) = e* — R(x) when it stopped and copies it onto an auxiliary storage
medium. This data includes the contents of the special
2x00" registers, storage locations associated with the program,
and other information relating to the status of input/out-
put devices. Later on, another procedure (a restart rou-
tine) can reset the system to resume processing by
reading in and restoring the checkpoint information.
In many systems the checkpoint and restart routines
are prepackaged software components accessible to the
high-level language programmer via ordinary CALL state-
ments. These facilities usually include numerous options
that allow the programmer to exercise some control over
the type of information gathered, the form in which it is
stored, and the circumstances under which the restart is
to proceed.
The introduction of multiprogramming (q.v.) operat-
ing systems has prompted an expansion in the use of
checkpoint-restart procedures beyond the context of in-
surance against malfunctions. Depending on the schedul-
Fig. 1. Error in Chebyshev approximation to e* on [-1,1] as a ing algorithm (q.v.) implemented in a particular system, it
ratio of two quadratics, may occasionally be necessary to interrupt a particular
CHOMSKY HIERARCHY 175
run, releasing its storage for other purposes with the placement for the newspaper’s internal library, both to be
intent of resuming that run at some later (presumably used by staffers and to be marketed to outside users. Use
more propitious) time. In order to handle that type of of the team organization and methodology on this con-
procedure without the user’s involvement, the check- tract resulted in delivery in 1971 of a system of over
point/restart process must be completely automated, 83,000 source lines. The software had only 21 errors iden-
which, indeed, is the norm in modern operating systems. tified during five weeks of acceptance testing and only 25
errors during its first year of use, just one of which re-
SEYMOUR V. POLLACK
sulted in termination of operations. Productivity was 35
lines per person-day over the entire project, and 65 lines
per person-day for the software development phase. Al-
CHESS. see Computer Cuess. though software metrics for comparable projects were
not generally available at that time, these levels of quality
and productivity were viewed as significantly better than
those being achieved elsewhere.
CHIEF PROGRAMMER TEAM The team idea was tried on other projects, both
within IBM and by outside organizations. The formal
For articles on related subjects see SOFTWARE ENGINEERING; team structure, the roles of the participants, and the
SOFTWARE MANAGEMENT; and STRUCTURED PROGRAMMING. degree of discipline expected proved difficult for people
to accept; they preferred a less formal structure. Also,
A Chief Programmer Team is a concept coupling a while the team was well adapted to small- and medium-
functionally specialized programming organization with sized projects, it proved difficult to scale up to large
the use of software engineering techniques, such as struc- ones; the chief programmer had difficulty in performing
tured programming (q.v.) and top-down development, to both architectural and management duties. The real
produce effective software systems of high quality. The value of the early experiments proved to be in dem-
idea originated with Harlan D. Mills, who in 1968 was onstrating that structured programming and top-down
concerned about the inefficiencies apparent in large-scale development, which later became integral components
software development. He believed that a structured, of software engineering (g.v.), were in fact practical
multi-disciplinary organization using standardized meth- outside of the academic environment where they orig-
ods and tools could develop systems of higher quality inated.
and achieve improved productivity.
A team begins as a nucleus of a chief programmer, References
a backup programmer, and a programming librarian. The
1972. Baker, F. T. “System Quality through Structured Program-
chief programmer is the technical manager of the orga-
ming,” AFIPS Proceedings of the 1972 Fall Joint Computer Con-
nization, responsible for all aspects of the design and ference, Vol. 41, pp. 339-43, Montvale, NJ: AFIPS Press.
development of a software system. The backup program- 1972. Baker, F. T. “Chief Programmer Team Management of Struc-
mer is the chief’s alter ego, serving both as a check tured Programming,” /BM Systems Journal, 11, 1 (January),
and balance and as an insurance policy in case of the 56-73.
illness or departure of the chief. The programming
librarian provides clerical support for both programming F. TERRY BAKER
and documentation activities. (In Mills’s original concept,
the librarian physically managed all the programming
materials of the project—hence the name.) This organ-
izational nucleus begins a project by performing systems CHIP. See IntecrATeD CIRCUITRY; and MICROCOMPUTER
analysis, software architecture, and top-level design CHIP.
work, and then develops the code needed to make the
framework of the system operational. Specialists (e.g.
additional programmers, testers, technical writers) are CHOMSKY HIERARCHY
then added to complete the development, testing, and
documentation of the full system. All work is viewed as For articles on related subjects see AUTOMATA THEORY;
the shared and public property of the team, rather than FORMAL LANGUAGES; GRAMMARS; LANGUAGE TRANSLATION; PRO-
as the private property of each participant. Walkthroughs GRAMMING LINGUISTICS; and TURING MACHINE.
(a precursor to inspections) are performed on all ele-
ments of design, code, and documentation. The organi- For the mathematician, an alphabet is a set of
zation was consciously designed to take advantage of symbols and a language is a set, finite or infinite, of
the methods of top-down (incremental) development strings formed from that alphabet. A grammar is a finite
and structured programming, which in 1968 were viewed system that characterizes a language. Customarily, gram-
as radical and untried. mars work by substitution (production). Take the al-
The team idea was first applied on a contract that the phabet (or, as it is usually called, the terminal alphabet)
IBM Federal Systems Division held with The New York of the language V, add a nonterminal alphabet V,, and
Times for development of The New York Times Information a special symbol S that belongs to neither V, nor V,.
Bank. The system was designed to be an interactive re- A production or rule of substitution, R, is an ordered
176 CHURCH, ALONZO
pair of strings, R = 7, > T,. A grammar is a system, Many other classes of languages have been added to
G = < V,, V; P, S >, where P denotes the set of the hierarchy to form a partial order. To each type of
lowable productions. To use the grammar, start with grammar corresponds a kind of machine that produces or
Sand find a rule (i.e. a production) S — 7, and substitute accepts a language of the given type: Turing machines
T, for S. Find another rule S, — T,, such that S, matches (type 0), linear-bounded automata (type 1), non-
part or all of 7,, and substitute 7, for the matched deterministic pushdown automata (type 2), and finite-
part of 7,. Continue with any member of P until the state machines (type 3).
result is a string that contains only terminal symbols.
This sequential process is called the derivation of the References
string, and the final string belongs to the language. The
1946. Chomsky, Noam. “Three Models for the Description of Lan-
language consists of exactly the strings that can be so
guage.” JRE Trans. Information Theory IT-2: 113-124.
derived. 1969. Salomaa, Arto. Theory of Automata. Oxford: Pergamon
If, in a grammar, every rule has the form n — nt Press.
or n > ¢t, where n is a non-terminal symbol and f¢ is a 1978. Denning, Peter J., Dennis, Jack B., and Qualitz, Joseph E.
terminal symbol, the grammar is regular and character- Machines, Languages, and Computation. Englewood Cliffs, NJ:
izes a regular language. Prentice-Hall.
If every rule has the form n — T, where T is a string
over the combined terminal and nonterminal alphabets, DAVID G. Hays
the grammar is context-free (the substitution n > T can be
made wherever n occurs). A context-free grammar gener-
ates a context-free language.
If every rule has the form S’ n S” — S’ T S”, where S’ CHURCH, ALONZO
and S” are strings over the combined alphabet of terminal For articles on related subjects see ALGORITHMS, THEROY OF;
and nonterminal symbols, the grammar is context sensi- LAMBDA CALCULUS; LOGIC PROGRAMMING; and TURING, ALAN.
tive (the substitution n — T can be made only in the
context S’...S”). A context-sensitive grammar character- Alonzo Church was born in Washington, D.C., on 14
izes a context-sensitive language. June 1903, the son of Samuel Robbins Church, Justice of
Changing the restrictions on the forms of rules the Municipal Court of the District of Columbia, and Mil-
changes the power of the grammar. Without restrictions dred Hannah Church (née Parker). The Church family was
on the form of rules, a grammar can characterize any of considerable civic and academic distinction; Church’s
recursively enumerable set of strings, that is, any language great grandfather, also named Alonzo Church, was a pro-
that can be characterized at all (call this class of lan- fessor of mathematics and later president from 1829 to
guages type 0). Not every recursively enumerable set (i.e. 1859 of the college in Athens, Georgia, now known as the
type 0 language) is a context-sensitive language, but every University of Georgia. Church did his undergraduate work
context-sensitive language is a recursively enumerable at Princeton University, where his mathematical, logical,
set (call the context-sensitive systems type 1). Again, the and foundational abilities were recognized and nurtured
context-sensitive systems characterize all context-free by Oswald Veblen, the brilliant American geometer and
languages, but the context-free systems (type 2) cannot postulate theorist who was to become the first professor
characterize some context-sensitive languages. Finally, a
regular language can be characterized by a system of any
type, but regular grammars (type 3) cannot characterize
all context-free languages. The hierarchy of types 0, 1, 2,
and 3 is due to Noam Chomsky (1946), and is commonly
called the Chomsky hierarchy (see Fig. 1).
of the Institute for Advanced Study at Princeton (the syntactical/computational aspects of mathematics to the
second was Albert Einstein). Church received an A.B. abstract/numerical: while calculability has to do with
from Princeton in 1924 and was further encouraged by string manipulation, recursiveness is abstract and numer-
Veblen, then President of the American Mathematical So- ical. Church’s work on the Hilbert decision problem led to
ciety, to stay on for graduate work in mathematics and the discovery and proof of Church’s Theorem—basically,
logic, and in particular to study the foundational research that the set of formulas that do not express tautological
being developed by David Hilbert and the Hilbert school. propositions cannot be computer-generated and thus
Throughout his life, Church warmly acknowledged his that there is no computational method for determining
friendship and indebtedness to Veblen, whom he referred whether a given “conclusion” is logically implied by given
to as “my sponsor.” “premises.” Church’s Theorem identifies one outer limit
In 1927, Church received a Ph.D. for a dissertation of what is achievable in automated theorem proving (q.v.)
directed by Veblen on the effects of modifying the axiom and thereby plays a role in modern computer science
of choice in set theory. This was followed by a two-year analogous to the role of the second law of thermodynam-
National Research Fellowship, the first year of which was ics in engineering. Church’s lambda calculus and his for-
spent at Harvard working with Birkhoff and Huntington. malizations of higher-order logics, including the simple
At that time, Harvard was the institutional affiliation of theory of types, have together and separately influenced
such logicians as Sheffer, Lewis, and Whitehead. In the the most recent attempts by mathematically-oriented
second year (1928-29), Church went to Europe. He computer scientists to “computerize” mathematics.
worked at Gottingen, where he met members of the Hil- Church was also a highly successful teacher; the list
bert school, including Hilbert himself and-Bernays. In of his doctoral students is a virtual who’s who of modern
Amsterdam, he met Brouwer, the famous intuitionistic logic and computer science. It includes William Boone,
mathematician. On his return to the U. S. in the fall of 1929, Martin Davis, Stephen Kleene, Hartley Rogers, Barkley
he began teaching as an Assistant Professor of Mathemat- Rosser, Dana Scott, Raymond Smullyan, Leon Henkin,
ics at Princeton, a position that Veblen was instrumental Peter Andrews, and Alan Turing (¢.v.).
in arranging. He continued teaching at Princeton as Pro- Throughout his life, Church maintained a deep and
fessor of Mathematics and Philosophy, a title he received abiding interest in the practical aspects of logic. His prac-
in 1961, until his “retirement” in 1967. In that year he was tical interests in logic included not only concern with
appointed with the same title at UCLA, where he main- applications of logic in computer science, but also con-
tained an active schedule of research, lecturing, and cern with institutions that foster creation and dissemina-
teaching through the spring semester of 1990, when he tion of logical knowledge. He was an editor of The Journal
retired from teaching. of Symbolic Logic from its inception in 1936 until 1980,
Church received many honors. In 1967, he was when he turned over the world-famous reviews section to
elected to the American Academy of Arts and Sciences a successor.
and to the Academie Internationale de Philosophie des In the opinion of many logicians, Church’s 1956 mas-
Sciences. In 1969, he received an honorary doctorate from terpiece /ntroduction to Mathematical Logic is still unsur-
Case Western Reserve University. In 1978, he was elected passed for its purpose.
to the National Academy of Sciences and to the British
Academy. In 1980, Princeton University awarded him an
References
honorary doctor of science degree, and in 1990 an inter-
national symposium in his honor was held at the State 1956. Church, Alonzo. Jntroduction To Mathematical Logic.
University of New York at Buffalo, in conjunction with the Princeton, NJ: Princeton University Press.
conferral of another honorary doctorate. 1965. Davis, Martin. The Undecidable: Basic Papers On Undecid-
able Propositions, Unsolvable Problems, and Computable Func-
Church’s contributions to logic are extensive, rang-
tions. Hackett, NY: Raven Press.
ing from the practical, the pedagogical, and the philo- 1968. Davis, Martin. Computability and Unsolvability. New York:
sophical to the scholarly, the historical, and the McGraw-Hill, 2nd Ed. 1982, New York: Dover.
mathematical. There is no area of modern logic that has 1991. Scanlan, Michael. “Who Were the American Postulate The-
not been influenced by his work. The linguistic analysis of orists?” Journal of Symbolic Logic, 56, 981-1002.
mathematical discourse, which resulted both in his dis-
covery of the logical form of certain propositions involv- JOHN CORCORAN AND MICHAEL SCANLAN
ing functions and in his creation of the Church Lambda
Operator, which makes possible logically precise expres-
sion of such propositions, continues to exert profound
influence on logic, mathematics, and computer science.
He was one of the first logicians along with Hilbert, Tarski,
CIP Ss. See CANADIAN INFORMATION PROCESSING SOCIETY.
and Gédel to grasp and exploit the syntactical, character-
manipulating, and computational aspects of logic and
postulate theory. He was the first person to articulate the
principle, now known as Church’s Thesis and widely ac-
cepted as axiomatic, that every effectively calculable
number-theoretic function is recursive. This principle, CIRCUITRY. See COMPUTER CIRCUITRY; and _INTE-
which at first was highly controversial, boldly connects GRATED CIRCUITRY.
178 CLASS
C class D(x);
CLASS real x;
For articles on related subjects see ABSTRACT DATA TYPE; begin
BLOCK STRUCTURE; DATA STRUCTURES; DATA TYPE; and OBJECT- real y;
ORIENTED PROGRAMMING. real array B[1:100];
The concept of class was introduced in the program- comuient note the use of variables from C and D;
ming language Simula 67 as an extension to the block y:= x + A[k]
structure and procedure mechanisms of Algol 60. As a
way of structuring programs, it is an alternative to the end;
strict nesting of blocks in Algol 60.
FIG. 2. Subclass declaration.
1973. Birtwistle, G. M., Dahl, O. J., Myhrhaug, B., and Nygaard, K. ments have been added to the language almost every year
SIMULA Begin, Philadelphia: Auerbach. since then. Cobol compilers were generally provided with
all computer equipment from 1962 on. Cobol was adopted
DAvID B. WorTMAN
as an American standard by ANSI in 1968. An updated
standard was issued in 1974 and in 1985. In 1976, a Cobol
Compiler Validation System, originally developed by
CLIENT/SERVER Grace Hopper (q.v.), became the standard Federal govern-
ARCHITE CTURE. See FILE SERVER. ment benchmark for determining adherence of Cobol
compilers to the Cobol standard.
The 1990 Codasyl organization consists of an Execu-
tive Committee and two Development Committees (1)
Cobol, (2) Forms Interface Management System (FIMS).
CLONE. See IBM-PC and PC-CompaATIBLEs.
The task of the development committees is to de-
velop specifications for a common language in their area
of assignment. These committees have common atten-
dance and voting rules specified by the Executive Com-
CLOSE AND OPEN A FILE. see Open anp
mittee. The current Codasyl organization has evolved
CLOSE A FILE.
from concepts that gave recognition to the separate inter-
ests of the hardware suppliers versus the users, as well as
2
to short-range issues versus long-range developments. As
CMI. See COMPUTER-MANAGED INSTRUCTION. the Cobol language achieved acceptance, the disparity
between the interests of the manufacturers of computers
and the users of computers, which had to be recognized
in the early existence of Codasyl, began to disappear, and
the current organization evolved.
COBOL. See PROCEDURE-ORIENTED LANGUAGES.
The development committees of Codasyl accept
comments and proposals from any competent source,
review these proposals, modify them, and publish the
resultant actions in a Journal of Development (JOD) for
CODASYL each language in which it is currently interested. As of
For articles on related subjects see DATABASE MANAGEMENT 1990, there are JODs for Cobol and for FIMS.
SYSTEMS; PROCEDURE-ORIENTED LANGUAGES; and STANDARDS. JODs are published at one- to two-year intervals,
depending upon development activity. Only JODs from
Codasyl (Conference on Data Systems Languages) is active development committees are maintained.
a volunteer organization consisting of professional com- Other Codasyl publications include An Information
puting personnel from the computing industry and from Algebra, Decision Tables (D-Tab), Data Base Task Group
computing-systems users. It was formed in 1959 to at- Report, A Survey of Generalized Data Base Management
tempt to standardize the languages used in computer Systems, and Feature Analysis of Generalized DBM Sys-
programs and thus to permit such programs to be “ma- tems, End User Function Language, Data Description Lan-
chine independent.” Initially, it was the purpose of guage, Operating System Control Language, and Fortran
Codasyl to choose and standardize a programming lan- Data Manipulation Language.
guage from among the numerous common programming All Codasy] effort continues to be totally voluntary
languages being promulgated at that time, mostly by com- and oriented towards data processing language specifica-
puter hardware suppliers. A Codasyl task force, organized tions that are common to all types of computer systems.
in 1959 to work on the technical aspects of this objective, New committees are formed when a clear need exists that
found it impossible to achieve acceptance of any lan- is not being addressed by another organization. All resul-
guage as a standard and equally impossible to integrate tant effort, in the form of a JOD, is in the public domain
features of one language with another. Therefore, in 1960, and offered as a candidate for standardization.
this task force published specifications for a new com-
JAN PROKOP
mon language called Cobol (Common Business-Oriented
Language). Initially, the only suppliers to implement
Cobol were Univac and RCA. Then the U.S. Department of
Defense, one of the original contributors to the standard-
ization effort, made Cobol mandatory for all suppliers of
computing hardware and software who were bidding on CODE, ERROR CORRECTING. see
defense procurements. This economic pressure resulted ERROR-CORRECTING CODE.
in persuading other suppliers to implement Cobol also.
Experience gained with the initial language resulted
in the publication of an improved version of Cobol in
1961. Another version, called “Cobol 61 Extended,” was
published in 1962, and additional features and enhance- CODER. See ProcRAmmer.
180 CODES
where P, is any digit of the counting system with radix vl, =10,.r=2, n= 4. (6)
Gales
Note that these codes use four bits or more.
FW. 12,..m.0r F— 1. (3) There are two principal ways to associate symbols
with combinations:
To make this more concrete, let us examine the case
where the symbol space £, consists of letters of the
1. Weighted codes assign different weights to each
alphabet. Let each combination P consist of two decimal bit in the combination, as discussed shortly.
digits; thus, r = 10 and n = 2. A very simple code might
2. Transition rules may be created to indicate how
assign numbers consecutively to the letters so that we
the code for the successor number is created
would have
from the code for any given number.
A=01/B= 02) C= 03,...,Z= 26: (4)
It is convenient here to introduce the operator v, whose Four-Bit Codes
action is to find the number of elements in a set. For our
example,
Weighted Codes Let us label the bits of the combination
that represents a decimal digit. Unlike (2), where the
vE,= 26 and vIl = 100. (5) subscripts increase from left to right, we will now order
the subscripts 1 through 4 in reverse, going from right to
Since there are many more permutations than there are
left. Thus, if D is a decimal digit, we have
symbols in the symbol space, many permutations are
unassigned. These are sometimes called forbidden combi-
nations. D= b, b; by by. ©)
Table 1 Table 2 Table 3 Table 4 A problem arises for encoding the digit 7. There are
Weights 8421 7421 7 4 2-1 Excess-3 two combinations, 1000 and 0111, both of which yield the
Digits Code Code Code Code value 7. An auxiliary rule is required to settle this diffi-
culty: Use the combination with the least number of 1s in
0 0000 0000 0000 0011 it (i.e. 1000).
1 0001 0001 0011 0100
2 0010 0010 0010 0101
3 0011 OnOIe OO) Ona ta0 742-1Code The code for these weights is presented in
4 0100 0100 0100 0111 Table 3. It illustrates that one or more of the weights may
5 0101 0101 Oviniet 1000 be negative as long as the weights fulfill the requirement
6 0110 0110 1001 1001
that all digit values must be created. This time we find
@ 110)
7 Ope lal 1000 1000 1010 that there are two combinations that yield the digit value
COWIE 1S 1) 6. Since both have the same number of 1s, we choose the
8 1000 1001 GOP al 1011 combination with the 1 in the least significant place.
9 1001 1010 1010 1100
*(A) 1701-0 Ome! leleOnl leOe)
*B) 1011 1100 1100 1110 XS 3 Code To show that not all codes require weights
*C) 1100 TL OM1 Sitesi ollie! explicitly, we examine the XS 3 (excess-3) code presented
*@) 1101 1110 — — in Table 4. The rule for generating this code requires that
*€) TAO 1oieWs es — —s we use the BCD code for a digit, call it np, and add the
**) ie iI — — » _— binary number 0011 (i.e. 3 in decimal) to it:
*Forbidden combinations.
D = nj) + 0011 (10)
4
What use would there be for this code? It has two
D= > bW, = b,W, + b,W, + b,W,+b,W,. 9) advantages:
1
Full Alphabet Thus far, we have restricted our sym- lowed using seven bits seem sufficient for all needs, the
bol set £ to decimal numerals. As computers went from convenience of using eight-bit bytes (or two four-bit
infancy to early childhood, it was obvious they could be combinations) has led to the development of eight-bit
applied to many problems in which alphabetic output is codes. On personal computers, for example, the addi-
mandatory, and where we encounter the following classes tional 128 character codes made available by using eight
of symbols: bits instead of seven are often used to represent various
graphic characters that allow interesting video display
1. Letters: the alphabet from A to Z. designs.
2. Numerals 0 through 9 (which we have already We now consider some of the main six- and eight-bit
examined). codes.
3. Punctuation.
Hollerith The Hollerith card code for punched cards
4. Special symbols, such as &, @, $.
(which enables each column in the card to represent
alphabetic, numeric, or symbolic information) is dis-
The question arose of how large or how small the
cussed in the article PUNCHED CARDS.
symbol space should be. With six bits, we can encode
64 symbols. Why should we want more than this? The
IBM 1401 When the second generation IBM 1401 com-
most obvious reason is to accommodate the lower case
puter was developed, it was intended to replace elec-
as well as upper case alphabetic characters in order to
tronic accounting machines that rely entirely on punched
allow printed (or displayed) output to look like normal
cards. Therefore, as expected, the code used in the 1401
printing. Additionally, there is a need for a variety of
computers, as given in Table 9, corresponds closely to the
control characters and a desire to allow for additional
Hollerith code. We note the following:
future requirements. Although the 128 characters al-
I and J and between R and S), which prove annoying in be converted to the T/R code to activate the mechanism
certain programming situations. properly. It is interesting to note that when the operator
presses a key on such a typewriter, a six-bit code is
produced. This is normally converted into EBCDIC for
Error Detection and Correction In the case of
transmission to the computer; this is then translated into
biquinary, we have seen how a code can be constructed
the T/R code to energize the print ball. The operator can
with error detection properties. This is helpful, and even
verify that both translations have occurred successfully,
necessary, in many situations, such as when:
since the key struck produces only a code character; it
prints the character wanted only if the code and two
1. Information is transmitted from one site to an- translations of the code are all correct.
other along lines where noise or other signal
distortion might occur.
2. The data is recorded on a medium that is not References
impervious to noise so that 1s may get lost and 1961. Peterson, W. W. Error Correcting Codes. Cambridge, MA: The
be read as 0s, or Os may be interpreted as 1s. M.LT. Press.
3. Devices within the computer may become faulty 1968. Berlekamp, E. R. Algebraic Coding Theory. New York:
and create or destroy information. McGraw-Hill.
1977. McEliece, R. J. The Theory of Information Coding. Reading,
MA: Addison-Wesley. (Vol. 3 of the Encyclopedia of Mathemat-
Parity The simplest means for detecting errors is to
ics and Its Applications.)
attach an extra bit to each combination of the code, called 1980. Mackenzie, C. E. Coded Character Sets: History and Develop-
a parity bit. This bit is set to 0 or 1, according to the ment Reading, MA: Addison Wesley. (Part of the Systems Pro-
scheme used: For odd parity, the total number of 1s, gramming Series.)
including the parity bit, must be odd, for even parity, the
total number of 1s, including the parity bit, must be 0 or IVAN FLORES
even. An example of the use of an odd parity bit (also
called a “check” bit), labeled C, is shown in Table 9. There
are two phases in the use of the parity bit: creation and
checking.
In the creation phase, the combination is examined COERCION
and a parity bit is created so that the number of Is in the For articles on related subjects see DEFAULT CONDITION;
total combination is proper. Now the combination can be EXPRESSION; and PROCEDURE-ORIENTED LANGUAGES: PROGRAM-
transmitted from one place inside or outside the com- MING.
puter to another place. When it arrives there, the check-
ing action follows. Circuitry similar to that for parity As a matter of convenience to the programmer, many
creation examines the combination exclusive of the parity programming languages provide a mechanism for auto-
bit as though it were creating that parity bit. If this devel- matically converting from one data type to another in
oped bit and the accompanying parity bit coincide, a expressions. This automatic type conversion is called
single bit error could not have occurred, and the informa- coercion.
tion is accepted. A familiar example of coercion occurs in arithmetic
expressions containing both integer and floating point
Other Codes Many different kinds of computers operands, as in K + 3.5, where K is of type integer. The
have been built, and there are almost as many types of integer variable K is first automatically converted to float-
codes as there are computers. Further, some peripheral ing point, and then the addition is performed in floating
devices have their own codes. Magnetic tape usually uses point mode. If the language does not have such a coer-
the same code as that employed in the computer proper, cion, the programmer must make the conversion explicit
but because magnetic tape is used for transmitting at (e.g. FLOAT (K) + 3.5).
densities and speeds approaching the limit of engineering The kind of coercion that must be applied to an
capability, these devices are prone to error. A parity bit is operand depends on the type of that operand, as well as
added for each character of information. Thus, we find on the type of operand required by the context. As an
seven-track and nine-track tapes used with characters illustration, consider the expression X + K, where K is
represented by six-bit and eight-bit codes, respectively, again of type integer. If X is also of type integer, no coer-
with the addition of a parity bit. cion need be performed; if X is of type floating point or
Punched paper tape devices that employ five-, six-, complex, K must be coerced to the same type as X before
seven-, or eight-bit codes are available. The codes are the addition can be performed. Note that a language may
usually peculiar to these devices. not simultaneously provide coercions from type A to type
Some typewriter consoles use a printing head that B and also from type B to type A, since expressions of the
looks much like a golf ball. The head can tilt and rotate to form A + B would then be ambiguous.
get the proper character into position to strike the paper. Coercions are not restricted to converting between
To tell this golf ball at what angle to tilt and what angle to integer, floating point, and complex. In Snobol4 and AWK,
rotate, a Tilt/Rotate code (T/R) has been developed. Char- for example, an expression such as K + ’01.50’ is permit-
acters transmitted to the type mechanism in EBCDIC must ted, since ‘01.50’ may be coerced from type string to type
COGNITIVE SCIENCE 185
floating point. Other common coercions are from decimal output. Nonetheless, insofar as behaviorism is concerned
to binary (PL/D), and scalar to array (APL). with the “intelligent cognitive” behaviors listed above, it
The term coercion was first used in this context too is a cognitive science.
Algol 68 (q.v.). In the revised Algol 68 report, there are
six coercions—widening (e.g. integer to floating point),
rowing (e.g. character to string), deproceduring (calling History of Cognitive Science Cognitive science
an argumentless function, e.g coercing a proc real to can trace its origins to two major lines of investigation. (1)
a real), dereferencing (converting a variable to its value), the development of symbolic logic at the turn of the
uniting (used to assign values to variables that accept century and McCulloch and Pitts’s 1943 application of
several types), and voiding (used for discarding super- logic to the analysis of the behavior of neural networks,
fluous values). and (2) Turing’s 1936 analysis of computation and—using
Coercion is also used in other languages to describe the Imitation Game (now known as the Turing Test) in
the assignment of an expression of one mode to a variable 1950—of whether computers could think. Cognitivism
of another. There is, of course, little difference between burst upon the scene in 1956. In that year, the following
coercing as described above and then assigning or coerc- cognitive theories appeared: Miller’s theory of human
ing while assigning. short-term memory; Chomsky’s analysis of formal gram-
mars; Bruner and colleagues’ study of thinking; and New-
ANDREW S. TANENBAUM ell and Simon’s Logic Theorist—the first artificial
intelligence program (presented at the first artificial intel-
ligence conference, at Dartmouth, organized by Minsky
and McCarthy). This was followed a few years later in
COGNITIVE SCIENCE 1960 by Putnam’s theory of Turing-machine (g.v.) func-
For articles on related subjects see ARTIFICIAL INTELLIGENCE; tionalism as a solution to the classic philosophical prob-
NEURAL NETWORKS; and PERCEPTRON. lem of the relationship of mind and body. In 1979, the
journal Cognitive Science appeared; two years later, the
first annual meeting of the Cognitive Science Society was
Definition Cognitive science is the interdisciplinary
held (its proceedings are now published by Lawrence
study of cognition. Cognition includes mental states and
Erlbaum Associates). Other major cognitive-science jour-
processes such as thinking, reasoning, remembering, lan-
nals include: Behavioral and Brain Sciences, Cognition,
guage understanding and generation, visual perception,
Linguistics and Philosophy, Mind and Language, Minds and
learning, consciousness, emotions, etc. Some cognitive
Machines, and Philosophical Psychology; in addition, most
scientists limit their study to human cognition, though
journals in the specific cognitive-science disciplines also
most consider cognition independently of its implementa-
have articles on cognitive science. Finally, there has been
tion in humans or computers. Some cognitive scientists
a recent surge of research centers and institutes of cogni-
study cognition independently of the cognitive agent’s
tive science, as well as graduate and undergraduate de-
environment; others study it within the context of society
gree programs, including university departments of
or culture.
cognitive science.
Cognitive science can also be defined as, roughly, the
Central sources of information on cognitive science
intersection of the disciplines of computer science [espe-
include Collins and Smith (1988), Gardner (1985), John-
cially artificial intelligence (g.v.)], linguistics, philosophy,
son-Laird (1981), Norman (1981), Posner (1989), Pylyshyn
psychology, cognitive anthropology, and the cognitive
(1985) and Stillings, et al. (1987).
neurosciences. Cognitive science contrasts with other
academic disciplines, in which (usually) a common meth-
odology is brought to bear on a multitude of problems. In Cognition and Computation The notion that
cognitive science, many different methodologies—those mental states and processes intervene between stimuli
of the several cognitive sciences—are brought to bear on and responses sometimes takes the form of a “computa-
a common problem: the nature of intelligent cognitive tional metaphor,” often used as the identifying mark of
behavior. contemporary cognitive science. The mind is to the brain
Cognitive science’s approach to the study of mind is as software is to hardware; mental states and processes
often contrasted with that of behaviorism. The behavior- are like computer programs implemented (in the case of
ist approach to psychology seeks to describe and predict humans) in brain states and processes. Some cognitive
human behavior in terms of stimulus-response correla- scientists, however, make a stronger claim: Mental states
tions, with no mention of unobservable (hence, “unscien- and processes are expressible as algorithms: “cognition is
tific”) mental states (including mental constructs such as a type of computation” (Pylyshyn 1985).
symbols, ideas, or schemata) or mental processes (such Thus, according to the computational view of cogni-
as thinking, planning, etc.) that might mediate these cor- tive science, (1) there are mental states and processes
relations. A behaviorist who would be willing even to talk intervening between input stimuli and output responses,
about the “mind” would view it as a “black box” that could (2) these mental states and processes are algorithms
only be understood in terms of its input-output behavior. (according to the strong, or literal, form)—or they are like
Cognitive science seeks to understand human cognitive algorithms (according to the weak, or metaphorical,
functions in terms of mental states and processes—i.e. in form), and, hence, (3) in contrast to behaviorism, mental
terms of the algorithms that mediate between input and states and processes are capable of being investigated
186 COGNITIVE SCIENCE
scientifically (even if they are not capable of being di- computational cognitivists. One such challenge
rectly observed). is the problem of the nature of consciousness.
Insofar as the methods of investigation are taken to Another is the problem of subjective qualitative
be computational in nature, computer science in general experiences—e.g. what kind of computational
and artificial intelligence in particular have come to play theory can account for our experience of pain or
acentral role in cognitive science. It is, however, a role not of the color green? But 2b is also a position that
without controversial philosophical implications. For if is often ridiculed as “mysticism” or as a contem-
mental states and processes can be expressed as algo- porary version of vitalism.
rithms, they are capable of being implemented in non- 3. The dichotomy between the two major para-
human computers. The philosophical issue is simply this: digms is between (a) those computational
Are computers executing such algorithms merely simulat- cognitivists who believe that cognitive computa-
ing mental states and processes, or are they actually tions are “symbolic” and (b) those who believe
exhibiting them? Do such computers think? that they are, rather, “connectionist.”
Even cognitive scientists who disagree about the
weak vs. the strong computational view of the mind are Symbolic Computational Cognitive Science Symbolic
usually willing to agree that computer programs force computational cognitivism is often called the “Physical
cognitive scientists “to make intuitions explicit and to Symbol System Hypothesis” (PSSH) or the “Representa-
translate vague terminology into concrete proposals; tional Theory of the Mind” (RTM). The PSSH, due to
they provide a secure test of the consistency of a the- Newell and Simon, is offered as a solution to the problem
ory...; they are ‘working models’ whose behavior can be of “how it is possible for mind to exist in this physical
directly compared with human performance” (Johnson- universe.” Mind exists as a physically implemented “sym-
Laird 1981: 185-186). That is, the proper methodology of bol system.” The concept of a physical symbol system is
cognitive science is to express one’s theories about “the most fundamental contribution...of artificial intelli-
(human) cognition in a computer program (rather than, gence and computer science to” cognitive science (see
say, in English or in the languages of mathematics, logic, Norman 1981). A symbol system is any effectively comput-
or statistics, as other sciences do) and then to compare able procedure—i.e. a universal machine (which, by
the program’s behavior with human cognitive behavior. Church’s Thesis, could be a Turing machine (q.v.), a recur-
Note, however, that this methodology accepts the strong sive function, a general-purpose digital computer, etc.). A
form of the computational view of the mind as at least a physical symbol system is a physical implementation of
working hypothesis. Although this methodology is consis- such a symbol system. The PSSH states that a physical
tent with the denial of the strong computational view—.e. system is capable of exhibiting intelligent behavior
human cognitive behavior might be simulable by a com- (where intelligence is defined in terms of human intelli-
puter program without itself being computational—such gence) if and only if it is a physical symbol system. This is
a denial is a very weak (if not incoherent) claim. taken to be an empirical hypothesis, whose evidence
comes from work in symbolic (i.e. non-connectionist) ar-
tificial intelligence. Newell argues that intelligent physical
Varieties of Cognitive Science Currently, there systems are physical symbol systems because intelligence
are two major paradigms of computational cognitive sci- requires representations of a wide variety of goals and
ence. To lead up to these, several dichotomies can be states, and because such flexible representations require
made: symbols. It is the first of these reasons—the requirement
of representations—that is empirical; the second—that
1. Researchers who study (human) cognitive be- the representations must be symbolic—is challenged by
havior believe that either (a) there are mental connectionism. The converse claim, that physical symbol
states and processes that mediate input stimuli systems are capable of being intelligent physical systems,
and output responses (this position may be has been challenged by the non-computationalists of po-
called “cognitivism”), or (b) there are no such sition 2b, above. One particularly strong form of the RTM
mediating states or processes (or it is unscien- is Fodor’s “language of thought” theory (1975), which
tific to talk about any unobservable such states says that the mental representations are a language
or processes—the position of behaviorism). (sometimes called “mentalese”) with a syntax (and, per-
2. Cognitivists believe that either (a) all mental haps, a semantics). Fodor’s theory of methodological so-
states and processes are computational in nature lipsism holds that the syntax of the language of thought is
(and here there is a further dichotomy between all that cognitive science needs to deal with—i.e. that the
(i) the weak and (ii) the strong computational input-output transducers—while important for under-
views), or (b) at least some (and perhaps all) standing how information gets into and out of the mind—
such processes are not computational. Position are irrelevant for understanding how the mind works.
2b is held by a number of scholars who believe There is, perhaps, a fourth dichotomy among the
that there are inherent limitations on the ability symbolic computational cognitivists, between those who
of computers to simulate or produce mental phe- are satisfied with symbolic algorithms whose input-out-
nomena (e.g. Dreyfus 1979, Searle 1980). It is put behavior is the same as human cognitive behavior,
certainly a position that provides many of the and those who are satisfied only with symbolic algo-
most interesting and hardest challenges to the rithms that not only are input-output equivalent to
COGNITIVE SCIENCE 187
human cognitive behavior, but also are equivalent in all (Good surveys of connectionism are Graubard, 1988; Cog-
but the details of physical implementation (i.e. equiva- nitive Science, Vol. 9, No. 1 (1985); and, from a critical
lent in terms of subroutines and abstract data types standpoint, Pinker and Mehler 1988.
(g.v.)—a particularly strong form of this also requires
the algorithms to be equivalent to human cognitive Cognitive processes that are easy to implement sym-
behavior at the level of space and time complexity). bolically (e.g. problem solving, reasoning, game playing,
(Pylyshyn 1985). certain aspects of linguistic competence) tend to be ones
According to the PSSH and the RTM, when a physical that are relatively difficult for humans or that have to be
system (computer or human) executes a “cognitive” algo- explicitly taught, while those that have proven difficult to
rithm, the representations are brought to life, so to speak, implement symbolically (e.g. certain aspects of visual
and made to behave according to the rules of the symbol perception and learning) tend to be those that “come
system; the symbol system becomes dynamic, rather naturally” to humans. This paradox of (symbolic) artifi-
than static. If cognition is representational and rule-based cial intelligence has its counterpart in the debate over
in this way—i.e. if cognitive behavior consists of transfor- connectionism. The processes that have proven difficult
mations of representations according to rules—then a to implement symbolically appear to be susceptible to
computer that behaves according to these rules causally connectionist techniques. This complementarity may
applied to these representations is behaving cognitively prove to be a major advance in our understanding of
and is not merely simulating cognitive behavior. cognition.
Although the PSSH and the RTM offer an answer
(satisfying to most computer scientists) to Descartes’s Cognitive Science Research One way of explor-
question of how mind and body can interact (namely, ing the content of cognitive science is to look at research
mind can be implemented in body), they are not without in the individual congnitive science disciplines that could
their detractors. Of particular note are the objections just as well be considered research in cognitive science
of Winograd (see Norman, 1981), who did pioneering per se.
work in the symbolic paradigm of artificial intelligence.
Winograd cites a biologist, Maturana, who straightfor- Artificial Intelligence Given the computational view of
wardly denies the RTM: “cognition is not based on the cognitive science, it is arguable that all research in artifi-
manipulation of mental models or representations of cial intelligence is also research in cognitive science.
the world.” Instead, according to Winograd and Matur- Nonetheless, certain applications of artificial intelligence
ana, there are cognitive phenomena that for an observer techniques to problems in engineering, management,
can be described in terms of representation, but that etc., and, perhaps, the development of expert systems
can also be understood as the activity of a structure- (q.v.) do not seem to fall within the scope of cognitive
determined system with no mechanism corresponding science. Certainly, however, those aspects of artificial
to a representation. This view echoes the “intentional intelligence research that might be considered to be
stance” theory of the philosopher Dennett (who has “computational psychology” or “computational philoso-
many more sympathies with computational cognitivism). phy” are also in the domain of cognitive science. Among
According to Dennett, it makes sense to treat certain these are early work by Newell and Simon on problem
complex systems (e.g. chess-playing computers) as if solving (the Logic Theorist, the General Problem Solver);
they had beliefs and acted intentionally, even though aspects of knowledge representation that attempt to re-
there might not be anything in their structure that flect cognition; Minsky’s theory of frames; Schank’s the-
corresponded in any way to beliefs or intentions ory of scripts and conceptual dependency; work on
(Dennett, 1978). “naive” or “qualitative” physics, which attempts to de
velop systems that can reason about physics in ways that
Connectionist Computational Cognitive Science The humans do on an everyday basis (rather than in ways that
“connectionist” (or “neural network” (q.v.), or “parallel professional physicists do); machine learning; planning;
distributed processing”) approach to artificial intelli- reasoning; natural-language understanding and genera-
gence and computational cognitive science can be seen tion; and computer vision (g.v.). (For surveys of these and
as one way for a system to (appear to) behave intelli- other topics, see Shapiro 1992.)
gently without being a “symbol system” and yet be com-
putational. (For a description of connectionism, see Linguistics Linguistics is another discipline that is argu-
NEURAL NETWORK.) ably wholly subsumed by cognitive science (at least, to
Many connectionist methods are, in fact, highly rep- the extent that computationalism is de-emphasized).
resentational, but most are “distributively representa- After all, language is often held to be the “mirror of the
tional”—i.e. the kind of information that a symbolic mind”—the (physical) means for one mind to communi-
artificial intelligence program would represent by using cate its thoughts to another. But it was with the develop-
various symbolic knowledge-representation techniques ment of transformational grammar by Chomsky that
is instead “represented” by the strengths and connectiv- cognitivism replaced behaviorism in linguistics. Subse-
ity patterns of the links. Rather than having intelligence quent work on a variety of computationally tractable
“programmed” into the system by using explicit rules and “successors” to transformational grammar and work in
representations, intelligence is sometimes held _ to computational and cognitive linguistics is clearly a part of
“emerge” from the organization of the nodes and links. cognitive science.
188 COGNITIVE SCIENCE
Philosophy Philosophers have long studied the nature open problems in these logics that philosophers have
of mind and language, and much recent work in the phi- largely ignored.
losophy of mind, the philosophy of language, and episte-
mology has been informed by research in the other
The Future of Cognitive Science If cognitive sci-
cognitive-science disciplines. The objections to the na-
ence is to become a discipline in its own right, and not just
ture and possibility of success of artificial intelligence
a congeries of parts of other disciplines, perhaps its best
that have been raised by philosophers have served as
hope lies not only in such multi-pronged attacks on com-
research goals for artificial intelligence researchers—
mon problems, as just discussed, but in single research
such criticisms must also be considered as part of cogni-
groups whose members come from different disciplines,
tive science. The two major lines of criticism are those
yet who work together on common problems of cognition.
due to Dreyfus and to Searle. Dreyfus argued, on the basis
The range of disciplines and the levels of analysis are by
of the phenomenological school of philosophy, that since
no means settled and, indeed, are widening in scope. The
computers do not have a (human) body, do not have
two major open issues for a complete understanding of
(human) purposes or needs, and do not share the human
cognition are—looking inwards—how the mind is im-
cultural milieu, they will never be truly intelligent. Searle
plemented and how the very fact of its implementation in
has argued that the Turing Test, although perhaps an
particular kinds of physical or biological mechanisms
indicator of the presence of intelligent behavior, fails as an
influences the nature of cognition, and—looking out-
indicator of the presence of intelligence. His “Chinese
wards—how and to what extent the nature of cognition is
Room Argument” purports to show that a computer can-
shaped by the sociocultural world in which minds find
not understand natural language. Suppose that an En-
themselves.
glish-speaking human who knew no Chinese was locked in
a room and equipped with a program (written in English)
for manipulating Chinese ideographs in such a way as to References
convince native Chinese speakers that they were commu-
Items prefixed by an asterisk are central sources of
nicating with another native speaker of Chinese. Such a
information on cognitive science.
person, according to Searle, would pass the Turing Test,
yet (by hypothesis) would not understand Chinese.
1936. Turing, Alan M. “On Computable Numbers, with an Applica-
tion to the Entscheidungsproblem,” Proceedings of the London
Psychology Cognitive psychology, of course, is a central Mathematical Society, Ser. 2, 42, 230-265. Reprinted in M. Davis
cognitive-science discipline. Among recent work by cog- (ed.), The Undecidable, New York: Raven Press, 1965: 116-154.
nitive psychologists that has been influential in cognitive 1943. McCulloch, Warren S. and Pitts, Walter H. “A Logical Calcu-
science are Bransford, Barclay, and Franks’s (1972) find- lus of the Ideas Immanent in Nervous Activity,” Bulletin of
ings that people actively construct mental representa- Mathematical Biophysics 7:115-133; reprinted in WS.
tions of the “propositional” meaning of sentences, McCulloch, Embodiments of Mind. Cambridge, MA: MIT Press,
Rumelhart’s theory of story grammars (1975), and 1965: 19-39,
Shepard’s and Kosslyn’s theories of mental imagery as a 1950. Turing, Alan M. “Computing Machinery and Intelligence,”
non-propositional kind of mental representation (Shepard Mind 59. Reprinted in A. R. Anderson (ed.), Minds and Ma-
chines, Englewood Cliffs, NJ: Prentice-Hall, 1964: 4-30.
and Judd 1976, Kosslyn 1981).
1960. Putnam, Hilary. “Minds and Machines,” in S. Hook (ed.),
Dimensions of Mind. New York: New York University Press:
Cognitive Science Perhaps the most important re- 148-179; Reprinted in H. Putnam, Mind, Language and Reality,
search topics in cognitive science are those that are truly Cambridge, England: Cambridge University Press: 362-385.
interdisciplinary—i.e. those in which researchers from 1972. Bransford, J. D., Barclay, J. R., and Franks, J. J. “Sentence
the several cognitive sciences apply their differing meth- Memory: A Constructive Versus Interpretive Approach,” Cog-
odologies to a common problem and, conversely, inform nitive Psychology 3: 193-209.
their own studies with results of investigations from the 1975. Fodor, Jerry A. The Language of Thought. New York: Thomas
Y. Crowell Co.
complementary disciplines. Prime examples would be re-
1975. Rumelhart, Donald E. “Notes on a Schema for Stories,” in D.
search in visual perception, which has been investigated
G. Bobrow and Collins, A. (eds.). Representation and Under-
in psychology, in artificial intelligence, and in robotics standing: Studies in Cognitive Science. New York: Academic
(g.v.), not to mention in physiology and biophysics; re- Press: 211-236.
search into mental imagery, which, in addition to the work 1976. Shepard, R. N. and Judd, S. A. “Perceptual Illusion of Rota-
in psychology mentioned above, has received critical tion of Three-dimensional Objects,” Science 191: 952-954.
philosophical attention from Pylyshyn and Dennett (cf 1978. Dennett, Daniel C., “Intentional Systems,” in D.C. Dennett,
Block 1981); research on categorization, where results Brainstorms. Montgomery, VT: Bradford Books: 3-22.
from psychology have largely overturned the “classical” 1979. Dreyfus, Hubert L. What Computers Can't Do: The Limits of
philosophical view going back to Aristotle of there being Artificial Intelligence, revised edition. New York: Harper & Row.
1980. Fodor, Jerry A. “Methodological Solipsism Considered as a
necessary and sufficient conditions for membership in a
Research Strategy in Cognitive Psychology,” Behavioral and
category; and research on the logic of belief and knowl-
Brain Sciences 3: 63-109.
edge, in which people from artificial intelligence have not 1980. Searle, John R. “Minds, Brains, and Programs,” Behavioral
only adapted, for use in artificial intelligence programs, and Brain Sciences 3:417-457.
systems of epistemic and doxastic logics developed by 1981. Block, Ned (ed.). Imagery. Cambridge, MA: MIT Press.
philosophers, but have also offered solutions to many 1981. Johnson-Laird, Philip N. “Mental Models in Cognitive Sci-
COLOSSUS 189
ence,” in D. A. Norman (ed.), Perspectives on Cognitive Science. As early as 1939, British cryptanalysts working at
Norwood, NJ: Ablex Publishing Corp: 147-191. Bletchley Park, a country estate about halfway between
1981. Kosslyn, Stephen M. “The Medium and the Message in
London and Birmingham, invented an analog device to
Mental Imagery: A Theory,” in N. Block (ed.), Imagery. Cam-
break the rotor ciphers of the German Enigma machine.
bridge, MA: MIT Press: 207-244.
1981. *Norman, Donald A. (ed.). Perspectives on Cognitive Science. Their success encouraged them to attack the much more
Norwood, NJ: Ablex Publishing Corp. difficult teletype ciphers. In 1942, when mathematics
1981. *Proceedings of the Annual Conference of the Cognitive Sci- professor M. H. A. Newman arrived at Bletchley from
ence Society. Hillsdale, NJ: Lawrence Erlbaum Associates. Cambridge University, the cryptanalysts were trying to
1981. Winograd, Terry. “What Does It Mean to Understand Lan- solve the Geheimfernschreiber ciphers with pencil and
guage?”, in D. A. Norman (ed.), Perspectives on Cognitive Sci- paper, using exhaustive techniques of Bayesian statisti-
ence, Norwood, NJ: Ablex Publishing Corp: 231-263. cal analysis.
1984. *Kintsch, Walter, Miller, James R., and Polson, Peter G. Newman set up a team of mathematical specialists to
(eds.). Methods and Tactics in Cognitive Science. Hillsdale, NJ: mechanize part of the task. Their early work led to the
Lawrence Erlbaum Associates.
development of the “Heath Robinson” machines, which
1985. *Gardner, Howard. The Mind’s New Science: A History of the
Cognitive Revolution. New York: Basic Books.
compared two punched paper tapes at rates of up to 2,000
1985. *Pylyshyn, Zenon. Computation and Cognition: Toward a characters per second. Mechanical problems with the
Foundation for Cognitive Science, 2nd edition. Cambridge, MA: Robinsons pushed Newman and his team toward a radical
MIT Press. innovation. T. H. Flowers, an engineer from the Post Office
1987. *Stillings, Neil A., Feinstein, Mark H., Garfield, Jay L., Riss- Research Station at Dollis Hill, proposed to build a ma-
land, Edwina L., Rosenbaum, David A., Weisler, Steven E., and chine with 1,500 vacuum tubes, almost three times the
Baker-Ward, Lynne. Cognitive Science: An Introduction. Cam- number in any contemporary machine. It would execute
bridge, MA: M.LT. Press. < the comparisons electronically rather than mechanically,
1988. *Collins, Allen, and Smith, Edward E. (eds.). Readings in
a strategy that has guided the evolution of the computer
Cognitive Science: A Perspective from Psychology and Artificial
ever since. The idea of automating the comparisons was
Intelligence. San Mateo, CA: Morgan Kaufmann Publishers.
probably influenced by Alan Turing’s (g.v.) classic work
1988. Graubard, Stephen R. (ed.). “Artificial Intelligence,” special
issue of Daedalus, 117, No. 1 (Winter 1988); reprinted as The
on computability, and particularly by his notion of the
Artificial Intelligence Debate: False Starts, Real Foundations. Universal Turing Machine (g.v.). Although Turing himself
Cambridge, MA: MIT Press. worked at Bletchley Park, his exact role in the develop-
1988. *Johnson-Laird, Philip N. The Computer and the Mind: An ment of Colossus remains obscure.
Introduction to Cognitive Science. Cambridge, MA: Harvard By redesigning the tape drive and the readers used in
University Press. the Robinson machines, Flowers and his colleagues at
1988. Pinker, Steven, and Mehler, Jacques (eds.). Connections and Dollis Hill greatly increased the rate at which two cipher
Symbols. Cambridge, MA: MIT Press. texts could be compared. Colossus could read punched
1989. *Posner, Michael I. (ed.). Foundations of Cognitive Science.
tape at 5,000 characters per second, a truly impressive
Cambridge, MA: MIT Press.
speed even by postwar standards. Only one tape at atime
1992. Shapiro, Stuart C. (ed.). Encyclopedia of Artificial Intelli-
was fed into the machine, and the results were stored in
gence, 2nd. Ed. New York: John Wiley & Sons.
a memory consisting of gas-filled thyratron triodes. To
WILLIAM J. RAPAPORT eliminate cumulative timing errors, a clock pulse was
generated by a photocell that read the sprocket holes in
the tape. The necessary programming was done with
plugboards. Although Flowers later noted that the proto-
COLLATING SEQUENCE. SeeSortne. type was probably less programmable than some contem-
porary IBM machines, Newman and his colleagues began
to exploit the flexibility of the machine, making dynami-
cally generated data dependent on the results of previous
processing.
COLOSSUS When installed at Bletchley, Colossus filled a large
For articles on related subjects see CRYPTOGRAPHY, COM- room in one of the temporary wartime huts. It operated
PUTERS IN; and DIGITAL COMPUTERS; HISTORY: EARLY. in parallel arithmetic mode at 5,000 pulses per second
and had electronic counting circuits, electronic storage
Colossus was one of the earliest programmable elec- resistors that were changeable by an automatically con-
tronic computers. It was developed in Britain during trolled sequence of operations, and typewriter output.
World War II to break top-level German machine ciphers The Mark II Colossus, completed in June 1944, had 2,400
generated by the Geheimfernschreiber, a teletype machine tubes and was five times faster. The basic clock rate was
manufactured by Siemens AG. The first tests with the the same, but five-stage shift registers increased the
ciphers were run successfully in December 1943. Several speed by providing access to five characters at a time.
more Colossi were built before the end of the war. Be- About ten of the Mark V machines were in successful
cause of engineering improvements, no two were identi- operation in Bletchley Park by the end of the war in 1945.
cal. Many details about their design and performance, Colossus went on-line two years before ENIAC (q.v.).
particularly their capacity for conditional branching, still Colossus, though built as a special-purpose logical com-
remain secret. puter, proved flexible enough to be programmed to exe-
190 COMBINATORICS
cute a variety of tasks, though it was not quite capable of social sciences, communication theory, and. computer
decimal multiplication. ENIAC, a much larger and faster science have demonstrated the generality of the tech-
machine, programmed with patch cords, initially was in- niques and have enhanced the importance of combinato-
tended for solving differential equations, but was used for rics as a branch of applied mathematics. We present as
a variety of numerical calculations. illustrations some combinatoric problems and their solu-
Although it was the ENIAC group that made the final tions in three areas: combinations and permutations,
leap toward the modern general-purpose digital com- combinatorial designs, and asymptotics.
puter with the design for EDVAC (q.v.), Colossus stands as Most combinatoric problems can be characterized as
an impressive pioneering achievement in its own right, either (1) an existence problem, in which one determines
and was a powerful stimulus to postwar computer re- whether a problem has a solution, (2) an enumeration
search in Britain. problem, in which one determines the number of solu-
tions to a problem, or (3) a selection problem, in which
References one is to find, among all the solutions to a problem, one
or more with particular properties. The selection prob-
1974. Kahn, David. “The Ultra Secret,” New York Times Book
Review, 29 December.
lem is often related to efficient algorithms that produce
1977. Randell, Brian. “Colossus: Godfather of the Computer,” New
the desired solutions.
Scientist, 10 February. As general references, the books by Hall (1986), Liu
1980. Randell, Brian. “The Colossus,” in A History of Computing in (1968), and Tucker (1984) are suggested.
the Twentieth Century. New York: Academic Press.
1983. Hodges, Andrew, Alan Turing: The Enigma. New York: Simon
and Schuster. Combinations and Permutations One of the
most important areas in combinatorics is the study of the
WILLIAM E. BoGGs ways in which discrete objects are combined and per-
muted. A selection of r objects from a set of n objects is
called a combination. An ordered selection of r objects
chosen from n objects is called a permutation. The num-
COMBINATORICS ber of ways to select r distinct objects from n distinct
For articles on related subjects see ALGORITHMS, ANALYSIS n!
objects is given by the formula where i! de-
OF; CODES; DISCRETE MATHEMATICS; and GRAPH THEORY. r!(n—-r)!’
notes the product i- (¢ — 1) - @—2):--3- 2-1 and is read
Introduction Combinatorics is the branch of discrete n!
“7 factorial.” The quantity usually written @):
mathematics that involves the study of methods of count- ri(n-r)!’
ing how many objects there are of some type, or how is known as a binomial coefficient because it is the coeffi-
cient of the term x’ in the expansion of (1 + x)". The
many ways there are to do something. The items being
number of ordered arrangements of r distinct objects
counted are generally drawn from a finite system that has
chosen from n distinct objects is n!/(n — YN! =n-(n- 1)-
some structure, and the process of counting requires a
detailed analysis of that structure. Such counting prob-
(n= 2):--@a= ri),
There are many possible variations on permutations
lems are ubiquitous in the sciences and especially in
and combinations. For example, one might wish to select
computer science; since the computer can aid in such
r objects from n distinct objects, allowing repeated selec-
analyses, combinatorics and computer science have de-
veloped a symbiotic relationship. tion of the same object. One way to solve the problem is
to note that the coefficient of x’ in the expansion of
Most brain teasers, games, and puzzles are combina-
torial in nature, and their solutions have often become the (1 — x)" is the answer. This example illustrates generat-
basis for general theories in combinatorics. Combinato- ing functions, a technique useful in enumeration prob-
rial problems have attracted the attention of serious lems. The generating function of a sequence of numbers
mathematicians since ancient times. For example, magic A, 2}, Ay)..-, 2,...is the power series a, + a, x + axe nee
squares (square arrays of numbers with the property that - + a,x" +---, where x is a formal variable (i.e. a variable
the rows, columns, and diagonals add up to the same without intrinsic meaning). In many enumeration prob-
sum) were discovered by the Chinese as early as 2200 B.c. lems, it is easier or more desirable to obtain the generat-
Other similar problems resulted in important contribu- ing function of the solutions for a sequence of problems,
tions by such eminent mathematicians as Blaise Pascal rather than to obtain an explicit closed-form expression
(g.v.), Pierre de Fermat, Gottfried Wilhelm von Leibniz of the solution for a particular problem. Thus, the gener-
(¢.v.), Leonhard Euler, Arthur Cayley, and James Joseph ating function’(1 — x) gives the number of ways to
Sylvester. select, for all r, r objects from n distinct objects, allowing
Combinatorics was once considered to embrace only unlimited repetitions. For example, when n = 3, (l1-x)3
disconnected ideas and tricks for solving isolated prob- =1+3x+6+---and the six combinations of three
lems, most of them recreational in nature. Since the early objects, say a, b, andc, taken two at a time, are aa, ab, ac,
1960s, however, unifying principles and cross connec- bb, bc, and cc. Similarly, the number of ways to divide r
tions have helped to make combinatorics a coherent body distinct objects into n non-empty subsets is equal to r!/ n!
of concepts and techniques. Widely varied applications to times the coefficient of x’ in (e* - 1)". Thus, for instance,
problems in statistics, theoretical physics, chemistry, the whe
n = 2,
n (e* — 1)? =2 +20+ <ba4 +. and there are
COMBINATORICS 191
3!/2! = 3 ways that three objects can be divided into two for partially ordered sets. Rota’s work is an excellent
non-empty sets: (a, bc), (b, ac), and (c, ab). example of unifying results that have emerged since the
Generating functions are also useful in determining 1960s.
the number of ways to arrange n opening parentheses and Permutation problems also arise from the study of
n closing parentheses so that each open parenthesis is molecular structures. We may ask, for example, how
balanced by a corresponding closed parenthesis to its many ways there are to place molecules at the apexes of
right. For example, ()(()) is a well-formed arrangement, a regular polyhedron; two placements are considered
while ( )(() is not. If a, denotes the number of such equivalent if one can be obtained from another by a
arrangements, we note that a, = 1, since there is a unique rotation of the polyhedron. If there are five kinds of mole-
empty arrangement (no parentheses) and cules and the regular polyhedron is a tetrahedron (a
pyramid with three sides and a base), the number of
a, = a,-} at a\a,_9 A a, a,-3 Bae ig oa a,-2 a, 7 Gy-1, placements is 75, a result that can be found using Polya’s
theory of counting (see Liu (1968)).
since all possible arrangements on n parentheses P, are
formed without repetition by (P;) Pajet forj =0,1,..., 2 Graph Theory Graph theory is an area of significant
— 1, with P, being the empty string of parentheses. This importance in combinatorics, and it provides a good ex-
is an example of a recurrence relation, which, in general, is ample of the study of the structural properties of discrete
an equation relating a sequence of numbers @p, 4), @,,..., systems. Since it is discussed in a separate article, we
a,,..-. Often, a recurrence relation can be solved to obtain shall not discuss it here.
either a closed-form expression or the generating func-
tion for a,, so many enumeration problems can be at- Combinatorial Designs Combinatorial designs is
tacked by first setting up a recurrence relation and then the area of combinatorics concerned with the arrange-
solving it. In this case, the generating function can be ment of discrete objects. However, unlike the enumera-
shown to be (1 — V1 — 4x)/2x and from this we can tive problems discussed above, its main emphasis is on
determine that a, = = /(n + 1); these a, are called proof of existence and nonexistence.
Typical of such arrangements are Latin squares. A
Catalan numbers. Latin square of order n is an arrangement of n distinct
A derangementis a permutation of the integers 1,2,..., symbols in ann X nsquare so that each symbol appears in
n so that no integer i occupies the ith position. The each row and each column exactly once. Two Latin
problem of counting the number of derangements is a squares are said to be orthogonal if, when they are superim-
special case of the general problem of the permutation of posed, the ordered pairs of entries are all distinct. A set of
objects, with restrictions on the positions each object Latin squares is said to be mutually orthogonal if every two
may occupy. The number of derangements of n objects squares in the set are orthogonal. Latin squares were first
can be determined by generating functions or by a for- studied by Euler when he posed the so-called “36 officers
mula known as the principle of inclusion and exclusion, problem” in which six officers of different ranks from each
which states that for r sets A,, A,,..., A, of six regiments are to be arranged in a6 X 6 squareso that
no two officers of the same rank or from the same regiment
[AWAO CAI = 1A b+ 1A, ee + IAT will stand in the same row or the same column. This prob-
RANGA AT ONAg heer lA SANs: lem is equivalent to the problem of the existence ofa pair of
+ 1A, NA, QA,I + 1A; AA, OA! +--- orthogonal Latin squares of order 6. It is not difficult to
+ (-1"1 1A, NA, A--- 0A, discover that for n — 2 not divisible by 4, there always
exists a pair of orthogonal Latin squares of order n. For
where |X! denotes the cardinality (number of members) example, Fig. 1 shows a pair of orthogonal Latin squares of
of the set X. Thus, of the n! permutations of the integers order 10. Euler conjectured that for n — 2 divisible by 4
1,2,..., n, let A, denote the set of those permutations in there is no pair of orthogonal Latin squares. Indeed, there
which the integer / is the ith position. It follows that the do not exist orthogonal Latin squares of order 2 or 6, but in
number of derangements is equal to 1960 R. C. Bose, S. S. Shrikhande, and E. T. Parker proved
the falsity of Euler’s conjecture by exhibiting pairs of or-
ni— FASO ASUN AS thogonal Latin squares for all orders n = 10, such that n — 2
is divisible by 4.
ll nl — fr}e- D! + a 2+ +1)" ("| Of related interest is the largest number of Latin
squares in a mutually orthogonal set. A mutually orthog-
1 1 Satie Marni ds onal set of Latin squares of order n can contain at most
nia tym td Wn
n — 1 Latin squares; furthermore, for n equal to a power
Ul ni/e, of a prime, such a set exists. However, the question is still
open for general n; the case n = 10 was settled only
where ~ means “approximately equal to” and e is the recently by Lam, Thiel, and Swiercz [1989]. An exhaustive
base of the natural logarithms. Gian-Carlo Rota has computer search failed to discover a set of nine mutually
observed that the principle of inclusion and exclusion orthogonal Latin squares of order 10. Various properties
and the well-known Mobius inversion formula of number of Latin squares have been studied for the more restricted
theory are special cases of a general inversion formula case in which entries in each diagonal or superdiagonal
192 COMBINATORICS
4
1
8
9
6
rf
0
2
3
©
CO
oO
WDA5 OO
mene OF
WN on WS
krrF
NA
OOWH
ORWN me
fF
Oo
Doo
OWN©
W
LAT
are
me
NoonCO
©
&
on OD
Fr
WN
HL
NOON
wWOronDn
fP
Oo
OD WNHKH
CONDOR
KH
OD
OMONNRK hRITOWOMAO
Ne 0RW
7
Ww
Or
AUTO or
AHOWMAWMNO
ARODOKRN
WIAD
OnrnwnANMOS
—
oO
OD WH
UaAh
OR
NWOr
ONMOAANHh
wwe
SAnkanorwow
WNHNHAMROROHA CUONWNHNYOeR
are distinct. The superdiagonals are the diagonals formed The three important parameters of a block code are
when the square is rolled into a cylinder with the first the length of its words (short codewords yield low com-
column adjacent to the last column, and the ends of the munication cost), the number of its codewords (a large
cylinder are then joined to form a torus. number of codewords gives the capability of representing
The design of statistical experiments to test the ef- a large number of messages), and its error-detecting/cor-
fects and interrelations of various “treatments” (medica- recting capability (detection or correction of errors
tions) leads to the area of combinatorial designs known as means high reliability in communication). The problem of
block designs; most of the terminology in this area is code design is to select a set of codewords so that these
derived from such applications. Let T = {1, 2,..., v} bea interdependent parameters satisfy the needs of a particu-
set of distinct objects called treatments, and let B,, B,,..., lar communication problem. It is also desirable that the
B,, be subsets of T called blocks. A collection of blocks is code have efficient encoding and decoding algorithms.
called a design on the treatments: a balanced incomplete
block design is a design in which every treatment appears
in exactly r blocks, every block is of size k, and every pair Asymptotics In enumerative combinatorial prob-
of treatments appears in exactly / blocks. Since balanced lems, it is necessary to count the number of occurrences
incomplete block designs are characterized by the five of some configuration. The derangements problem is a
parameters v, b, r, k, and A, they are also referred to as typical example. Frequently, the answer can be expressed
(v, 5, r, k, 4) designs. Most important is the question of the by a recurrence relation, a generating function, a sum of
existence of a balanced incomplete block design for given terms, or a product of terms. In addition to an exact
values of v, b, r, k, and A. This general problem is extremely answer of that type, we usually would like to know an
difficult and has not been completely solved, although approximation in more elementary terms. Asymptotics is
there are many results for specific sets of parameters. The concerned with such approximations.
special class of balanced incomplete block designs in For example, the single most important asymptotic
which v = b (and, consequently, r = k) is known as result of combinatorics is the answer to the question
symmetric balanced incomplete block designs. Because of “How large is n! = n-(n — 1)-(n — 2)--- 2-1?” The answer
the additional constraints, more is known about such was found by James Stirling in the early eighteenth cen-
designs, although the general existence question remains tury. He showed that
a difficult one.
The construction of codes is closely related to that of
nt = aan(2).
block designs. Let A = {a,, a,,...}.be a set of distinct
symbols (letters). The set A is called the alphabet. A word
is an ordered sequence of letters from the alphabet; the Stirling’s formula also gives us an approximation for the
length of a word is the number of letters in it. A code is a n!
binomial coefficients since|” |= SS and for many
collection of words (called codewords). If no codeword is Yr). ringer)!”
a prefix of another codeword, the code is a prefix code. If other similar functions.
all codewords are the same length, the code is a block 2 Late |
code. WhenA is the set of elements in a finite field, a block The harmonic numbers, H, = yi >, occur in many
i=1 1
code is said to be linearif it forms a vector space over the contexts in combinatorics and their approximation is also
finite field (A, +,-). An error is said to occur if one of the of interest:
letters in a codeword is changed into another letter. Some
codes are terror detecting, i.e. they can recognize when ¢ Aa Anny,
or fewer errors occur in a codeword. A code is said to be
terror correcting if the original codeword can be recon- where y ~ 0.5772 is known as Euler’s constant.
structed when ¢ or fewer errors occur. Both the approximation for n! and H, are derived by
COMMAND AND JOB CONTROL LANGUAGE 193
Euler’s summation formula, which approximates a discrete such as Sperner’s Lemma and Dilworth’s Theorem), the
summation, suchas Inn! = ae theory of matroids as generalizations of graphs, or the
Inior H, = De * by
i=1 i=1 mathematical programming (qg.v.) approach to optimiza-
tion problems.
the corresponding integral, J“Inxdx or| ‘ = The integral Combinatorial techniques will undoubtedly continue
1 1 to play a crucial role in computer science. The future
is then evaluated, and the error is bounded by various design of computer hardware by VLSI is but one area in
analytical tecnhiques. which deep combinatorial problems are certain to
emerge.
Connections with Computer Science The
close relation between combinatorics and computer sci- References
ence works to the advantage of both areas. Combinato-
1968. Knuth, D. E. The Art of Computer Programming Volume I.
rics gains in two distinct ways. First, the computer allows
Reading, MA: Addison-Wesley. (See also Volume II, 1969, and
large-scale testing of conjectures and generation of data
Volume Ill, 1972.)
that would have been impossible or infeasible only a few 1968. Liu, C. L. Introduction to Combinatorial Mathematics. New
decades ago. Before computers, results like Appel and York: McGraw-Hill.
Haken’s proof of the four-color theorem could never have 1974. Dena, J. and Keedwell, A. D. Latin Squares and Their Applica-
been achieved. Second, the application of techniques tions. London: English University Press.
from combinatorics to problems in computer science 1977. Reingold, E. M., Nievergelt, J. and Deo, N. Combinatorial
infuses new vigor into the study of the techniques them- Algorithms: Theory and Practice. Englewood Cliffs, NJ: Pren-
selves and suggests new avenues for combinatorial inves- tice-Hall.
tigation. 1984. Tucker, A. Applied Combinatorics, 2nd edition. New York:
John Wiley.
Computer science gains from combinatorics the
1986. Hall, M., Jr. Combinatorial Theory, 2nd edition. New York:
tools necessary for analyzing algorithms and data struc- John Wiley.
tures. The best examples are algorithms for sorting (g.v.) 1988. Sedgewick, R. Algorithms, 2nd edition. Reading, MA: Addi-
elements according to some order. The analysis of the son-Wesley Publishing Co.
average, best, and worst case performance of most sort- 1989. Lam, C. W. H., Thiel, L. and Swierez, S. “The Non-Existence
ing algorithms hinges critically on the structure of permu- of Finite Projective Planes of Order 10,” Can. J. Math 41:
tations; the classical results in this area are just what are 1117-1123.
needed to understand the relative behavior of various
C.L. LU AND EDWARD M. REINGOLD
sorting algorithms. Similarly, results on combinations,
permutations, and trees (a special type of graph) facili-
tate the analysis of merging algorithms and search strat-
egies. The techniques for the solution of recurrence COMMAND AND JOB
relations and of asymptotic analysis are used in the anal-
ysis of almost all algorithms. Without such techniques,
CONTROL LANGUAGE
we would never be able to answer questions about, for For articles on related subjects see DIRECTORY; JOB; LAN-
instance, the average number of interchanges in the bub- GUAGE PROCESSORS; LOGIN FILE; OPERATING SYSTEMS; SHELL; TER-
ble sort, the expected height of a search tree, or the MINALS; TIME SHARING; UNIX OPERATING SYSTEM; and USER
average stack depth encountered in parsing arithmetic INTERFACE.
expressions.
Computer science also benefits from the computa- A command language (CL) or a job control language
tional problems suggested by the classical structures (JCL) is a language in which users of a computer (or
of combinatorics. How can we determine if a graph is data processing) system describe to that system the
planar? How do we find the shortest path between two requirements of their tasks (or jobs - g.v.). Most com-
nodes of a network? Is there an efficient way to deter- puter systems operate under the control of an operating
mine whether two planar networks are isomorphic? system. The users interact with a computer system via
These questions originated with combinatorics, but the command or job control language of its operating
their algorithmic solutions came largely from computer system; thus, this language is the primary interface
science. between a computer system and its users. The term
The books by Knuth (1968) and Reingold, Nievergelt, command language is most often used when speaking
and Deo (1977) are recommended as references for the of time-sharing or interactive computers, while job con-
interface between combinatorics and computer science. trol language is used primarily in relation to batch
computers. Here, we will use the term command lan-
Concluding Remarks The topics discussed are guage to mean both CL and JCL.
merely representative. We have not discussed many beau- More specifically, users of computer systems employ
tiful and deep topics, such as Ramsey theory, which is the command language to:
concerned with certain generalizations of the “pigeon-
hole principle” (if n + 1 pigeons are put into n holes, then 1. Identify themselves to the system for security
one of the holes must contain two or more pigeons), and accounting purposes, and, in some in-
partially ordered sets (exemplified by structural results stances, to inform the computer system about
194 COMMAND AND JOB CONTROL LANGUAGE
which directory and data files are to be used in that their output was to be printed on the same printer (in
processing their respective tasks. which case each task’s output was saved by the operating
2. Inform the computer system about the particular system on some secondary storage device—e.g. a disk—
resources required by their tasks [e.g. amount of and then printed when the printer became available).
storage needed, language translator(s) to be This mode of operation required the users to inform the
used, expected amount of central processing unit operating system about the specific resources needed by
(q.v.) time]. their tasks. This evolution had several effects:
3. Specify input/output devices required by their
tasks (e.g. magnetic tapes, disks, line printer, 1. The computer systems became used more effi-
plotter) and define the manner in which the infor- ciently.
mation is or should be organized (or “format- 2. The users became forced to state explicitly (and
ted”) on these devices. a priori) the resource requirements of their tasks
4. Specify what action the computer system should in a formal way through the facilities of the CL, as
take in exceptional cases (e.g. errors in pro- opposed to remembering them, writing them on
grams, missing or incorrect input data, input-out- pieces of paper as “instructions to the operator,”
put device malfunctions). or coding them directly into their programs. The
users could no longer assume that each of their —
tasks had total control of the computer system.
Batch Command Languages Early batch com- 3. It became possible for the users to state their
puters had no operating systems and were capable of requirements in a more abstract fashion. Thus,
executing only one task at a time. As a result, users of the user could say, for instance, that a task re-
these systems controlled the execution of their tasks
quired three tape drives, but the operating sys-
themselves; while the computer was executing their
tems would choose, each time that this task was
tasks, such users often acted as operators of the com-
executed, the actual tape drives to be used. This
puter and controlled the operation of the entire system.
ability to state one’s resource requirements in
As computers grew in complexity (and, therefore, in
such an abstract fashion tends to minimize the
cost), this mode of operation became no longer economi-
interference between the tasks belonging to dif-
cally feasible. Primitive operating systems were devel-
ferent users and allows a computer system to
oped to allow the computer system to sequence
continue operating even when some of its re-
automatically the tasks of the various users through the
sources (e.g. a tape drive) are unavailable be-
system. These early, simple batch operating systems exe-
cause of failures or other reasons. In this fashion,
cuted one task at a time, either to completion or until
some error made it impossible to continue a task (Jardine, a certain amount of independence from the ac-
1975). In the latter case, the operating system would tual physical configuration of the computer sys-
usually give the user (via a printed report) some rudimen- tem is achieved.
tary indication of what went wrong and would then im-
mediately proceed to the next user’s task. The user had Thus, with the passage of time, it became necessary for
only a very limited ability to affect the behavior of the the users to be able to state their requirements to the
operating system. The system simply sequenced the jobs operating system in a more and more rigorous and de-
through the computer, giving up on any task that did not tailed fashion. Simultaneously, the complexity of users’
behave exactly according to the user’s (or, more accu- tasks grew. Increasingly often, users want operating sys-
rately, the system’s) expectations. tems to take care of exceptional conditions (e.g. errors in
These systems utilized the computer more efficiently input data) automatically without necessarily giving up
than the initial “hands-on” method, but at the price of on their tasks; to accomplish this, operating systems have
increasing the overhead on the users’ time; they also to be able to make decisions based on what happens to a
forced the users to work in a much more formal and task while it is executing; therefore, CLs have to allow the
regulated fashion, sometimes with large delays (turn- user to state the rules and conditions for making these
around time - q.v.) between the time a job was submitted decisions.
by the user and the time when the user received the As a result, the complexity of the user’s interface (i.e.
corresponding output. the CL) with the operating system has grown to accommo-
Because of the large cost of computers, further at- date these needs. As additional capabilities became
tempts at making their use more efficient and at increas- needed in CLs, they were added, often in purely ad hoc
ing their throughput resulted in the development of ways, resulting in CLs that were very flexible and power-
multiprogramming (q.v.) operating systems, which allow ful, but also needlessly complex, difficult to learn, unnat-
several independent tasks to use the computer simulta- ural to use, and non-systematic (Barron and Jackson,
neously. Thus, one task might be performing calculations 1972). This increase in complexity has had several results:
while a second task might be reading a magnetic tape, a
third writing a disk, etc. In addition, all such concurrently 1. The need, in most big computing centers, for one
executing tasks could, for instance, access the same disk or more (often full-time) “CL experts.”
(each task, of course, using only those portions of the disk 2. The development of macroprocedure capabilities
that the operating system had assigned to it), or specify in CLs; these facilities allow a user to invoke, ina
COMMAND AND JOB CONTROL LANGUAGE 195
relatively simple fashion, a set of complex CL there is no compatibility between the IBM’s OS/MVS and
statements (i.e. a CL procedure) that the user, Univac’s EXEC-8 CLs. In fact, even the terminology used to
another user, or a “CL expert” has developed, describe the various CL facilities is different between the
debugged, and that has been previously stored in two, so that, while it is relatively easy to convert a Fortran
the computer system under a specific name. or Pascal program from one of these systems to the other,
3. The emergence of research aimed at developing the conversion of the corresponding CL statements is
a theory of, and designs for, more general, sys- difficult.
tematic, simpler, and easier to use CLs (Dolotta The large number of CLs in use today is, in itself, a
and Irvine, 1969; Gram and Hertweck, 1975; serious problem for users of distributed computing (q.v.)
Unger in Beech, 1980). facilities and of computer networks (see the paper by
4. The emergence of attempts at standardizing CLs. Hertweck in Beech, 1980, pp. 369-383). Users of such
The purpose of such standardization is to make networks often have to use several CLs in a single session.
CLs less machine-dependent, just as has been These various manifestations of the “Tower of Babel”
done with most high-level programming lan- effect provide a very strong impetus towards the develop-
guages. ment of a single, standard CL. On the other hand, because
the state-of-the-art in CL design and implementation is
Interactive Command Languages CLs meant still relatively rudimentary, it is not clear that such efforts
to be used in a time-sharing mode or used interactively on (see the papers by Frampton et al., Harris, and Newman,
a personal computer are usually much simpler than batch pp. 101-113 in Beech, 1980) are desirable at this time;
CLs. There are several reasons for this: quite to the contrary, it is likely that progress in CLs will
be slowed significantly by such premature standardiza-
tion.
1. Interactively, the user most often types in a single
A recent and very interesting trend has been toward
CL statement at a time, observes the result(s) of
CLs that have many, if not most, of the facilities that, until
that statement, and then decides what to do
now, were available only in the traditional programming
next. Thus, the user does not have to decide and
languages (see the paper by Dolotta and Mashey in
explicitly state in advance what the system is to
Beech, 1980); such facilities, together with the ability to
do under all possible conditions; he or she can
write and store CL procedures, allow one to perform,
make these decisions, one at a time, while inter-
within a single CL procedure, tasks that previously re-
acting with the computer system.
quired several separate programs to be written, com-
2. The user interacts directly and in real time with
piled, debugged, etc. These new, “programmable” CLs are
the computer, as opposed to having to use the
rapidly gaining in popularity because they make the
computer through intermediate operators.
users’ work simpler and, thereby, make the users more
3. Users of a time-sharing computer are often geo- productive.
graphically isolated from that computer (e.g. by Another very interesting recent rend affecting CLs is
working at home). Under such conditions, sim- the extremely rapid growth of microcomputers. These
plicity and ease of use of the CL is a very import- computers offer limited resources relative to mainframes,
ant factor (Dolotta and Irvine, 1969). while their users are often relatively unsophisticated.
4. Because many, if not most, CL statements are Therefore, it is very desirable that the CLs available on
typed every time they are executed, it is very these computers be very simple (to use little of the avail-
important that they be simple and short. able resources) and, at the same time, very natural and
5. The computer system can guide the user by easy-to-use (“friendly”). Unfortunately, these two sets of
printing prompting messages, thus making it less requirements are not compatible.
necessary for the user to remember all the de- We expect future CLs to be more flexible, to possess
tails of the CL. more programming power and expressiveness, to be
“subsetable,” and to be designed and implemented in
As a result, more attention has been paid to the human much more systematic ways and with much better human
factors engineering of interactive CLs than to that of engineering factors.
batch CLs. In addition, interactive CLs and computer It is even conceivable that CLs, as we know them, will
systems have adapted the better features of batch not survive at all. The rapidly growing alternative is use
systems. Thus, in many CLs, it is possible to construct of a graphical user interface (GUI) as represented by the
and save cataloged command language scripts for re- user interface (q.v.) of the Apple Macintosh (which is the
peated use. In interactive computers, all data files and only way to use that computer), and by such GUIs as the
programs are stored on-line. Editing programs allow Microsoft Windows system for the IBM-PC and compati-
users to create, examine, and modify on-line files of bles (q.v.). CL commands are verbal; GUI commands are
programs and data. pictorial. For example, to delete file sToRY.TxT in the MS-
DOS CL, one writes explicitly DELSTORY.TXT. On the Macin-
General Observations Unlike programming lan- tosh, the same operation is performed by using a mouse
guages, different vendors’ CLs have very little in common (g.v.) to drag the icon that represents the file until it is
(in fact, one often finds that the different CLs available superimposed on an icon shaped like a garbage can.
froma single vendor are also incompatible); for example, Then, releasing the mouse button that effectuated the
196 COMMUNICATION CONTROL UNIT
one or more I/O processors for high-speed data transfers Terminal Servers This is a generic term to describe
between the unit and host computers or peripherals such devices that connect a number of terminals, work-
as disks for high-capacity data storage. te stations, or other devices with an RS-232 interface to an
ethernet or token ring network. Terminal servers may
support one or more protocols. An example of the latter
Types of Communication Control Units The
may include support for both the TCP/IP and LAT (Local
advent of the microprocessor has made it possible to
Area Transport) protocols over the same ethernet.
program controllers to perform many different communi-
cation functions concurrently, each of which was once
Front-End Communication Processors These devices
the primary function of an individual controller. Conse-
provide the interface between a mainframe (or host) and
quently, the descriptions that follow tend to describe the
its communication network. They help offload many rou-
major individual functions that such units can perform,
tine and CPU-intensive tasks from the host computer by
rather than the various combinations one can encounter
supporting a large variety of different devices and proto-
in practice. Their use in a typical network is illustrated in
cols and integrating many communication tasks into one
Figure 2.
unit. A distinguishing characteristic of front-end proces-
sors (q.v.) is that they have an interface to one or more
Multiplexers Multiplexing permits the transmission of
host processors with the software necessary to transfer
several low-speed data streams over a single higher-speed
data between the host and its network.
communication line to help reduce transmission costs.
The low-speed lines are sampled, and their data are as-
Network Processors These devices are stand-alone
sembled and transmitted over the single higher-speed line
units that have a large degree of autonomy in controlling
in some deterministic fashion. They are demultiplexed
a network without much direction from host computers.
into their original multiple streams at the destination.
Their main functions are to provide a link between a large
Simple multiplexers tend to be available from modem and
variety of local or remote user devices and the front-end
communication system vendors, as well as from major
or other network processors. Like front-end processors,
computer system vendors. network processors usually perform a wide variety of
communication tasks, including network statistics, diag-
Concentrators This term is usually reserved for a com- nostics, and reconfiguration, in case of serious network
puter or microprocessor programmed to perform several failures.
communication tasks, including buffered multiplexing, as
described in the previous section. Concentrators can be Message Switching Systems This term usually refers to
character-or message-oriented and can support a variety a concentrator that stores and forwards entire messages
of different devices. Since, in practice, devices do not rather than just single characters. The message can be
transmit or receive data at their maximum rates for sus- forwarded as soon as it is assembled, or it can be stored
tained periods of time, the buffering capability of concen- and forwarded when requested. For this reason, such
trators allow them to multiplex data more effectively than devices are sometimes called store and forward systems.
simple multiplexers with little or no buffering. The data
buffers help absorb peak data loads, while sustained peak Repeaters Repeaters receive signals from one segment
loads can be accommodated by temporarily inhibiting of a local area network (LAN), retime and amplify the
transmission to or from some devices. Concentrators can signals, and forward (repeat) them to an adjacent seg-
also be programmed to perform many other communica- ment of the same LAN. They are frequently used to con-
tion tasks in addition to their primary concentrating func- nect two segments of an ethernet cable, to extend its
tion. length beyond the 500-meter single cable limit.
198 COMMUNICATIONS AND COMPUTERS
eee, eS a
ae Terminals Terminals
LOCALS ie a ee, es ee, REMOTE
ETHERNET > 7 ETHERNET
Leased
dt Line
Leased
Digital Multiplexer iTerminals
Line
Host
2 LOCAL Leased
SNA Digital oN Le REMOTE
NETWORK Line ta DECNET
NETWORK
LOCAL BRIDGED
TOKEN RING LAN
Bridges Bridges operate at the data link layer of the form message format conversion, address translation,
Open System Interconnection (OSI - g.v.) model for net- and protocol conversion.
work architecture and are used to connect two or more
adjacent LANs. The interconnected LAN segments form References
what is called a bridged LAN. Bridges filter entire packets
1988. Tanenbaum A.S. Computer Networks, 2nd Edition, Engle-
and pass (bridge) only those that need to cross the
wood Cliffs, NJ; Prentice-Hall.
boundary between the LANs they connect. As such, they
are often used to help reduce traffic on individual LAN JOHN S. SOBOLEWSKI
segments.
Gateways The term gateway is used loosely to describe For articles on related subjects see COMMUNICATION CON-
a variety of devices, including bridges and routers used to TROL UNIT; DATA COMMUNICATIONS; NETWORK ARCHITECTURE;
connect similar or dissimilar networks. When connecting NETWORK PROTOCOLS; NETWORKS; NETWORKS, COMPUTER; and
networks with different architectures, gateways must per- PACKET SWITCHING.
COMMUNICATIONS AND COMPUTERS 199
Introduction Extremely rapid technological ad- ment is shared in the sense that there are usually not
vances in both communications and computers have cre- enough links provided to connect all lines at the same
ated an environment that fosters increasing interaction time.
between these two technologies, while at the same time Once the communication path between two lines has
creating entirely new legal, political, and social issues. been established by the connecting equipment, as di-
Although the telecommunications and computer indus- rected by the control equipment, the connection remains
tries in the U.S. have historically been quite separate, and in place and there is no further requirement for control
are prohibited by present (1991) law from merging, both functions until a signal is received to disconnect the cir-
groups have recognized that the common product they cuit. Digital computers are being utilized to provide the
offer is information handling services. In the future, com- control functions required in such switches. Such
munications, computers, and information will form an in- switches are known as_ stored-program-controller
separable trilogy. switches (SPC).
Subscribers
Processor |Subscribers
feeren!
Subscribers
Processor
~ 0909
Processor
Processor
emery
O O
Processor
eae
Subscribers
tant computer. Fig. 3 illustrates a simple computer net- separate the different channels when they are each trans-
work (see NETWORKS, COMPUTER). lated by an appropriate amount and “stacked” to produce
the frequency division multiplexed groupings shown in
Analog and Digital Communication Digitally encoded Fig. 4. There are both technical and economic advantages
signal transmission is now the standard technology for in transmitting a digital pulse stream (i.e. the signal takes
the telephone systems of the U.S. and most other coun- on only a small set of fixed and discrete values), rather
tries. A completely new hierarchy of digital transmission than analog signals. Rapid progress is being made in
systems has been introduced to replace those based on “digitizing” the telephone transmission systems, but the
analog signals and frequency division multiplexing (see frequency hierarchy of analog signals shown in Fig. 4
MULTIPLEXING). Analog systems require the transmission of remains in use because of the large amount of analog
a signal that is an exact replica of the waveform produced equipment already installed. Fig. 4 illustrates how individ-
by the speaker or data device. The “standard voice chan- ual analog voice channels are combined into groups and
nel” is 4,000 Hz, including appropriate guardbands to then higher-level groupings formed to make better use of
Processor
Communications
Terminal Terminal Interface
Communications
Terminal Terminal
Interface
On-line
Storage
(14,400 Voice Channels) lation. Computing devices, including both terminals and
processors, communicate using binary signals, which
take on only two values, “zero” or “one.” In order for such
equipment to use analog circuits, a device must convert
the digital 0/1 signal into an analog form suitable for
transmission, and a reverse conversion must take place
at the other end of the circuit. The device performing this
conversion is known as a modem (q.v.) and is installed as
shown in Fig. 6. In the future, when the signals delivered
to the customer are digital, modems will no longer be
needed (see DSU/CSU).
SONET Line
OC-7 (e)
Fiber optic
multiplexing
terminal
lp n
Fiber optic
terminal
FT-3 Line
(a) DS-3(c), 44.736 mbps (4)
Multiplexer
2|3 7
Video 6.312 mbps '
(Video) telephone T-2 Line (0)
terminal (a) DS-2(c), 6.312 mbps (4)
Data Data
channel ehannel 1.544 mbps 1/21314
(Various terminal
rate)
communications. A January 1982 consent decree allowed delineation of hybrid services. Important questions were
AT&T to enter the data processing business; prior to that raised as to how much data processing could be con-
date, they were prohibited from doing so. sidered as “incidental” to the primary function of com-
Not long after completion of the initial computer munications. It has long been a function of some
inquiry, the FCC recognized that there must be a better communications systems (e.g. teletype) to store a mes-
sage at a switch before forwarding it to the next switch
or to the final destination. Questions are raised when
Digital (0/1) Signals the switch is used to hold the message and then deliver
it at some specific time in the future, to distribute it
Digital Digital automatically to multiple addresses, or to provide tem-
Device Device porary storage and on-line editing capabilities for mes-
Analog Signals sage preparation.
It was to address issues such as these that the FCC
FIG. 6. Use of modems in analog transmission systems. initiated “Computer Inquiry II” in 1976. In April 1980, the
COMMUNICATIONS AND COMPUTERS 203
Door contact sensing with its customer-owned terminals and modems, were
and control, additional
Word services enormous.
processing The next step in introducing competition into the
equipment /gm==eso Office computer U.S. telecommunications industry was the establishment
of specialized common carriers (SCCs) in the early
Telex Conference 1970s. These organizations were formed in response to
systems
the anticipated demand for large increases in the volume
Key Capa of data traffic. The SCCs were founded on the basis
telephones 333] Tie lines to
other PABX's
system = that they would build and operate long-haul communi-
cations facilities (primarily microwave) between major
Dial phones Fep Public exchange
lines cities and use the facilities of the local telephone
PABX company to provide the interconnection to the
Push button Paging customer’s premises. Although the SCCs were originally
phones equipment
formed to provide only data transmission services, they
later expanded their operations to include long-distance
Facsimile
SS = Dictation
A
equipment voice as well.
on, (OL
The 1970s also saw the introduction of value-added
Public address
equipment carriers as another class of supplier of communication
terminals =\ services. As contrasted to the “common carriers,” the
Data bank value-added carriers do not construct transmission facil-
Videophone ‘s)
ities such as microwave and coaxial cable systems. They
System management lease transmission services from the common carriers
and maintenance
center
and utilize these to implement a value-added network
(VAN) in which the “added value” may be features such as
switching, shared usage, error control, enhanced reliabil-
FIG 7. The future business communication system (PABX-Pri-
vate Automatic Branch Exchange). (Courtesy Arthur D. Little.) ity, and transmission speed and protocol conversions.
Two of the largest VANs are Telenet and Tymnet.
More recently, Congress has become directly in-
FCC released its decision on this inquiry. In this ruling, the volved in the issue of competition in the telecommunica-
FCC reversed its earlier decision to distinguish between tions industry. The present basis for the regulation of the
enhanced voice and enhanced data services. The key communications industries is the Communications Act of
points in this new decision on regulation of communica- 1934, which covers all forms of communications (broad-
tions and computer services are as follows: cast, in addition to common-carriers). Technological ad-
vances, as well as new economic factors, have rendered
e There are only two categories of network ser- the 1934 Act almost unusable, especially with regard to
vices— basic (the simple transferal of voices or telecommunications. As a result, legislation has been in-
data) and enhanced (communication services troduced in both houses of Congress to establish a new
combined with data processing). basis for the organization and regulation of the telecom-
e FCC regulation will apply only to basic services. munications industry.
Enhanced services will be unregulated.
e Terminal equipment of all types provided by com- Privacy Privacy has become an important public con-
mon carriers will be unregulated. cern, both legally and socially, that encompasses individ-
uals as well as organizations and companies. Although
the interest in privacy predates the computer era, the
Competition
combined effects of computer and communications are
For many years, competition within the communications raising the topic to a high level of sensitivity.
industry in the U.S. was almost non-existent. Rules and Governments and other agencies that deal with the
regulations of the FCC, as well as state and local regula- public, such as credit bureaus, have long maintained
tory bodies, established “regulated monopolies” within extensive records and files on both individuals and com-
specific geographic areas. Although interconnection be- panies. In the past, the sheer mass of those records and
tween the regulated common carriers was permitted, and the difficulty in accessing them for anything other than
even required to provide long-distance service, neither the purpose for which they were collected and organized
non-common carrier companies nor individuals were per- have been the primary protection against unauthorized
mitted to attach devices directly to the telephone system. use of that material. The development of the digital com-
The first change in this policy occurred in 1968 in the puter has provided the means with which to access mas-
Carterfone Decision, in which the FCC ruled that cus- sive records quickly and inexpensively, extracting both
tomer-owned equipment could be connected to the tele- specific as well as summary data. Advances in communi-
phone system as long as certain technical standards were cations have allowed such information to be transferred
met. Although the Carterfone case was precipitated by a from one record-keeping system to another so that infor-
desire to attach voice equipment to the telephone sys- mation collected for one purpose can be used for other
tem, the implications for the data processing community, purposes.
204 COMMUNICATIONS AND COMPUTERS
Predominant Flow of
oe Raw Data to be Processed
Other
United Predominant Flow of Technology First World
States and Media Products Countries
The 1970s and 1980s saw a growing awareness of the question (see Fig. 8). Although third world countries are
problems of privacy, and a number of privacy laws were most worried about becoming informatics-dependent
passed at the national and state levels, as well as in (see Fig. 9), they are not alone in their desire to insure
foreign countries. against losing control of information vital to national sov-
ereignty.
Political Issues The most significant political issue One result of the concerns over transborder data
resulting from the wide use of computers and communi- flow has been a number of stringent national regulations
cations is that of transborder data flow. As the use of on the exportation of data. International discussions have
communications to transmit data to remote computer been held primarily within the Organization for Economic
sites for processing and/or storage has become more and Cooperation and Development (OECD), which is focusing
more prevalent, the “data exporting” countries are highly on the protection and privacy of data crossing national
sensitized to the issues raised by data leaving their coun- borders. The Council of Europe is also very active in this
try. These concerns are threefold: area. The laws of some countries place such strong re-
strictions on the export of data that an international data
1. Concern that personal and corporate data that is circuit may be almost useless.
exported from one country for processing on
computers will not be protected by privacy laws
equivalent to those in the country of origin. Sim- Digital ‘’Raw’’
ilarly, there is aconcern that an “illegal” database Data Outflow @ Loss of Growth in D.P.
— Industry
(i.e. one not permitted in the country of origin) a — Profession
will be assembled in another country. Some Information — Revenues and Taxes
Retrieval @ Loss of Control Over
2. Concern by a lesser developed country that it — DP Facilities
become “data dependent” on another country — Data Protection
that could hold private as well as government
Technical @ Technical Domination
databases “hostage” in computer systems lo- Information Inflow = and Dependency
cated in the more developed country. ®@ Inappropriate Technology
@ Cultural Conflicts
3. Concern that the financial motivations for the
development of a local computer or data pro- Media @ Media Competition
Products Inflow - ®@ Lessened Govt. Influence
cessing industry will be curtailed by having such
services and products provided external to the
country. Reduced National Sovereignty
The degree of concern about each of these three aspects FIG. 9. The perspective of information dependent countries
is related to the level of development of the country in (Turn, 1979; p. 13).
COMPATIBILITY 205
Social Awareness As the public becomes more and Two compilers or language translators (usually on
more familiar with computers and their utilization and different computers) are said to be compatible if source
computers become even more widely available, there will programs written for a compiler on one computer will
certainly be changes in the means by which the general compile and execute successfully on the other. Similarly,
public obtains and uses information. A significant exam- two versions of the same compiler (on the same com-
ple of such a change is the action by the French telephone puter) are said to be compatible if a source program
authorities to abolish information operators in their sys- written for one version of the compiler will successfully
tem. To provide the directory assistance services that are compile and execute using the other version. If the com-
presently the responsibility of such operators, all tele- patibility extends in only one direction, we speak of “up-
phone subscribers are being provided with a data termi- ward” (older to newer) or “downward” (newer to older)
nal that will directly access the directory database and compatibility. Occasionally, specific programs will be said
obtain the desired information. Economic studies clearly to be compatible with specific computer systems when
suggest that such a change would be economically justi- they can be compiled or assembled and executed cor-
fiable. rectly using that computer system; but the more common
In the U.S., the most recent computer phenomenon use of compatibility in computing is applied to two ma-
has been the personal computer (q.v.). At first, these de- chines, two configurations, two operating systems, or two
vices were used in a standalone mode for limited applica- software packages with respect to the ease with which
tions. However, it soon became apparent that the programs or data can be converted from one to the other.
availability of databases that could be searched by such The term normally applied to a program to describe the
computers would be economically important. Such infor- ease with which it can be converted from one system to
mation depositories and sources as well as “personal another is portability.
computer networks” are beginning to appear. An isolated Upward compatibility refers not only to computers
home computer is not going to bea very potent force, but with respect to the programs that run on them, but also
when it is connected into a communications systems, it to the data that they accept and operate on. For example,
will undoubtedly cause fundamental changes in public a computer software system is said to be upward compat-
information habits. ible if identical data will produce identical results on a
Another example of coupling between computer more recent (hence, upward) version as on an older ver-
databases and the general public are the videotex (q.v.) sion, even though the newer version may also accept
systems, in which a portion of the television transmission additional forms of data. The term “identical” in this
time not presently required for picture transmission is context is somewhat utopian because it almost never is
used to transmit data to the home for display on the realized in practice.
television screen. A large number of “pages” of data are Manufacturers have historically extolled upward
available, and the local viewer can select a particular compatibility as an improvement of their small machines
portion of the information for examination. extended to their own larger machines, while minimizing
any compatibility (especially upward) between their
References machines and those of their competition. However, they
have been quick to point out the upward compatibility
1979. Lewin, L. (Ed.). Telecommunications: An Interdisciplinary
of their equipment as compared with that of the com-
Survey. Norwood, MA: Artech House.
petition. In fact, computing equipment and compilers of
1979. Turn, Rein (Ed.). TransborderData Flows 1 and 2. Arlington,
particular manufacturers have been deliberately de
VA: AFIPS.
1979. Uhlig, R. P., Farber, D. J., and Bair, J. H. The Office of the signed so that programs running on competitive equip-
Future—Communication and Computers. Amsterdam: North- ment can be easily converted to run on their systems.
Holland. Conversely, equipment and systems have also been
1991. Spragins, John D. Telecommunications Protocols and Design. designed to maximize the difficulty of converting pro-
Reading, MA: Addison-Wesley. grams so that they cannot be run on competing equip-
1991. Stallings, William. Data Computer Communications (3rd Ed.). ment or systems. The result has been that true
New York: Macmillan. compatibility is almost never achieved between equip-
PHILIP H. ENSLOW ment from different manufacturers.
Hardware component compatibility is an intensely
competitive area. Since many peripheral devices are
hooked to the computer by a relatively small number of
COMPACTI ON. See Data ComPRESSION AND COM- cables (usually with a plug, in fact), so-called plug-to-plug
PACTION. compatible peripherals have been developed by some
competitive firms. Their practice is to build one that
works exactly the same (and even has identical plugs on
the ends of the cables) as the original, but which can be
COMPATIBILITY profitably marketed at a lower price than the original.
For articles on related subjects see CROSS ASSEMBLERS AND Thus, potential customers exist wherever the original
COMPILERS; EMULATION; OPEN ARCHITECTURE; OPEN SYSTEMS IN- equipment was installed.
TERCONNECTION; PORTABILITY; SIMULATION: PRINCIPLES; SOFT- In contrast to the practice of minicomputer and main-
WARE ;and TRANSPARENCY. frame manufacturers who, historically, have resisted
206 COMPILER-COMPILER
process can be described using attribute grammars (AG). simultaneously. Documentation includes a language-
Then, the relevant component of a CC can transform the user’s tutorial and also a reference manual. The compiler
given AG into a running program that gives values to all will need a guide for users that tells how to install and run
attributes. During this evaluation, all the static and dy- it, as well as a maintenance manual.
namic semantics of the source program are computed. The principal implementation decisions for compile
Code generation uses all semantic information col- writers are those defining the internal data structures.
lected in the preceding phases, in order to translate the The most complex of these are usually for the symbol
source program into target language. It is the part of table and the optimizer flow analysis. The compiler itself
the compiler that is the most resistant to automation, consists of several distinct parts. Some parts can be
and truly general code generation generators do not used in any compiler; other parts can be used with
presently exist. What is meant by this term, instead, is small changes. Each part of the compiler is specified,
a generator for the translation between a standard and interfaces are defined. Identification of reusable
intermediate language and any target language. Systems components is now feasible. It is not unusual for a whole
do exist that provide for the description of the target new compiler to be written as a modification of an
language, and that can generate the code generator from existing compiler.
a predefined intermediate language. A system like ACK, All of the major parts of a compiler can be tested
for example, contains components for optimizing pro- alone, which means they can be written and run without
grams written in the intermediate language, as well as needing the rest of the compiler (Homer and Schooler
generators for assemblers, linkage editors, and target- 1989). This is convenient if more than one person is
oriented optimizers. working on the compiler. Standalone test harnesses are
also of great value during the maintenance stage in the life
References of the compiler after the original programmers are gone
and new programmers must learn to change it.
1988. Fischer, C. N., and LeBlanc, R. J., Jr. Crafting a Compiler.
Compiler construction is an engineering process.
Menlo Park, CA: Benjamin-Cummings Publishing Co.
1990. Holub, Allen I. Compiler Design in C. Englewood Cliffs, NJ: The ideal scenario presented below can usually be fol-
Prentice-Hall. lowed closely, but there are always departures as a con-
sequence of complications in the programming language,
OUIVIER LECARME the target machine, or the evaluation criteria which will
be applied to the resulting compiler.
source code IL target code Reducing Computing Costs The cost of comput-
ing provided the impetus for the second round of devel-
opments, leading to an emphasis on back-end technology.
Code optimization is the process of taking a program that
The unit of translation is generally less than a whole is correct and transforming it into one that is equally
program. One overriding reason is that the translation of correct but uses computational resources such as regis-
a program may consume more resources than the execu- ters (g.v.) and I/O devices more efficiently.
tion of that same program. If one had to translate it all at The evaluation criterion is efficiency—how fast does
once, the largest translatable program might be smaller the compiled code run? How much memory does it use?
than the largest executable program. No such limitation The evaluation method, so-called benchmarking (q.v.), isa
on what the computer can accomplish is acceptable. comparison between compilers over some mix of sample
In any case, after all translations are complete, there programs. Comparisons with hand code are only anec-
is another step, called linking, that takes the separately dotal—there is no longer any expectation that a large pro-
prepared parts, and perhaps elements from the run-time gram can be entirely coded in assembler. Benchmarks are
library, and finally puts the whole together in an execut- not particularly convincing—the results are dependent on
able form (see LINKER). the mix of test programs. Different application areas need
different mixes, and there is a tendency to tune a compiler
for the benchmark instead of for the application area.
executable
compiled code
Portability The most recent impetus toward regular-
modules E aloe, izing compiler construction has come from the economic
necessity to develop portable programs (see PORTABILITY).
The essential problem is to get an application im-
Evaluation Criteria The evaluation criteria for com-
pilers have gradually changed over the last 40 years. Early plemented on many target computers from only one de-
compilers were experimental. The programming language velopment effort. One technical response has been the
evolved while the compiler was being constructed. The rise of standards activities where the definition of a pro-
completed compilers were never left alone—the original gramming language is a document instead of a compiler.
authors of a compiler moved on, leaving the compiler in The problem is to get many back ends for one front end.
Compiler writers must meet the standard, even when
other hands, but these new hands fixed old errors, adding
features and introducing new errors. Programming lan- it is inconvenient or inefficient on their target machine.
guages were what their compilers did. Compilers were While, in the early days, a new feature in a programming
desirable if they were more useable than an assembler. language was seen as value added to the compiler, now a
The evaluation of compilers was expressed as a compari- customer is more likely to consider a feature beyond the
son with the mythical best hand code. The criterion was a standard as a barrier to easy migration of application
code quality ratio: speed of compiled code divided by programs from target to target, and compiler to compiler.
speed of best hand code. A rating of 1.2 was considered Compilers have been implemented by computer man-
excellent. ufacturers for their own products as a way of providing
productivity tools for their customers. Compilers built by
independent vendors, on the other hand, provide uniform
Programming Language Support The first im-
implementations on many different computers. The porta-
petus toward regularizing compiler construction came
bility evaluation criteria for a compiler are degree of con-
from a need to implement a wide variety of programming
formance to the standard, often measured by a test suite,
languages. It was felt that better languages might help
and the number of computers for which it is available.
high-level language programmers. The main variant was
the syntax, and the main result was a rapid increase in the
number of programming languages. The technical innova- Software Engineering It is likely that integration
tion was the separation of the front and back end of the with the software engineering (q.v.) process will form the
compiler and the development of front-end technology. next impetus in compiler construction. The size of applica-
The central idea was that many front ends could be writ- tion programs continues to grow. There are many pro-
ten to be used with one back end. grams approaching a million lines of source code. Often,
The lexical structure is processed by a scanner, several large programs are expected to cooperate, bring-
which can be hand written or can be derived from a finite ing the active code to perhaps 10 million lines. The parts of
state model taken from the lexical grammar. The phrase a megaprogram may be on dissimilar machines, remotely
structure is processed by a parser. As in the case of the connected by a network of imperfect reliability, in places
scanner, the parser can either be written by hand (using the programmer cannot go. The problems of building and
the so-called recursive descent technique) or derived from testing such artifacts are formidable. It requires an engi-
a context-free grammar (variants of LR technology, where neering discipline and tools that are able to deal with both
LR connotes a Left to Right scan). Front-end technology the technical definition and implementation, as well as the
was in place by the early 1970s and has been able to resource allocation and management problems that arise.
handle a series of increasingly complex programming lan- The tools of the programmer include text editors
guages. (¢.v.), browsers, analyzers, preprocessors (q.v.), source
COMPILER CONSTRUCTION 209
code managers, builders, debuggers, test generators, and guity. Recursive parsers are written in asystems program-
test harnesses. All of them need information that the ming language such as C (q.v.), with one recursive proce-
compiler can supply. The quality of a diagnostic or the dure for each nonterminal symbol of the phrase structure
speed with which a question is answered has economic grammar. They can be tricky to get right for a complicated
significance. The evaluation criterion is the time to make language. A parser generator accepts a grammar as input
and verify a change in the source program. Integration and generates a parser. It can be difficult to get the parser
across the toolset, and even across different program- generator to accept a hand-written grammar. Once gener-
ming languages—optimizing the compilers for program- ated, the parser is guaranteed to implement the grammar.
mer performance—conflicts with the traditional goals Parser generators are particularly attractive for stan-
and structures of compilers. dard languages for which standard LALR(1) grammars are
The software engineer needs, in addition, tools that published. Recursive parsers are more attractive where
aid in defining, documenting, and tracking projects. De- the implementor needs to be flexible, since any kind of
tailed history of activity within the source files, informa- information available can be used in a handwritten
tion about frequency and content of diagnostic messages parser, rather than the strictly grammatical input to the
issued by the compilers, and audit trails are all examples LALR(1) processors. No generator is needed for recursive
of information produced for the software engineer by descent. Some LALR(1) processors allow the user to in-
integrated tools. tervene in the table generation to achieve flexibility at the
cost of invalidating the guarantees.
Front-end Technology A grammar describing the Generated parsers have a better chance to continue
lexicon of a programming language may be 100 lines long. parsing after a syntax error because there is an error-
The scanner produces a stream of tokens from the source repair algorithm that is soundly based on the grammar
text, one for each significant lexical object, such as an and straightforward to implement. Both technologies
identifier (g.v.), constant, delimiter (g.v.), or separator. are likely to continue in use. Parsers can be written so
The implementation of a scanner for the lexicon may be that the rest of the compiler is independent of the
1,000 lines of source code and may take a few days to choice—a recursive parser can be taken out and a
implement. A scanner can also be implemented by pre- LALR(1) parser substituted, without making any other
senting the grammar as input to a scanner generator. The changes. Often, the writers of recursive parsers combine
output of the scanner generator is a compiler module— the parser and generator, which makes the later substi-
generally in the form of some tables and functions (see tution of a different parser much harder.
COMPILER-COMPILER). The generatoris a mechanism to generate an interme-
The efficiency of the scanner is often critical—it is diate form (in an IL) of the program. The IL is designed to
the only component that examines each source character. simplify the final steps of compilation. An IL may carry
Generated scanners are less efficient than hand-written only executable information, or it may also carry declara-
scanners. Thus, scanner generators are not always worth tions (g.v.). The generator is driven by the sequence of
the trouble to acquire, learn, and use, and in any case the tokens and rules from the scanner and parser. The form
scanner is a small part of the whole problem of compiler of the ILis usually an abstract syntax tree or linear pseudo-
implementation. code with target machine addresses in symbolic form.
A grammar describing the rest of the structure of a
programming language may be 300 or more lines long. Back-end Technology The back end takes the in-
While the lexical structure rarely holds surprises, the formation gathered during source analysis and emits the
implications of a phrase structure grammar are often target code. The symbol table is a mechanism designed to
difficult to see. The reduction rules of the grammar are collect information about the symbols in a program. The
repeatedly applied to a source program, reducing it step function of the symbol table is to deliver that information,
by step until the entire program is reduced to a unique properly resolved in terms of the scope rules of the lan-
grammatical goal symbol. The part of the compiler apply- guage, to the code emitters. Typically, the information
ing the rules is called a parser. includes the data type of the symbol, its initialization, its
The sequence of applied rules is the principal infor- machine location, and anything else of use to the rest of
mation supplied by the parser. Some abstraction of the the compilation process. It is often convenient to record
rule sequence is presented by the front end to the back the information found in the source code as an abstract
end of the compiler. The rules can be presented as a syntax tree of the corresponding declaration. The rest of
the information about a symbol is derived by routines in
sequence of integers (the rule numbers) or as a syntax
case, there must be some special the back end. Derived information can be tabulated by
tree. In the former
amending the tree, or alongside the tree in another data
mechanism to associate the contents of identifiers and
structure. A most common symbol table action is table
constants with the rules reducing them.
look-up; thus symbol tables are written to make look-up
There are two principal technologies for implement-
ecursive descent and an LALR(1) parser fast. It is an arbitrary choice whether to generate the
ing parsers—r
symbol table in the front or back end.
generator (Aho et al. 1986). An LALR(R) parser is a Look-
Ahead LR grammar that may look ahead R characters to
the right of the current character being analyzed. Looking
Emitting Target Code Ifa high degree of optimiza-
tion is required, the IL may provide hooks for control flow
ahead one character, hence LALR(1), is sufficient to parse
analysis, permitting the compiler to improve the code for
the grammars of most high-level languages, without ambi-
210 COMPLEMENT
a statement based on knowing what statements come ware targets. Networking, parallelism, and pipelining, for
before and after. It also allows the compiler to locate the instance, introduce new problems that do not yield to the
paths expected to be most frequently executed, enabling kinds of analysis developed for sequential machines.
a choice between optimization based on which one will
help most often. The output of the emitter may be assem- Conclusion There are various important criteria for
bly language, in which case an assembler (q.v.) will later compiler excellence. The ideal compiler has a table-
build an object module acceptable to the linker, or the driven front end that can accept any reasonable language,
output may be the object module itself. a table-driven back end that can make good code for any
Transformations of the program for optimization may reasonable computer, and a single universal IL to describe
be carried out on an intermediate language form, or on the the interface. The engineering process to change the
target code, or both. The transformation and analysis source or target is routine and inexpensive. The compiler
techniques, in order of complexity, are instruction choice, is an acceptable component of software engineering envi-
local transformations, and transformations over larger ronments that are designed to assist teams of program-
regions of the source program based on flow analysis. The mers building complex programs.
most common case of a local transformation is the com- Because these goals are to some extent in conflict,
putation of constant expressions at compile time. Another the ideal compiler does not exist, but compilers are de-
local transformation eliminates repeated computations signed to approach the ideal, perhaps giving up a little in
by having them done once and then providing for the some areas in order to attain excellence in others.
result to be used more than once.
Instruction choice and local transformations can be References
table driven. The effect is to remove target machine depen-
1976. Lewis, P. M., Rosenkrantz, D. J., and Stearns, R. E. Compiler
dency from the implemented code of the emitter, and,
Design Theory. Reading, MA: Academic Press.
instead, place it in more accessible and modifiable tables
1986. Aho, A., Sethi, Ravi, and Ullman, J. D. Compiler Principles,
external to the compiler proper. For simple target comput-
Techniques, and Tools. Reading, MA: Addison-Wesley.
ers, the choices depend only on the costs of the individual 1989. Homer, W., and Schooler, R. “Independent Testing of Com-
instructions. There are more complex situations where piler Phases Using a Test Case Generator,” Software—Practice
the interactions between instructions may be the domi- and Experience, 19, 1, January) 53-62.
nant effect. The most common case of interaction is the 1991. Pagan, F. G. Partial Computation and the Construction of
need of some one emitted instruction to wait for a result Language Processors. Englewood Cliffs, NJ: Prentice-Hall.
being produced by an earlier emitted instruction.
WILLIAM M. MCKEEMAN
For performing multiplication and division, there are Until the late sixties, no one seems to have asked
no direct advantages to the complement form and some whether two matrices could be multiplied in fewer than
disadvantages. However, the adjustments to algorithms eight scalar multiplications. Then Strassen showed that
for multiplying or dividing two positive numbers to allow seven scalar multiplications are sufficient by introducing
them to handle operands in complement form are not the following algorithm:
major. Alternatively, negative operands in multiplication
or division can first be complemented and then the appro- Py = Gy, + Qyq) Oy, + Oy9), Pp = (Aq, + Ag9) 5y),
priate sign can be appended at the end. P3 = 4), (by. — by»), Pa = A(—b,, + 5),
Most modern computers store negative numbers in Ps = (Ay, + Gp) Doo, Pg = (—ay, + ay,) ©, + 5,2),
either 1s or 2s complement form, with the latter gradually Pz = (Qy2 ~ Gg) (62, + 5y»),
becoming predominant, likely because of the unique 0 in Cy =P) + Py - PstPp Ciyp = P3+ Ps
2s complement. Otherwise, which of the two forms to Coy = Po + Py» P22 = P, + P3 — P2 t+Py
choose depends upon some rather subtle and by no
means conclusive considerations concerning the details Consider next the multiplication of N x N matrices.
of computer circuitry. The classical algorithm uses N° arithmetic operations. (in
this article, we disregard multiplicative constants in giv-
ANTHONY RALSTON
ing algorithm cost.) By repeated partitioning of N <x N
matrices into 2 X 2 submatrices, two matrices can be
multiplied in N '°%" ~ N25! arithmetic operations.
After a decade, during which there was practically no
COMPLEXITY. see ComputarionaL COMPLEXITY; IN-
FORMATION-BASED COMPLEXITY; and NP-COMPLETE PROB-
progress on decreasing the number of arithmetic opera-
LEMS. tions used in matrix multiplication, Sch6nhage and Pan
[1979] showed that NV? arithmetic operations are suffi-
cient. Since then, there has been steady progress in reduc-
ing the exponent. The best result known, due to
COM P RESSION. See Data CompreEssiON AND Com- Coppersmith and Winograd [1987], is N7°".. The exponent
PACTION. 2.376 is the state of our knowledge as of 1991, but re-
searchers expect that the exponent will be further de-
creased.
The above results are of theoretical rather than
COMPUTATIONAL COMPLEXITY practical value. The value of N has to be enormous
For articles on related subjects see ALGORITHMS, ANALYSIS before the new algorithm becomes faster than the clas-
OF; ALGORITHMS, THEORY OF; FAST FOURIER TRANSFORM; INFORMA-
sical one. On the other hand, there are some problems
TION-BASED COMPLEXITY; MATHEMATICAL PROGRAMMING; NP- for which new algorithms have had profound influence.
COMPLETE PROBLEMS; and TURING MACHINE. A good example is provided by the finite Fourier trans-
form on N points. The Fast Fourier Transform (q.v.) uses
Computational complexity is concerned with the only N log N arithmetic operations, compared to N° for
determination of the intrinsic difficulty of mathemati- the classical algorithms. Since N log N is much smaller
cally posed problems that arise in many disciplines. than V for even moderate values of N, and since the
The study of complexity has led to more efficient finite Fourier transform is often needed for a large
number of points, the introduction of the Fast Fourier
algorithms than those previously known or suspected.
We begin by illustrating some of the important ideas Transform has revolutionized computation in a number
of computational complexity with the example of matrix of scientific fields.
multiplication. Using the matrix multiplication example, we can now
introduce some basic terminology. The minimal number
of arithmetic operations is called the computational com-
Computational Complexity of Matrix Multi-
plexity (or problem complexity or just complexity) of the
plication Consider the multiplication of 2 x 2 matri- matrix multiplication problem. The complexity of matrix
ces. Let
multiplication is unknown. An upper bound is N23"5, A
lower bound is N°. Since this lower bound is linear in the
Ae ceo? es By, Oy» Gee number of inputs and outputs, we say it is a trivial lower
a5, 459 By, By» |’ Co1 a9 bound. No non-trivial lower bound is known.
Algorithm complexity is the cost of a particular algo-
Given A, B, we seek C = AB. rithm. This should be contrasted but not confused with
The classical algorithm computes C by problem complexity, which is the minimal cost over ail
possible algorithms. Fast algorithm is a qualitative term
Cy) = 4), Dy, + ay by), Cp = Gy; Dy, + Ay By», meaning faster than a classical algorithm or faster than
Coy = Gg) By, + Ay by), Cop = Gy) Dy, + yy Dy, previously known algorithms. An optimal algorithm is one
whose complexity equals the problem complexity.
at a cost of eight multiplications. (The addition time is Table 1 summarizes the present state of our knowl-
considered to be relatively trivial.) edge concerning matrix multiplication.
COMPUTATIONAL COMPLEXITY 213
TABLE 1. Summary of Matrix Multiplication order N whose matrix is positive definite and has
See ge eg ae a re condition number bounded by M.
upper bound N2376 8. Find the closest neighbor of P points in K dimen-
lower boound N? sions.
complexity unknown
9. Compute the first N terms of the Qth composite
optimal algorithm unknown
of a power series.
10. Compute the first N digits of a (for, say, N =
20,000,000).
ever, there is a small probability that the randomized speed-up theorem is proved by using diagonal arguments
algorithm will incorrectly output that an integer input is similar to those used to establish the existence of unde-
prime. Other problems where randomized algorithms are cidable problems.
useful include fault detection in digital circuits, routing of
messages in distributed networks, interactive proofs, and Conclusions Computational complexity deals with
coordination of processors in an asynchronous system. the fundamental issues of determining the intrinsic diffi-
Another way in which an intractable problem may be culty of mathematically posed problems. Through the
made tractable is to settle for an average case assurance study of complexity, it has been established that certain
(i.e. we consider the complexity averaged over a set of problems are intrinsically hard. On the other hand, for
inputs). For example, Klee and Mintz showed that, in the some problem areas new algorithms have been intro-
worst case, the simplex algorithm for linear programming duced that are far superior to any previously known.
has exponential cost. However, Borgwardt [1982] and Problems occurring in a rich diversity of disciplines are
Smale [1982,3] showed that the average cost of the sim- being and will be subjected to complexity analysis.
plex algorithm is polynomial. Note that this is an algo-
rithm cost result, rather than a problem complexity References
result, but it reveals the power of looking at average
1975. Borodin, A. and Munro, I. The Computational Complexity of
behavior.
Algebraic and Numeric Problems. New York: American Elsevier.
1979. Garey, M. R. and Johnson, D.S. Computers and Intractability.
Axiomatic Complexity Theory We discuss an ab- San Francisco: W. H. Freeman.
stract complexity model based on two axioms. Let T,(x) 1990. Corman, T. H., Leiserson, C. E., and Rivest, R. L. Introduction
denote the cost of algorithm A applied to the input of to Algorithms. Cambridge, MA: MIT Press.
integer x. Assume that 7,(x) satisfies the following two
JOSEPH F. TRAUB
axioms:
people are between 180 and 200 centimeters tall and This intersection can be computed in O(n + m) time. A
weigh between 60 and 75 kilograms” can be thought of as star-shaped polygon has the property that there exists a
asking how many plotted points lie in a given rectangle, point P such that the line segment from P to any other
where the x-axis represents the height and the y-axis the point in the polygon lies entirely within the polygon.
weight. Finally, the problems of eliminating hidden lines Fig. 1b shows that the intersection of two star-shaped
and surfaces in computer graphics is an inherently geo- polygons can produce many small polygons, in fact 0(mn)
metric problem. of them. Thus, the best algorithm to compute this inter-
Computational geometry deals with questions of section is doomed to being 0(mn) in the worst case.
how to compute various aspects of geometric structures. Another aspect of geometric problems is dimension-
Many brute force algorithms for solving geometric prob- ality. Any failed artist will testify that it is easier to visual-
lems can be improved by algorithmic techniques and ize objects in two dimensions than three. The distinction
more sophisticated data structures. To a larger extent between dimensions is more substantial than just visual-
than most traditional algorithmic problems, efficient so- ization, however, as objects in different dimensions have
lutions often rely on a combinatorial understanding of the different properties. For example, polygons in two dimen-
problem—for example, knowing how many regions of a sions have the same number of vertices as edges, so the
certain type can be formed by an arrangement of rn lines. edges can be described by simply listing the vertices in
Geometric algorithms must often cope with compli- order. In three or higher dimensions however, polyhedra
cations that do not occur in such related areas as graph have more edges than vertices, and more complicated
algorithms. Even very primitive problems, such as testing data structures are needed to represent them.
whether two line segments intersect, are complicated by One of the main paradigms of geometric algorithms
degenerate data. If two segments overlap or share an uses a sweep line to process all of an object’s points in a
endpoint, do they intersect? The correct answer depends systematic way. We will illustrate such algorithms by
on the application. To avoid such problems, it is often computing the convex hull of a set of n points in two
assumed that the points representing the data are in dimensions, which is the convex polygon smallest in area
general position, meaning that no three points lie on the that contains all of the points. If we could stretch a rubber
same line. band around all the points and let go, the rubber band
The complexity of a geometric algorithm depends on would “compute” the convex hull of the point set.
the type and size of the geometric objects being dealt Jt is easy to see that the convex hull of any three
with. For example, consider determining the intersection points is the triangle they define. If we add another point
between two polygons A and B with n and m vertices to the point set, it will change the convex hull if and only
respectively. A convex polygon has the property that the if it lies outside the original hull. Any of the old hull
line segment between any two points in the polygon lies vertices that lie within a triangle formed by two hull
completely within the polygon. The intersection between vertices and the new point cannot be on the hull, and
two convex polygons is itself a convex polygon (Fig. 1a). must be deleted. Suppose that we sort the points in
(a)
increasing order by the x-coordinate (and thus process FIG. 3. A Voronoi diagram and its Delaunay triangulation.
them them from left to right, as shown in Fig. 2) and store Black dots are original points. Dotted lines form Voronoi poly-
them in a doubly-linked list. When we add a new point v, gons and solid lines form Delaunay triangles.
we can start from the rightmost hull point and walk
around the hull, deleting points from the list until the
internal angle each vertex makes with v and its hull neigh- triangulating the plane. The resulting Delaunay triangula-
bor ensures convexity. Because we delete each point at tion is itself useful for other geometric problems.
most once and otherwise do a constant amount of work Computational geometry is a young field, and re-
in each insertion, we can determine the convex hull in search is continuing. Directions of current work include
O(n) time once we do the sorting in O(n log n) time. The more robust algorithms in the face of degeneracy, faster
sweep line permits the fast deletion by telling us where to algorithms in higher dimensions, and algorithms that are
start looking. output-sensitive (e.g. polygonal intersection problems
Another important idea in computational geometry is that are faster when the intersection has only a few
duality—that two seemingly distinct problems are really edges).
the same. For example, suppose we want to test whether
any three lines in an arrangement ofr lines intersect in the References
same point. This can easily be done using a sweep-line
1985. Preparata, F. P., and Shamos, M. I. Computational Geometry:
algorithm that moves from left to right, stopping at each
An Introduction. New York: Springer-Verlag.
point of intersection. It would appear more difficult to test
1987. Edelsbrunner, H. Algorithms in Combinatorial Geometry.
whether any three of a set of n points lie on the same line, Berlin: Springer-Verlag.
since it appears that we have to test every subset of three 1988. O'Rourke, J. “Computational Geometry,” Annual Review of
points. There is a simple mathematical transformation, Computer Science, 3 Annual Reviews, Inc., 389-411.
however, that can be used to convert a point to a line and
a line to a point. Thus, we can solve the three-points-on-a- STEVEN S. SKIENA
line problem by transforming it to the question of three
lines meeting at a point and use the sweep line algorithm
to solve it. The transformation to a dual problem provides COMPUTATIONAL LINGUISTICS.
a different point of view that leads to a more efficient
See PROGRAMMING LINGUISTICS; and SYNTAX, SEMANTICS,
solution. AND PRAGMATICS.
_ Other geometric algorithms involve interesting inter-
mediate structures. Consider a dispatch system for a
chain of stores such that, when a customer phones, it can
quickly be determined which store is nearest to the caller. COMPUTER-AIDED
The Voronoi diagram of a set of n points divides the plane DESIGN/COMPUTER-AIDED
into convex regions such that all points in the same region
are nearest to the same point from the set. (Fig. 3). Algo-
MANUFACTURING (CAD/CAM)
rithms for such nearest neighbor queries build the For articles on related subjects see; COMPUTATIONAL GEOM-
Voronoi diagram in O(n log n) time and then do a point ETRY; COMPUTER-AIDED ENGINEERING; COMPUTER ANIMATION;
location query to determine which region contains the COMPUTER GRAPHICS; COMPUTER-INTEGRATED MANUFACTURING;
point in O(log n) time. FINITE ELEMENT METHOD; ROBOTICS; and WORKSTATION.
Voronoi diagrams have many other interesting and
useful properties as well. Suppose we take a Voronoi Introduction Computers have aided the closer inte-
diagram and connect all pairs of points that share an edge gration of design activities with the actions required to
in the diagram. All the regions in this new construct are manufacture goods, and many of the systems used to
triangles which collectively, represent a particular way of provide these aids have been called CAD/CAM systems.
COMPUTER-AIDED DESIGN/COMPUTERAIDED MANUFACTURING (CAD/CAM) 217
HINGE BASE
scanner can be used for 2-D data capture, with data auto-
matically entered into the database. This data is then
available for further modification (or editing). In addition
to this type of scanner, hand-held or movable scanning
(or “digitizing”) devices are available. These allow the
locations of points to be input. They can be moved to
various points on 2-D or 3-D models. At a desired point,
the user causes the device to sense the location of the
point and enter it into the database. After the points are
entered, CAD functions can be applied to create smooth
lines, curves, or surfaces between the points. These lines,
curves, or surfaces can then be used with the points for
further design or for interfacing with CAM functions.
Fig. 6 shows an interesting example of this technique. The
key to this process is the variety of functions available to
the designer to carry out actions in creating the design.
As computers and disks (used for storage of the
database) have grown larger, there has been a trend to
use true 3-D geometric databases and to use solid models
(see Figs. 2 and 3). Manufacturing process planning must
usually deal with solids and with manipulations on them,
so solid models are a significant advantage in going from
CAD systems to CAD/CAM systems.
The primary benefit of CAM is the use of the com-
puter description of the part(s) to drive cutting, forming,
and other operations in a manufacturing environment.
Manufacturing personnel are concerned with deciding
how the part will be manufactured. One of their concerns
FIG. 6. Asurface representation of a face, serving as the start is the determination of tools, materials, and methods that
of design of a fire protection mask. The physical sculpted will be used to cut, form, and/or finish the part. Fig. 7
model was digitized (scanned) to produce 3-D data points,
shows ascreen display of a tool path generation program,
which were then used to create surfaces. The display shows
which aids in this process. In addition, databases for
the computer-generated surfaces.
220 COMPUTER-AIDED DESIGN/COMPUTER-AIDED MANUFACTURING (CAD/CAM)
recognized standards in order to encourage widespread ing the quality of design and the quality of the manufac-
data sharing and use throughout an organization. To en- tured result.
hance data sharing, many CAD/CAM packages allow user- There is a trend toward even tighter ties between
written packages to access the database. CAD and CAM, because systems are starting to incorpo-
rate aids to enforce rules of manufacturability during the
Software Common to all CAD/CAM software are the design process. These aids are inspired by artificial intel-
functions to store and manipulate the geometric data, or ligence (g.v.) work in expert systems (qg.v.). These sys-
model of the part or assembly. The area of geometric tems ensure that manufacturing constraints are not
modeling continues to be an area of intense development violated, that parts can be produced by an organization
and study in an effort to define better all aspects of the with the tools it has on hand, and that classes of products
object being modeled. can be designed once, with parameters distinguishing the
Initial CAD/CAM models grew from 2-D systems rep- individual particular members of the classes. These pro-
resenting drawings to 3-D systems representing objects grams, termed constraint-based modelers, allow designs
defined by lines, curves, circles, and points located in 3-D to be optimized for specific parameters. For example, a
space. Actual surfaces on the part were defined in second part could be designed to optimize the strength of a
generation systems in the 1970s; the surfaces allowed the specific feature while minimizing part weight. Typically,
design and manufacturing of more complex shapes as the the constraints are given a priority and the CAD/CAM
CAD/CAM data was used to model smooth-flowing sur- system assists in the design of the part based on selected
faces where accuracy was critical (see Fig. 2). The plas- features required in the design.
tics-forming industry has made wide use of surfaces in the
definition of aesthetically pleasing shapes and the con- Using CAD/CAM Data In Applications Many
struction of molds for their manufacture; the common applications that use CAD/CAM data have introduced
desk telephone handset is a good example. See Fig. 10 model-based tools in new areas of a firm. Use by people
(color insert page, CP-2) for another example. who had never before been exposed to CAD/CAM systems
Designing with solid shapes has always been attrac- put special requirements on the user interface (q.v.) of the
tive due to the ability of solids to define an object unam- design tools. In the past, a relatively small group of de-
biguously and to present a complete definition of the signers worked with the CAD/CAM packages, and exten-
outside surfaces used in manufacturing operations. The sive training was available to help users become expert in
drawbacks of solid-based modeling systems have been system use. As the use of CAD/CAM systems grew, less
the large amount of computing resources it requires and frequent users found a need to use the systems—users
the inability to represent free-form surfaces such as those who could not justify extensive training in system use.
used in automotive body-panel design. With the advent of This was especially true of those systems sold through
high-powered technical workstations, sufficient comput- retail outlets for the personal computer market. Modern
ing power is available, allowing solids that model systems systems are increasingly easy to use, through the use of
to respond more quickly to user commands. Im- windows and pop-up menus on technical workstations
provements in solids modeling techniques has allowed and the inclusion of on-line help facilities, all in an effort
general surfaces to be supported, greatly increasing the to encourage additional CAD/CAM use.
types of objects that can be modeled quickly (see Figs. 3 The importance of CAD/CAM has increased because
and 4). the use of the model data has gone beyond its original use
One advantage of a solids modeling system is the as a record of the design. Many applications have been
wide range of analysis programs that can be used in developed that enhance the functions that can be done by
conjunction with the model data; common analyses in- the basic system, allowing the CAD/CAM database to be
clude mass calculations and structural analysis. While used across many functional areas in the design, manu-
these analyses can be done on selected models devel- facturing, and assembly processes.
oped with surfaces, a solids model is assured to always
be “well-behaved,” since it is unambiguous with regard to NC Applications The use of CAD data to program
shape and behavior. Rendering applications provided by NC machines was one of the first manufacturing applica-
many solids modeling systems realistically display the tion areas. This area of activity was pioneered by the
modeled object, with the various materials displayed aerospace industry, using the Automatically Programmed
with reflective parameters matching that of the metal, Tool (APT) language. This is a language used to describe
plastic, or surface finish used on the actual part. the operations and path of a machine tool or NC lathe in
Further improvements to the design process are the cutting of a part from a piece of stock. Modern CAM
being obtained through the use of feature-based and con- software allows the cutter path to be programmed, using
straint-based modeling systems. Usually based on solids graphic aids without the use of a separate language. With
modelers, feature-based systems help in the design of increased use of surface and solid models, artificial intel-
standard features in parts. The nature of the features will ligence methods are used to develop manufacturing pro-
depend on the industry of the user, but could involve grams with minimal user involvement. These techniques
standard hole sizes, specific threads on threaded parts, are based on the recognition of features in the object,
or standard configurations for machined pockets in an such as drilled holes, machined pockets, and specified
airframe structural part. By using standard features, mod- tolerances; the features require specific operations,
ular manufacturing processes can be employed, improv- which are automatically invoked.
222 COMPUTER-AIDED ENGINEERING (CAE)
take analyses that were previously impractical to at- and buckling conditions can be analyzed. Special
tempt. However, early computer systems were too slow programs also exist for analyzing beam and grid
and limited in capacity (memory, storage, I/O speed) to structures, such as those used in building framing,
handle extremely large or complex systems. While they ships, bridges, and other similar systems.
provided a base for new, more extensive design evalua- e Thermal analysis of a structure’s behavior when it
tions, many of the historical problems remained and new is subjected to heating and cooling.
problems arose. These included limited access to expen- e Combined structural and thermal analysis.
sive computing systems and difficulties describing the e Plastic mold and part analysis that examines vari-
physical form of designs in a way that computers could ous factors having to do with mold filling and the
work with them. Most early analysis programs used sim- shape of the molded part. Mold analyses include
plified, schematic-like descriptions of the physical sys- plastic flow into the mold and mold cooling.
tem. It was impossible to describe any but the simplest Shrinkage and warpage can be predicted for fin-
systems geometry within the computing environment. ished parts.
With the advent of computer-aided design and com- e Fluid mechanics analysis of the flow of fluids, such
puter-aided manufacturing (CAD/CAM - g.v.) in the early as air, water, and lubricants around the surfaces of
1970s and the rapid advancements in computer system an object. Pressure, fluid velocity, and other fac-
performance from 1960 to the present, most technolog- tors can be determined.
ical barriers to CAE have fallen. An engineer can now
have enough computing power on his or her desk (or In the FEM, a model of a component or assembly (see Fig.
next to it) to solve any but the largest of problems. For 1, color insert page CP-3) is decomposed into discrete
extremely complex problems, supercomputers (g.v.) may pieces called the finite element mesh. Loads and support-
be employed. ing constraints are applied at mesh locations. The finite
Engineering workstations (q.v.) provide extensive element modeling software creates a series of simulta-
computing power with high-resolution, high-speed graph- neous linear equations that relate each mesh element to
ics systems at very reasonable and continually decreas- its neighbors. Very complex problems can be analyzed by
ing cost (as little as $10,000 in 1991). solving these simultaneous equations iteratively.
Three broad areas of engineering discipline are sup- Triangular mesh elements are the easiest to create
ported by CAE: mechanical, civil, and electrical. In a typi- and analyze and are the most often used, but engineering
cal situation, an engineer will use a CAD/CAM system to workstations can process much more complex mesh
develop a model of a system (be it mechanical, electrical, types, leading to higher accuracy and, in some cases,
electromechanical, or otherwise) that is to be analyzed. to more easily defined models. Parts modeled as plates,
Other required data, such as a finite element mesh, me- surface shells, or solid models (see Fig. 2, color insert
chanical properties, and loading, are then developed on page CP-3) can be meshed with elements that include
or linked to this geometric description of the system. The two- and three-dimensional triangular and rectangular,
analysis software is used to analyze this combination of parabolic, tetrahedral, quadrilateral, shell, solid, and
model and related data, with its results presented to the beam elements. The mesh can be created manually
engineer in various forms: tabular, graphical, animation, (usually in an interactive mode with the mesh building
changes to the geometric model, etc. program) or automatically by the program with manual
refinements.
Loading conditions may include point, distributed,
Mechanical Engineering Applications torque, hydraulic, and others. Supports can be anchored,
free, pin, hinge, slider, and most other kinds of mechani-
cal connections (see Fig. 3, color insert page CP-3).
Volume Properties Various volumetric properties can Several schemes are used to increase finite element
be computed directly for solid and surface models in analysis (FEA) accuracy and reduce computational re-
most CAD/CAM systems. These properties include quirements. These include feature suppression and adap-
lengths, areas, and volumes as well as mass, centroid, tive meshing. In feature suppression, the geometry of a
first and second moments of inertia, and products of part model that is to be analyzed is simplified by tempo-
inertia. In many CAD systems the results of this analysis rarily removing features (holes, bosses, flanges, etc.) that
can be transferred directly into structural and mecha- the analyst feels are not going to have an appreciable
nism analysis applications where they are required as impact on the overall validity of the FEA results. Since
data. A few systems can compute volumetric properties these types of features usually produce highly complex
for components consisting of composite materials. mesh structures that unnecessarily increase the number
of simultaneous equations to be solved, their removal
Finite Element Method (FEM) Finite element methods shortens the solution process. Adaptive FEM systems
are used to perform several types of engineering analy- automatically refine the mesh definition in areas of detail
ses. These include: that contribute to high stress or other qualities or
coarsen the mesh in areas of less stress. These refine-
e Structural analysis of a component’s behavior ments provide increased accuracy and shorter process-
under various kinds of applied loads and supports. ing time, respectively. This process is done as a
Linear static, modal, dynamic, forced response, closed-loop—analyze the object, refine the mesh, ana-
224 COMPUTER-AIDED ENGINEERING (CAE)
lyze, refine, etc.—until the results converge to a user-de- Rapid Prototyping Rapid prototyping is a recently de-
fined tolerance. A few systems offer design optimization, veloped technology that allows a special machine tool to
in which the results of the analysis are used to modify the produce physical prototypes of very complex objects.
geometric model automatically in order to match a design Although several technologies are now used for this pro-
goal such as, for example, obtaining the lowest weight cess, stereo lithography was the first and remains popu-
that will withstand the specified loading conditions at a lar. In stereo lithography, the prototype is built up in thin
particular safety factor. layers by slicing the geometric model into cross-sections
Both standalone FEM/FEA systems and CAD/CAM and using a computer-driven laser to harden layer upon
systems support simulation and display of results. A typ- layer of a polymer solution, each in the shape of a partic-
ical display for a structural analysis might show the geo- ular cross-section. These models are used to evaluate the
metric model overlaid with stress contours, with color appearance of the designed part and to verify its fit with
indicating the magnitude of the stress (see Fig. 4, color other parts and its manufacturability. A few rapid pro-
insert page CP-3). Another type of display frequently used totyping systems are being evaluated as low-quantity
is an animated view of the model as it deforms under manufacturing systems.
cyclical loading. These types of display can be combined
to produce simulations that are relatively easy for the Civil Engineering Applications Most of the anal-
engineer to understand, making the reading of large tables ysis tools mentioned are also used in the field of civil
of stress values unnecessary. engineering. However, a few special areas exist that do not
have direct counterparts in mechanical engineering.
These include surveying, earthworks, piping, and map-
Mechanism Analysis Mechanism analysis studies the ping.
behavior of mechanical systems undergoing motion. In the area of piping plant design, structural engi-
These systems may be comprised of rigid and flexible neers use systems similar to those used by mechanical
parts and their interconnections. Typically, the geometry, engineers. In roadway design, cut-and-fill and other earth
mass, inertia, compliance, stiffness, and damping of the moving computations are done in combination with digi-
system’s components as well as the forces and loads tal terrain mapping. Most surveying functions, such as
applied from outside the system must be defined. Equa- triangulation and elevation computations, are now com-
tions of motion are developed and solved. The results of puterized, with data being collected in computer form in
the analysis may include positions, velocities, accelera- the field via electronic instruments. Map making and anal-
tions, forces (applied, reactive, and inertial), determina- ysis are also largely computerized.
tion of equilibrium positions, and other computed
parameters. These results can be displayed as tables, Electrical/Electronic Engineering Applications
charts and graphs, overlayed drawings of position vs. Electrical and electronic engineering applications use
time, and animations (see Figs. 5 and 6, color insert page some structural and thermal analyses, as described
CP-3). Historically, analyzing systems of rigid bodies un- above; however, this discipline uses many specialized
dergoing large-amplitude motions was impractical. Early analyses for circuit design, VLSI device design, and simu-
computerized systems could handle rigid body motions lation (g¢.v.). A few of the major mechanical CAD/CAM
involving large-amplitude rotations and translations in systems have some electrical CAD capabilities, but elec-
two dimensions. Current systems are capable of kine- tronic CAD (E-CAD) products are the best choice for elec-
matic, static, and dynamic analysis of three-dimensional trical/electronic analysis. Many types of electrical analog,
rigid and flexible bodies undergoing large displacements digital, and mixed devices can be simulated. Simulations
and coupled rotations and translations. allow design engineers to test a design for a circuit board,
Mechanism analysis programs can accept geometric VLSI chip, or other electrical device before it is committed
data from FEM/FEA programs, analyze the motion of a to manufacturing. In some cases the computer simulation
system, and return appropriate loading and force data to will supplant altogether the building of a prototype. Avail-
the FEA program for use in determining component de- able analyses include gate level, switching, electrical
flections. Mechanism analysis can also be linked to con- level, analog-to-digital conversion, statistical (worst
trol system design and analysis. The control system’s case), and sensitivity-based simulations. Control systems
responses to mechanism behavior can be programmed that combine electrical and mechanical or hydraulic con-
and fed back to control the mechanism’s reaction. Control trols can also be simulated. Other electrical analyses
system modeling coupled with the ability of engineering examine transient waveforms and signal frequency re-
workstations to compute and display real-time animation sponse to determine signal characteristics, such as
make it possible to simulate mechanisms such as robots bandwidth and rise and fall times; analyze interference
and workcells (see ROBOTICS). between parallel traces on printed circuit boards; and
Human-machine interactions can be analyzed using determine cooling and flow requirements in forced con-
mechanism models of the human body. The physical char- vection systems.
acteristics of the human body model can be varied ac- E-CAD systems provide libraries of standard electri-
cording to population statistics for height, weight, age, cal components, including their physical characteristics
and gender. Android models are now being used to ana- as well as performance criteria and specifications. The
lyze vehicles, machine tools, and other systems in which use of these standard-parts libraries greatly simplifies the
a human is an integral part of normal operation. process of setting up a simulation.
COMPUTER-AIDED SOFTWARE ENGINEERING (CASE) 225
System Development
Customer intentions
Validate
Capture customer intentions as
a requirements specification
Design a system
satisfying requirements
Validate
Validate
coding and debugging, project and configuration manage- interfaces to existing methodologies, such as a graphics
ment, prototyping and simulation, and communication interface for the design and keeping track of changes
and documentation. in the design. They may also keep track of relationships
Software quality assurance (SQA) should be applied between different variables, such as data and users,
throughout the development process. Some of the indica- and will support software design, simulation, im-
tors of quality are correctness, reliability, testability, plementation, testing, debugging, enhancement, and
maintainability, portability (g.v.), and reuseability. maintenance activities. CASE technology is an example
Before it is possible to implement CASE, a framework of the evolution of problem-oriented programming lan-
for that implementation must exist (Pressman 1988). This guages (q.v.) into higher-level forms, using software to
involves an assessment of the organizational needs and develop software that is well-organized and easy to
goals followed by the education of the software engineers understand and modify.
and management. After this stage, a tool or set of tools
must be selected with regard to how they will help the References
organization achieve its goals more easily. These must
then be installed and evaluated against the requirements, 1979. Crosby, P. Quality Is Free. New York: McGraw-Hill.
and tuned or replaced as necessary. This is not a once- 1987. Pressman, R. S. Software Engineering: A Practitioner's Ap-
proach. New York: McGraw-Hill.
only process, but must be applied with feedback at each
1988. Fisher, A. S. CASE: Using Software Development Tools. New
stage and reviewed and revised until it is satisfactory to
York: John Wiley.
all concerned. 1988. Pressman, R. S. Making Software Engineering Happen. Engle-
In summary, CASE is an attempt to support modern wood Cliffs, NJ: Prentice-Hall.
software engineering methodologies through computer-
based tools. These tools provide good person-computer MILDRED L. G. SHAW
COMPUTER ALGEBRA 227
COMPUTER ALGEBRA
PRINCIPLES
For an article on a related subject see SYMBOL MANIPULA
TION.
LOjeces
Xe UPeX) SOLON (Xr A) GA a Xe
an integration algorithm in computer algebra yields
where p, g are polynomials with real coefficients, and
j ses dx = nlx pa 1 allow the construction of more complicated sets by
Kiem 2 means of intersection, union, and difference. Any subset
of R” that can be defined in this way is called a semi-
(3) Computations in computer algebra are carried algebraic set. ;
through exactly (i.e. no approximations are applied at any Consider a two-dimensional problem, as in Fig. 1.
step). So, typically, the solutions of a system of algebraic Starting from some fixed position of the body B (Say P at
equations such as the origin, where Pis the point at which the parts of B are
joined together) in R’, obtain an arbitrary position of B by
x) + 2x*y2+ 3xh +y4
-—y2=0 applying a rotation 7, to part B,, a rotation T, to B, and
x7 +y?-1=0 afterwards a translation T, to B (Fig. 2). Since 7,, T, can be
described by 2 x 2-matrices and T, by a vector of length
are presented as (0,1),(+V3/4,-1/2), instead of 2, any such position of B can be specified by 10 coeffi-
(0,1),(+0.86602 - - .—0.5). Because of the exact nature of cients (i.e. a point in RY): Some of these possible posi-
the computations in computer algebra, decision proce- tions are illegal, since the body B would intersect or lie
dures can be derived from such algorithms that decide, outside of the boundaries. If the legal positions L(c R'”)
for example, the solvability of systems of algebraic equa- can be described by polynomial equations and inequali-
tions, the solvability of integration problems in a specified ties then L is a semialgebraic set.
class of formulas, or the validity of geometric formulas. The piano movers problem is now reduced to the
question of whether two points P,, P, in L can be joined by
a path in L (i.e. whether P, and P, lie in the same con-
Applications of Computer Algebra nected component of L). This question can be decided by
Collins’ cad method, which makes heavy use of computer
The Piano Movers Problem Many problems in robotics algebra algorithms. In particular, the cad method uses
(q.v.) can be modelled by the piano movers problem: algorithms for greatest common divisors of polynomials,
finding a path that will take a given body B from a given factorization of polynomials into square-free factors, re-
initial position to a desired final position. The additional sultant computations, and isolation of real roots of poly-
constraint is that along the path the body should not hit nomials.
any obstacles, such as walls or other bodies. A simple
example in the plane is shown in Fig. 1. The initial and final Algorithmic Methods in Geometry Often, a geometric
positions of the body B are drawn in full, whereas a statement can be described by polynomial equations over
possible intermediate position is drawn in dotted lines. some ground field K, such as the real or complex numbers.
J. T. Schwartz and M. Sharir have shown how to reduce Consider, for instance, the statement “The altitude pedal of
228 COMPUTER ALGEBRA a
f(x) to a polynomial fd by applying a homomorphism relatively prime polynomials over the rational numbers,
A, p a prime. fey can now be factored by the Berlekamp Bis square-free, and the degree of A is less than the degree
algorithm, which involves some linear algebra and compu- of B, then
tations of gcd’s. Conceivably, we could factor f modulo
various primes P),..., P, and try to reconstruct the factors
over the integers by the Chinese remainder algorithm, as AG
Lee eo c, log u,,
we did in the modular gcd algorithm. The problem is that i=1
we do not know which factors correspond. So instead, one
uses a p-adic approach based on Hensel’s lemma, which where the c,,...,c, are the distinct roots of the resultant of
states that a factorization of f modulo a prime p can be A(x) -c - B’(X) and B(x) w.rt. x, and each v, is the gcd of
lifted to a factorization of f modulo p*, for any positive A(x) - c; - B’@) and B(X). In this way we get the smallest
integer k. Since we know bounds for the size of the coeffi- field extension necessary for expressing the integral.
cients that can occur in the factors, we can determine a The problem of integration becomes more compli-
suitable k and thus construct the correct coefficients of cated if the class of integrands is extended. A very com-
the integral factors. There is, however, an additional twist.
mon class is that of elementary functions. We get this
If f(x) can be decomposed into irreducible factors f,(x),
class by starting with the rational functions and succes-
6) over the integers, it could well be that, modulo p,
sively adding exponentials (exp fx)), logarithms (log
these irreducible factors can be split even further. So after
f(x)), or roots of algebraic equations, where the expo-
we have lifted the factorization modulo p to a factorization
nents, arguments, or coefficients are previously con-
modulo p* for a suitable k, we need to try combinations of
structed elementary functions. Not every elementary
factors for determining the factors over the integers. For
instance,x“+ 1 is a polynomial that is irreducible over the integrand has an elementary integral (e.g. J e* dx cannot
integers, but factors modulo every prime. Theoretically, be expressed as an elementary function). However, there
this final step is the most costly one, and it makes the time is an algorithm (the Risch algorithm) that can decide
complexity of the Berlekamp-Hensel algorithm exponen- whether a given integrand can be integrated in terms of
tial in the degree of the input. Nevertheless, in practice the elementary functions, and if so the Risch algorithm yields
algorithm works very well for most examples. the integral. The case of algebraic functions is the most
In 1982, Lenstra, Lenstra, and Lovasz developed an complicated part of the Risch algorithm. For a thorough
algorithm for factoring univariate polynomials over the introduction to the algebraic integration problem, the
integers with a polynomial time complexity. Kaltofen ex- reader is referred to the paper by M. Bronstein in the
tended this result to multivariate polynomials. The over- Journal of Symbolic Computation, Vol. 9.
head of this algorithm, however, is extremely high. The discrete analog to the integration problem is the
To integrate a rational function A(x)/ BQ), where A, B problem of summation in finite terms. We are given an
are polynomials with integral coefficients, we could split expression for a summand a,, and we want to compute a
the polynomial B into linear factors in a suitable algebraic closed expression for the partial sums of the infinite series
extension field, compute a partial fraction decomposition
De a, That is, we want to compute a function S(m),
of the integrand, and integrate all the summands in this me
decomposition. The summands with linear denominators such that
lead to logarithmic parts in the integral. Computations in
the splitting field of a polynomial are very expensive; if n m
is the degree of the polynomial, the necessary algebraic Ya, =S(m) — S$(0).
extension has degree n!. So the question arises as to n=1
Snes —(m+1)x"*!4+x
pre haven? PN Cua me
J xr
Faye
— og | ay et loare= n=1 Cae):
Every root of these equations is also a root of any For the dense distributive representation of p, we order
linear combination of these equations, so in fact we are the power products according to their degree and lexico-
looking for zeros of the ideal generated by the left-hand graphically within the same degree. So p is represented as
sides in the ring of polynomials in x and y over Q. The
left-hand sides form a specific basis of this ideal. The oe Disa Ooi cu Bocd.ssOmodwicn Bins 0-02h toe
goal is to compute another basis for this same ideal Py? shy xt iy oxy? x ixdoy uxyoeiys Xi)
that is better suited for solving the system. Such a basis
is a Grdébner basis with respect to a lexicographic If only a few power products have a coefficient different
ordering of the variables. In our example, we get the from 0, then a dense representation wastes a lot of space.
following Grébner basis, which we again write as a In this case we really want to represent the polynomial
system of equations. sparsely (i.e. by pairs of coefficients and exponents). The
sparse recursive representation of p is
y-y=0
BO 0 CG 2) (-2 1) a 0) 2) op 2(-3 I) D(A) A 9))
3x7 + 2y’ + OX —\2y 45'=10, (2)
The solutions of (1) and (2) are the same, but obviously it and the sparse distributive representation of p is
is much easier to investigate the solutions of (2). The
system contains a polynomial depending only on y, and (GB @2))(-2 2) 21) (02) -3dN)ea
the zeros are y = 0 and y = 1. Substituting these values for 0))
G © 0))).
y into the other two equations, we get the solutions (x =
—1,y = 0) and @= —1, y = 1) for the system of algebraic For different algorithms, different representations of
equations. the objects are useful or even necessary. The multivariate
Other problems in the theory of polynomial ideals gcd algorithm works best with polynomials given in recur-
that can be solved by Grébner bases include the ideal sive representation, whereas the Grébner basis algorithm
membership problem, the radical membership problem, needs the input in distributive representation. So, in gen-
the primary decomposition of an ideal, or the computa- eral, a computer algebra program has to provide many
tion of the dimension of an ideal. Most computer algebra different representations for the various algebraic objects
programs contain a Grobner basis package. and transformations that convert one form to another.
References
Representation of Expressions Dynamic data
structures are necessary for representing the computa- 1981. Knuth, D. E. The Art of Computer Programming, Vol. 2, 2nd
tional objects of computer algebra in the memory of the ed. Reading, MA: Addison-Wesley.
computer. For instance, during the execution of the Eu- 1983. Buchberger, B., Collins, G. E., and Loos, R. (eds.). Computer
Algebra— Symbolic and Algebraic Computation, 2nd ed. Wien-
clidean algorithm, the coefficients in the polynomials ex-
New York: Springer-Verlag.
pand and shrink again. Since the goal of the computation
1985—-present. Journal of Symbolic Computation. London: Aca-
is an exact result, we cannot just truncate them to the demic Press.
most significant positions. 1988. Davenport, J. H., Siret, Y., and Tournier, E. Computer Alge-
Most computer algebra programs represent objects bra— Systems and Algorithms for Algebraic Computation. Lon-
as lists. An integer is represented as a list of digits. For don: Academic Press.
more complicated objects, the choice of representation is 1989. Akritas, A. G. Elements of Computer Algebra. New York: John
not that clear. So, for instance, we can represent a bivari- Wiley & Sons.
ate polynomial recursively as a polynomial in a main
FRANZ WINKLER
variable with coefficients in a univariate polynomial ring,
or distributively as pairs of coefficients and power prod-
ucts in the variables. For example:
SYSTEMS
Recursive representation: For articles on related subjects see NUMERICAL ANALYSIS;
= Bx — 2x + Dy + OC? - 3x)y + (2x +:1)
p(%y) and SYMBOL MANIPULATION.
Distributive representation:
What is Computer Algebra? Computer algebra
p(%y) = 3x ¥' — 2x + Py ty —3xyt 2e+1 (sometimes called algebraic manipulation or symbolic
computation) can be defined to be computation with
For both these representations, we can use a dense or a variables and constants according to the rules of algebra,
sparse list representation. In the dense representation, a analysis, and other branches of mathematics, or formula
polynomial is a list of coefficients, starting from some manipulation involving symbols, unknowns, and formal
highest coefficient down to the constant coefficient. So operations, rather than the conventional computer data
the dense recursive representation of p is of numbers and character strings.
The goal of a symbolic computation language is to
(GB -2Dd -39@)) provide to the large and diverse community of “mathe-
232 COMPUTER ALGEBRA
matics users” facilities for general mathematical calcula- time. In contradistinction, the statement int(expr, x);
tions, typically including facilities such as arithmetic with may
exact fractions, polynomial and rational function arithme-
tic, factorization of integers and polynomials, exact solu- 1. Return the integral of the expr with respect to x
tion of linear and polynomial systems of equations, closed (the size of the result is difficult to predict).
forms for summations, simplification of mathematical ex- 2. Return a partial answer (i.e. f(x) + Jg(x)dx).
pressions, and integration of elementary functions. Most 3. May fail to compute because an integral does not
languages also allow users to define and use facilities that
exist (e.g. e does not have an integral).
supplement those primitively available.
The term symbolic computation is too vague to use 4. May fail to compute because the algorithms used
in this context, since it includes other disciplines, such as cannot find an integral, even though one exists.
text manipulation and most of artificial intelligence. We 5. May produce a symbolic result that is too long to
will restrict our attention to systems that perform mathe- represent even though it is computable (e.g.
matical manipulations over symbols and not just symbol x0" =)
manipulation.
a
Computer algebra systems can be classified as being 6. May require a very long time to compute, making
either general purpose or special purpose. Special purpose its computation not feasible for practical pur-
computer algebra systems are designed to solve prob- poses.
lems in one specific area (e.g. celestial mechanics, general
relativity, group theory). As such, special purpose com- The size of the result generated by the int statement is
puter algebra systems use special notations and special not predictable. This implies dynamic memory manage-
data structures, and have most of their essential algo- ment and garbage collection (g.v.) for computer algebra
rithms implemented in the kernel of the system. Such systems. This is one of the main reasons why Lisp was
systems will normally excel in their respective areas, but used in early systems as an implementation language.
would be of little use in other applications. Examples are
Cayley for discrete algebraic and combinatorial struc-
tures, Macaulay for computing in algebraic geometry and Correctness To some extent, it is surprising that there
commutative algebra or Pari intended for number-the- should be any incorrectness tolerated by a supposedly
oretic computations. We will restrict our attention to gen- mathematical symbol manipulation system, and not all
eral purpose computer algebra systems. A _ general are convinced that this is really necessary. However, in
purpose computer algebra system is designed to cover most current symbolic computation systems, simplifica-
many diverse application areas and has sufficient data
tions such as ae — 1 are performed automatically,
structures, data types, and functions to do so.
without keeping track that x must not be equal to —y for
Computation Computer algebra systems have the abil- this to make sense. This is an example where the compro-
ity to do mathematical computations with unassigned mise is that the system may sometimes make a mistake in
variables. For example, order to have efficient simplification which is almost al-
ways correct. (Notice that we are not talking about pro-
Det Xe OX “SANCX)< gram “bugs,” but rather design decisions.) Another
2 example is the automatic simplification of 0 x (1000) > 0
t= XS TNX) before evaluation of f(1000). This simplification is “obvi-
Cadi
ct: x): ously desirable” unless f(1000) is undefined, or infinity.
2 Performing the simplification is an efficiency that is
COTS TMX) ato a COS OX) “slightly” incorrect, while always evaluating (1000) if its
value is not known beforehand is something that most
computes the derivative of expression ¢t with respect to x, users would choose to avoid. Thus, we see that many
where x is an unassigned variable. systems take the point of view that “users will tolerate
Computer algebra systems have the ability to per- some degree of deviation from rigorous correctness.”
form exact computation (e.g. arbitrary precision rational As a further example, probably more serious, of the
arithmetic, field extensions). For example, conflict between correctness and efficiency/usability,
consider the following sequence, involving a summation
—
A Sa 7 followed by a substitution:
bh
|— ‘3GO
| Ain (v2+ 1)°
e:= sumCaliiexsi. a =O lene
(as opposed to 0.8333...and 0.07106...). subs(x=0, e);
“Computation” in a computer algebra system re-
quires a much more careful definition than in other lan- If n is an indeterminate when this sequence is executed,
guages. For example, compare the Pascal statement x := the result given by several systems is 0. In contrast, if n
a/b with the Maple statement f := int(expr, x); Provided has the value 5, say, then the result computed by these
that b ¥ 0, the division a/b will produce a result (a floating same systems is (correctly) a[0]. Mathematically, we see
point number) of a predictable size and in a predictable that the value being assigned to e is
COMPUTER ALGEBRA 233
alO] + aLl]*xx + a[2]*x2 +... a predecessor M.I.T. project, Mathlab 68, an interactive,
general purpose system that was the development tool
and when x is replaced by the value 0, we would expect and test bed for several M.I-T. doctoral theses in algebraic
the result to be a[0] (if n is to be a nonnegative integer). manipulation and algorithms.
However, in the case where n is an indeterminate, the The Macsyma system internals were first im-
system represents the call to the “sum” function as an plemented in Maclisp, a systems programming dialect of
unevaluated function and when x is replaced by the value Lisp developed at M.I.T. For many years, Macsyma was
0, the simplifications available through the Arpanet on a DEC PDP-10 running
the ITS system. However, in the late 1970s and early 1980s,
041i —> 0 the important features of Maclisp were recreated in Franz
aliJ*0 —> 0 Lisp running in the Unix environment. Two similar ver-
sions of Macsyma (DOE Macsyma and Symbolics
result in the summation Macsyma) are now supported commercially on VAX Unix
or VMS, Sun, PC, Symbolics 3600 systems, etc. The
sum(0, 71 = 0..n) Macsyma kernel is over 75,000 lines of Lisp code. The
executable binary file loaded at invocation time is approx-
which then simplifies to 0. It can be seen that the simpli- imately 3.6 megabytes for the Berkeley VAX/Unix version.
fication 0*i —> 0 is mathematically correct only if i is In addition, there are user-contributed libraries that can
restricted to be positive, but the common practice in be loaded at will. There are about 10,000 lines of Macsyma
symbolic computation systems is to apply the rule language programs in the distributed library. Macsyma is
“blindly.” In exactly the same manner, it is common prac- a typical algebraic manipulation language in many ways.
tice to apply the rule It provides a Fortran/Algol-like notation for mathematical
expressions and programming. Automatic type checking
x40 —> 1 is almost non-existent.
Macsyma users can translate programs into Lisp.
for any arbitrary expression x, but if x later takes on the This allows interpretation by the Lisp interpreter (instead
value 0, for example, then this simplification may have of the Macsyma language interpreter, which itself is
been erroneous. The user should be aware that all sys- coded in Lisp). The Lisp compiler can then be applied to
tems will perform some simplifications which are not safe the translation, to take the further step of compiling the
100% of the time. program into machine code.
A user wishing to make any extensions to the
The Systems inthis section, we describe some of the functionality of the system (e.g. installing a new kind of
most important languages in more detail. We restrict our mathematical object for which addition or multiplication
attention to either new languages or languages that are must still work) must learn Lisp in order to allow its
widely used. For older languages, such as Camal, Formac, manipulation to proceed as efficiently as the rest of the
or SAC-I/II, see the 2nd edition of this Encyclopedia. built-in mathematical code. However, the language allows
All the systems that we describe are interactive gen- a large amount of extensibility without recourse to or
eral purpose computer algebra systems that provide the knowledge of the Lisp internals. For example, the
following three key areas: parser/grammar of the Macsyma language can be altered
on-the-fly to include new prefix, infix, or “matchfix” oper-
e Symbolic computations—All systems support rou- ations defined by user-supplied Macsyma programs.
tines for expansion and factoring of polynomials, Another feature of Macsyma is its assume facility,
differentiation and integration (definite and indefi- which allows the user to define properties over the sym-
nite), series computation, solving equations and bols. For example, one can define ASSUME(A>B) and then
systems of equations, and linear algebra. the system knows this relation between A and B. If the
e Numeric computations—All systems support arbi- user then asks MAX(A,B), the answer is A.
trary precision numerical computation, including Macsyma makes extensive use of flags for directing
computation of definite integrals, numerical solu- the computation; for example, if the flag TRIGEXPAND is
tions of equations, and evaluation of elementary set to TRUE, Macsyma will cause full expansion of sines
and special functions. and cosines of sums of angles and of multiple angles
e Graphics—All systems (except Reduce) allow one occurring in all expressions. There also exist non-binary
to plot two- and three-dimensional graphics. flags, as for example LHOSPITALLIM, which is the maxi-
mum number of times LHospital’s rule is used in a limit
Additionally, each system has a programming language computation.
that allows the user to extend the system.
For other comparisons of computer algebra systems, Reduce Reduce was originally written in Lisp by a team
see Harper, Woof, and Hodgkinson (1989) and Betts led by Anthony Hearn, to assist symbolic computation in
(1990). high energy physics in the late 1960s. Its user base grew
beyond the particle-physics community as its general-
Macsyma The Macsyma project was founded by William purpose facilities were found to be useful in many other
Martin and Joel Moses of M.I.T. Macsyma was built upon mathematical situations. Reduce 2 was ported to several
234 COMPUTER ALGEBRA
different machines and operating systems during the function on the same graph and use multiple windows for
1970s, making it the most widely distributed system of easy comparisons. Derive supports all the basic symbolic
that time, and one of the first efforts in Lisp portability. mathematics like factorization, integration, differentia-
Reduce 3, written in the dialect of Lisp called “Standard tion, etc. It also understands matrices and vectors and
Lisp” is a further refinement and enhancement (Hearn can do basic vector calculus. Although Derive is less
1983). It consists of about 4MB of Lisp code. capable than other general purpose computer algebra
Reduce, like Macsyma, has a simple syntax for the systems, the extent of its power based on such minimal
basic mathematical commands (expression evaluation, hardware is remarkable. Nonetheless, it lacks, for exam-
differentiation, integration, etc.), and a Fortran-like pro- ple, procedures for solving systems of nonlinear equa-
gramming language. Its reserved words include not only tions, computation of eigenvectors of matrices,” and
the keywords of the programming language, but also the special features such as Laplace transforms, Fourier
names of the various flags that control default simplifica- transforms, and Bessel functions.®
tion and evaluation modes. For example, the reserved The programming language of Derive provides only
word EXP is a flag that when turned OFF, blocks the the definition of simple functions, which may be recur-
default expansion of rational function expressions. sive. All utility files are programmed in this language.
Reduce has two programming modes—an “algebraic”
mode and a “symbolic” mode. The same syntactic forms
for procedure definition, assignment, and control state- Mathematica The development of Mathematica was
ments are observed in both modes. In algebraic mode, started by Stephen Wolfram in 1986. The first version of
data objects are manipulated through mathematical oper- the system was released by Wolfram Research, Inc. in
ations, such as numerical or rational function arithmetic, 1988. Wolfram had previously developed the SMP com-
FACTORIZE (factor a polynomial over the integers), DF puter algebra system in 1979-81, which served as a fore-
(partial differentiation), SUB (substitute an expression for runner of some elements of Mathematica. Mathematica
a variable in another variable), or COEFF (find the coeffi- was designed to be a computer algebra system with
cients of various powers of a variable in an expression). In graphics, numerical computation, and a flexible program-
symbolic mode, one can directly manipulate the internal ming language.
~ representation of mathematical expressions, using Lisp- In Mathematica, patterns are used to represent
like manipulation primitives such as CAR and CDR, and classes of expressions with a given structure. Pattern
routines such as LC (find the leading coefficient of a poly- matching and transformation/rewrite rules greatly sim-
nomial), .+ (add a term to a polynomial). Most casual plify the programming of mathematical functions because
users of Reduce need to learn only the functionality pro- one need only define replacements for patterns. For exam-
vided by algebraic mode (programming-in-the-abstract), ple, consider the definition of the logarithm of a product
but since most of the basic system is coded in symbolic or a power:
mode, programming in symbolic mode is sometimes nec-
essary to augment or borrow from those basic facilities. In{1]) I logal Xnuy2lesewlogebkimtibogebyal
Numerical programs often have to be written based
on a set of formulas that describe the solution of a prob- In({2] logubxst ya y log[x]
lem in science or engineering. For that step, Reduce pro-
vides GENTRAN, an automatic code generator and where In[k] is the kth input since the beginning of a
translator. It constructs complete numerical programs work session. These definitions are global rules. Such a
based on sets of algorithmic specifications and symbolic rule is applied to all expressions automatically if the
expressions. Formatted Fortran, RATFOR, or C code can left-hand side of the rule matches the expression (i.e. the
be generated through a series of interactive commands or heads are equal and the arguments match). This is in
under the control of a template processing routine. This contrast to rewrite rules, which are applied on demand.
package is available in Macsyma, too. The notation x_ denotes a pattern that matches anything
and is referred to as x in the right-hand side of the rule.
The structure of patterns can be very complex. For exam-
Derive Derive was developed by A. Rich and D.
ple, the pattern x:_*n_Integer?Positive matches
Stoutmeyer and is marketed by Soft Warehouse Inc. in
any expression of the form a’, where a is any expression
Hawaii. It is also implemented in Lisp. Derive will run on
and bis a positive integer. The exponent b is themreferred
any PC compatible (with 640K) and does not require a
to as n, and the complete object is referred to as x. Writing
math coprocessor.
a definition in terms of rules for specific patterns can
Derive is the successor to uMath and is menu-driven.
obviate the need for extensive checking of argument val-
Many commands and operations can be carried out with
ues within the body of a definition. Pattern matching is
just two or three keystrokes.’ In addition to Math, it has
structural, not mathematical, so b’ is not recognized as
a powerful graphics package that can plot functions in
two and three dimensions. One can plot more than one
7Figenvalues can be computed as roots of the determinant of
INS OSI
‘In the examples that follow in later sections, we denote
3One can definea Bessel function as an integral and calculate
menu options using square brackets. For example, [A]uthor
values, but this definition cannot be used in symbolic calcula-
means that the menu option A (Author) is chosen.
tions.
COMPUTER ALGEBRA 235
the product b b. However, the pattern matcher recognizes ten in the same language that users use. Maple’s kernel
that multiplication is associative: interprets this language rather efficiently. Most higher
level functions or packages, about 95% of the functional-
Inf{3] ‘= thlog [2a b42] ] ity (e.g. integration, solving equations, normalization of
Out[3] := fllog [2] + log [a] + 2 log [b] ] expressions, radical simplification, factorization) are
coded in the user language. Primitive functions like
Mathematica’s colorful plotting features are very
arithmetic, basic simplification, polynomial division, ma-
good. It provides two- and three-dimensional graphs,
nipulations of structures, series arithmetic, integer gcds,
along with the flexibility to rotate and. change the view-
etc. are coded in the kernel. In principle, the user will
point easily. The plot in Fig. 1 has been generated with the
not perceive the difference between using internal or
command
external functions. The kernel is implemented in C and
POE
SUL SINEX yd. 1X, 0, Sh, eva OW Koes consists of 20,000 lines of code. The implementation of
Plot Points —> 31. Boxed —> False. external functions uses about 130,000 lines of Maple
code.
Mathematica’s kernel consists of about 333,000 lines Maple supports a large collection of specialized data
of C code, and there are about 56,000 lines of structures: integers, rationals, floating point numbers,
Mathematica code in the distributed packages. The basic polynomials, series, equations, sets, ranges, lists, arrays,
functionality of Mathematica is built into the kernel or tables, etc. All of these are objects that can be easily
is coded in the Mathematica language in “start-up” type-tested, assembled, or disassembled.
packages. A wide variety of applications, such as sta- Major emphasis has been placed on readability, nat-
tistics and Laplace transforms, are coded in Mathematica ural syntax, orthogonality, portability, compactness, and
in “standard” packages that can be read in on request. efficiency. Maple is currently being used not only for
On the NeXT or Macintosh computers, applications can symbolic computation, but also as a tool for supporting
be in the form of notebooks, in which one can mix text, the teaching of diverse courses (e.g., Algebra and Calcu-
animated graphics, and Mathematica input. This is an lus, Numerical Analysis, Economics, Mechanical Engi-
excellent tool for education and for the presentation of neering).
results. Maple makes extensive use of hashing tables for var-
ious purposes (see SEARCHING). (1) Hashing (or signatures
Maple The Maple project was started by K. Geddes and of expressions) are used to keep a single occurrence of
G. Gonnet at the University of Waterloo in November 1980. any expression or subexpression in the system; (2) Tables
It followed from the construction of an experimental sys- and arrays are implemented internally as hashing tables;
tem (named “wama”) that proved the feasibility of writing (3) The “partial computation table” permits efficient (op-
a symbolic computation system in system implementa- tional) remembering of function values. The motivation
tion languages and running it in a crowded time-sharing for remembering results lies on the observation that the
environment. same subexpression may appear repeatedly as a conse-
Maple was designed and implemented to be a pleas- quence of some computation. For example, computing
ant programming language, as well as being compact, the third derivative of e*"" will compute the first deriva-
efficient, portable, and extensible. The Maple language tive of sin(x) at least 5 times.
is reminiscent of Algol 68 (g.v.) without declarations, Packages in Maple are collections of functions suit-
but also includes several functional programming (g.v.) able for a special area, like 1inalg for linear algebra or
paradigms. The internal mathematical libraries are writ- numtheory for number theory. Functions from such
packages could be called with the command
“packagename|[function]”. To avoid using these long
names, one could set up short names for each function,
so, for example, after the command with(1linalg), one
can use det(A) instead of linalg{det] (A). Naming
conflicts are always reported to the user.
Maple V incorporates a new user interface for the X
Window and Sun View Systems that includes 3-D plotting,
separate help windows, allows editing of input expres-
sions, and maintains a log of a Maple session. Figure 2 is
a plot generated by the command
plossd' COxP2ay
S297 Cx S2tyAZon
x=-1..1,y=-1..1,]labels=[x,y],axes=FRAME);
xy?
FIG. 2. Maple’s surface plot of 5 forxye — 1.1
x+y
Center and is presently distributed by NAG. Axiom cur- though some reflect concepts developed in other lan-
rently runs only on the VM/CMS operating System and IBM guages in the past ten years—in particular, parametrized
workstations (RT/PC, RS/6000), but it has not been distrib- abstract data types, modules, and inheritance. The
uted widely outside of IBM. Axiom is implemented in Lisp. unique abstract data type design of Axiom is based on
Axiom is both a language for casual algebraic com- the notion of categories.
puting and a programming language complete with ab- Categories lay out classes and hierarchies of types.
stract data types and information hiding, designed to Defining a category means defining its relation in the
allow description and implementation of mathematical existing hierarchy, extra parameters (the category
code at a high level. VectorField needs a parameter from the category
Every Axiom object has an associated data type that Field to describe its scalars), operations that must be
determines the operations that are applicable to the ob- supported by its members, which are called domains, and
ject. Axiom has a set of 300 different data types, some of properties the operations must satisfy. For example, the
which pertain to algebraic computational objects, while category OrderedSet:
others are data structures. Some are simple, like Integer
OrderedSet(): Category == SectCategory with
(Z)°, RationalNumber (Q),and Float, and some are
—— operations
parametrized, like Complex (C) (e.g. C Z for complex
He OCS),
$) SO~ Boolean
integers), UnivariatePolynomial CUP) | (eg.
UP(x,Q) for univariate polynomials in x over the rational
Ha XS GOSS$F b= ees
numbers), etc. However, the user may have to supply type
ming ($29) h=50$
—— attributes
declarations. The interpreter usually can determine a
suitable type for an object, but not always. The following irreflexive “<” —— not(x<x)
dialogue demonstrates this type of assignment by the transitive “<” — x<y and y<z => x<z
interpreter. The type is always printed on a line following total “<" —— not(x<y) and not
the object itself. (y<z) => x=y
—— implementation
TPA Sactl oes AYC2 add
3 maxCe,y) == (x<ye=> cy cre)
Cle min(x,y) == (x<y => x: y)
4
This definition gives a category that extends (inherits)
Type: Fraction Integer
the category SetCategory by requiring three additional
(5.4 2iy**s
operations and three properties. If some operations are
(2) 110 + 7421
expressible by others, the implementation of these may
Type: Complex Integer
also be put in the definition, like max and mininthe above
example. Examples of categories in Axiom are algebraic
The portion of the Axiom language intended for pro-
concepts, such as Group, AbelianGroup, Ring, Eu-
gramming computational procedures contains several ClideanDomain, Field, UnivariatePolynomial-
features novel to algebraic manipulation languages, al- Category (R: Ring), etc.
Domains are instances of categories which means
‘The user may define abbreviations to each type in a macro that they define an actual data representation and pro-
file. They may then be used anywhere the full name is used. vide functions implementing the operations of a category
COMPUTER ALGEBRA 237
This gcd operation is now polymorphic and may be used 8 log(3 tan Seex =i) =3 168i ee 2
for many types (e.g. Z, SUP(Q), SUP(Integer Mod
18
11). It also could be put in the definition of the category
EuclideanDomain.
2. Series expansion:
7 9 Alt 13
x 29 x 1913 x 95 x
(d1)/T/ I Se IS Sica ach
30 756 75600 7392
Axiom § = series(sin(tan x) - tan€sin x), x=0)
(1)
1 7 29 91913 11 hey) Al 14
aX = ea XO = =e eae inn Xt ())(Xe)
30 756 75600 7392
3. Linear ODE:
y’ (x) + 2Y@)
+ y@X) = cos(x):
> dsolve(dgl,y(x));
YO = 1/2 "sin(x) s+ 201 “expls x) 44 aCG2nexpc= ox) <x
Mathematica In{1]:= DSolvely"{x] + 2 y’[x] + y£x] = Cos{x], MALS, Fe
Cee Xe il eaeSiinitxa
OutCl]= {{y{x]
-> ---- + ------ gaan )}
x X 2
E E
Reduce cannot solve differential equations.
Macsyma (c3) deq: ’diffly,x,2)+2*’diff(y,x)+y=cos(x);
2
dy dy
(d3) emit? em ty = COS)
2 dx
oe dx
(c4) ode(deq,y,x);
sin(x) = i
(d4) YS soeees ap (He? 5% ab GARI) See
2
Axiom (1) => := operator y
(1) y
Type: BasicOperator
(2) ->deq := differentiate(y x, x, 2) +
2 * differentiate (y x, x) + y x = cos x
ies. en.
Anchanpersas=r ] 2
Sqrt[3] L@Glil SP 3d ae Fe 9)
Out bia << ss9eee pears < dass sana sap<s=>=
Sqrt(3] 2
Reduce eS ap Se WiMECOe
WICC Seal) eye
oy ae il 2
2xSORT(3) XATAN (= ==-=- === ap SEIMOEOG sp 26 ae ir)
SQRT(3)
240 COMPUTER ALGEBRA
Axiom!® integrate((x+1)/(x**2+x+1), x)
+—+ 2 2x + 1
VismlogGx, tox 41) to2atan( asses )
+—+
NS
DE I al
+—+
ZN 3
Type: Union(Expression Integer,List Expression Integer)
3 2
n
(ZS SS 2 So) (2)
2 1 0
(d2) ee CS Me Cae) et) ape een
n 1 0 2
Axiom is unable to solve recurrence equations.
Derive’! [TJransfer/[LJoad RECUREQN
PAguthon LINZSCCEEPOS @GeZe0.n)” iS)
[Slimplify
n
ZeGC=COSM GME bly eats ClaGOs\anm py)
n
ae eC (C2 SC i) Pie Wee Sine ih Pa 9) 3}
6. Programming
To illustrate the similarities and differences in the pro- coding of Yun’s algorithm, as presented in Knuth (1981).
gramming languages associated with the respective com- The algorithm involves the computation of a polynomial
puter algebra systems covered, we include a procedure sequence generated from a polynomial a and its deriva-
definition of the algorithm to compute the square free tive with respect to x.
decomposition of a certain polynomial a(x). This is a
Maple:
d :=w — diff(v,x):
for i while d<>0 do
oO} SS Ceol(W Cl, ae “NS
d := w — diff(v.w):
tus t *Fagha
end;
Macsyma:
Mathematica:
Sarrreetiaw.. xX )03=
BIOCckKht, d gaveit. |
g=GCDLa, d=Dla,x]];
If{g==1, Returnfa] ]
v=Cancel[a/g];
d=Cancel[d/g]-Dl[v.x];
t=1;
Forfi=l, d =!= 0, i++,
g=GCD[v, d];
v=Cancel[v/g];
d=Cancel{d/g]—-Dlv,x];
(BN el ge
i:
Reduce:
Axiom:
sarfree(p,x) =
g := extendedEuclidean(p,
differentiate(p,x))
unit?(g.generator) => p
|i |
d := g.coef2 — differentiate(g.coefl,x)
for iin 1.. while d *= 0 repeat
g := extendedEuclidean(g.coefl,d)
dis g.coef2 —differentiate(g.coefl,x)
r := r * (g.generator) * monomial(1,x,i)
ip ei g. COCh Zan
Acknowledgements We wish to acknowledge to disk, film, or videotape for later viewing. Just as in
R. Corless for his assistance with Derive, K. Geddes and B. conventional animation, each frame is slightly different
Char for the sqrfree codes, and M. Bronstein and from its predecessor, so that playback at the proper
M. Monagan for valuable discussions. speed gives a sense of motion.
There are two major branches of computer anima-
References tion: two-dimensional and three-dimensional. In two-di-
mensional animation, the animator works directly with
1981. Knuth, Donald E. Seminumerical Algorithms, 2nd edition. The images or image portions on a screen. Images represent
Art of Computer Programming, vol. 2. Reading, MA: Addison-
the final version of some particular scene, so, to obtain a
Wesley.
different version, a new image must be constructed. If an
1981. Foderaro J. K. and Fateman, R. J. “Characterization of Vax
MACSYMA.” In SYMSAC ’81: Proceedings of the 1981 ACM Sym- animator decides, for example, that an arm needs to be
posium on Symbolic and Algebraic Computation; August 5-7, moved just a little bit, that entire portion of the image
1981, Snowbird, UT. pp. 14-19, Paul S. Wang (ed.). New York: must be redrawn. For some attributes, such as lighting,
Association for Computing Machinery. this could involve redoing the entire image.
1983. Hearn, Anthony C. REDUCE User’s Manual, Version 3.0. Santa In three-dimensional animation, the animator works
Monica, CA 90406: Rand Publication CP78(4/83). with objects in a virtual space, manipulating their attri-
1988. Wolfram, Stephen Mathematica—A System for Doing Mathe- butes as well as global viewing parameters. An image syn-
matics by Computer. Reading, MA: Addison-Wesley Publishing
thesized by incorporating all of these attributes with the
Company.
geometries defining the objects is then rendered. Rather
1989. Harper, David, Wooff, Chris and Hodgkinson, David. “A
Guide to Computer Algebra Systems.” Technical report, The than being flat primitives, the actors actually have depth
University of Liverpool, Brownlow Hill, P.O. Box 147, Liverpool and volume. In 3-D animation, the image is comparable toa
L68 3BX. window through which one looks into a synthesized
1990 Simon, Barry “The New World of Higher Math.” PC Magazine, world, rather than being a primitive, as in 2-D animation.
9(10), May.
1990. Betts, Kelleyn S. “Math packages multiply.” Mechanical En-
gineering, 112(8): 32-38, August.
Motion Description Points in space are defined as a
1990. Simon, Barry, “Four Computer Mathematical Environ- vector P = (x y 2); in its simplest form, animation be-
ments.” Notices of the American Mathematical Society, comes a matter of calculating P as a function of time.
37(7):861-868, September. Technically, this is the derivative of P with respect to time,
1990. Davenport, J. H. and Trager, B. M. “Scratchpad’s View of P
Algebra I: Basic Commutative Algebra. In International Sympo-
“ , although there are simpler methods presented
sium on Design and Implementation of Symbolic Computation below that are faster to calculate.
Systems, volume 429 of Lecture Notes in Computer Science, A.
Miula (ed.) 40-54, Heidelberg: Springer-Verlag.
Hierarchical Objects A hierarchical object is an actor in
GASTON H. GONNET AND DOMINIK W/. GRUNTZ a 3-D animation built of interrelated parts, with the rela-
tionship represented as a tree (q.v.). Transformations ap-
plied to a node are also applied to its subtree, so any
COMPUTER ANIMATION particular node is subject to all of its parent’s transforma-
tions in addition to its own.
For articles on related subjects see COMPUTER-AIDED DE-
SIGN/COMPUTER-AIDED MANUFACTURING; COMPUTER ART; COM-
Splines Given two points in space, P, and P,, we can
PUTER GAMES; COMPUTER GRAPHICS; IMAGE PROCESSING; and.
calculate the line between them using the linear interpo-
SCIENTIFIC APPLICATIONS.
lation P = P, + a(P, — P,). To relate this to computer
animation, we associate times f, and ¢, with P, and P,,
Introduction Computer animation refers to the use of
fear
digital computers to synthesize images that are recorded respectively, and calculate a = pai. where t is the cur-
COMPUTER ANIMATION 243
rent time, which is usually measured by frame number in that the animator might lose concentration while this
the animation. is carried out.
This method can be extended to a cubic curve in
space, called a spline (q.v.), be defining P = 2 (ha) tory
(P,) + ¥, (P,) + ¥,(P,). The ¥, are known as blending Computer Animation System Models Com-
functions because they yield a weighted sum of the four puter animation systems can be categorized by the level
points used to synthesize the curve. There are many of abstraction of motion, and by the mechanisms avail-
able to the animator for control. Zeltzer (1990, 1991)
different possible combinations of weights; any particular
classed systems by their levels of abstraction and interac-
one is known as a basis for the spline.
tion (Fig. 1):
Practically, the equation is implemented as P = (¢°
Abstraction refers to the level at which the animation
t? t 1)[C][G], where t has the same meaning as before,
can be described, where machine level would be a com-
[C] is the conversion matrix containing the weighting
puter program and fask would be a high-level description,
coefficients for the particular basis, and [G] is the
such as “clench fist.”
matrix of row vectors of the four points controlling the
Interaction refers to how the animator deals with the
spline.
system. Guiding involves showing the system how a mo-
The advantage of cubic over linear splines is con-
tion is to be performed; at a basic level this is also known
tinuity in the first and second derivatives. A discontin-
as keyframe animation and, as the level becomes more
uous first derivative shows up as a sudden jump in
complex, key parameter animation. Programming ulti-
position (or in the value of whatever attribute is being
mately provides the most flexibility in dealing with mo-
animated); a discontinuous second derivative shows up
tion, but is also the most difficult aspect of design.
as a sudden change in speed (or rate of change of the
attribute).
Applications
Forward Kinematics Forward kinematics is the applica-
tion of the techniques described above to calculate mo-
tion. The transformations are calculated for the root node Commercial Computer Animation The predominant
and propagated down its subtree, and the process is applications for computer animation are commercial, in-
applied recursively. volving both TV advertisements and logo packages. Such
productions are fairly popular, but generally use simple
motion to keep design costs down.
Inverse Kinematics In an inverse kinematic formulation, The use of computer animation in feature films has
the positions and orientations of a hierarchical object are varied over the last two decades (see Figs. 2 and 3, color
calculated from the bottom up (of the tree structure). insert pages CP-3, 4). In 1982 Disney Studios released
Think of a human placing a hand somewhere: the position Tron, with an unprecedented 52 minutes of computer
and rotation data for the forearm and upper arm and animation from four different production facilities. Since
shoulder are determined by where the hand is. There are, then, feature films have used substantially less computer
however, an infinite number of solutions for the other animation, although the imagery is of higher quality, as it
parts: even though the hand is held still, the elbow can be was, for example, in the 1989 film, The Abyss.
twisted around to multiple positions. In an inverse kine-
matic formulation, a solution to this problem would be
calculated according to some constraint, such as mini- Visualization Over the last decade, the use of computer
mum energy expenditure, minimum angular displace- animation to visualize scientific activity has become in-
ment, etc. creasingly important. Visualization, including scientific
visualization, can be used to make images of processes
that are not normally visible, such as the temperature
Dynamics Formulations based on kinematic motion
alone do not generally account for real life (i.e. Newtonian
mechanics). This requires the inclusion of mass and ac-
celeration to calculate motion, as expressed through the
familiar relation F=ma. Dynamics formulations are typi- Abstraction
cally expressed by systems of partial differential equa-
tions (pde’s - q.v.) that describe accelerations and
velocities in the system; these are then integrated to Machine
calculate animated motion.
The classic problem with kinematics alone is that,
Guiding Programming
although it is WYSIWYG (What You See Is What You
Get), it does not look real unless it is carefully designed.
The classic problem with dynamics is that although it
is real motion, the animator must adjust equation coef-
ficients iteratively until the resulting motion is what is Task
desired. Considering the turnaround time required to
calculate motion using dynamics, it is not surprising FIG. 1 Abstraction and interaction.
244 COMPUTER ANIMATION
distribution around a reentering space vehicle, or air but animation of complex dance movements requires use
movement in a thunderstorm. of inverse kinematics.
Because time can be treated as an informational di-
mension, it can be used in a variety of ways. One is to
show the state of a physical system as a parameter is
History The first computer animations were made by
varied so as to provide a better understanding of how a Lillian Schwartz and Ken Knowlton at Bell Labs in the
function depends on its variables. A photographer will early and mid-1960s. The animations were two-dimen-
often bracket the exposure for a picture, meaning that sional and the motion was described by computer pro-
different aperture and shutter combinations will be used,
grams. Later in the decade, the Mathematical
and the best one selected later. Animation provides a way Applications Group, Inc. (MAGI was formed to do con-
to bracket experiments easily; because the system is built tract animations using proprietary ray tracing software.
to vary parameters, the scientist can easily try different Also around this time, Charles Csuri began experimenting
combinations of parameter values to see what happens to with computer-drawn pictures as fine art at the Ohio State
the system. University.
Another use of the time dimension is to show the In the 1970s, there were two important develop-
progression of a system in a different time scale than ments: hardware explicitly designed to handle 3-D graph-
normal, as in high speed or time lapse photography. When ics became a commercial product, and the University of
both of these uses are combined, the techniques help Utah program in computer graphics developed tech-
explain what is going on in a scientific experiment in a way niques for synthesizing color images of 3-D scenes. By the
that is difficult to do with only static images. end of the decade, both of these were commonplace, and
Visualization also plays important roles in medicine, the New York Institute of Technology Computer Graphics
both education and practice. Computer simulations can Laboratory had established a solid program for commer-
show in class how processes such as blood flow work. cial applications of computer animation, as well as a
Visualization techniques are used in CAT (computer- research and development program.
aided tomography - g.v.) and MRI (magnetic resonance The first half of the 1980s saw the outbreak of charac-
imaging) scans in diagnostic medicine. ter animation, where animated actors behaved in a man-
Because of all these advantages, the use of visual- ner that suggested innate characters, just as in a play or
ization for education is a welcome byproduct of the a work of prose. Also, much more attention was directed
emphasis on scientific visualization. In many educational to content, so animations conveyed stories as well as
circumstances, scenarios are too expensive or simply looking pretty. The Ohio State University, NYIT, and Pixar
impossible to demonstrate; through visualization, they all were producing notable animations.
can be viewed, providing a much better understanding By the end of the decade, workstations (q.v.) had
of the subject. Historically, the most common application become immensely popular, so that animators would
has been flight simulation. There are many aerospace have their own station to work at instead of having to
problem scenarios that are extremely difficult or dan- share a centrally located expensive system. Supercompu-
gerous to practice in reality; simulators provide ways ter design architectures began filtering down into the
to train for these without endangering anyone. The workstation design. All this was due to decreases in hard-
Federal Aviation Administration considers advanced sim- ware cost, which meant that more people than ever could
ulators so realistic that airline pilots are allowed to do gain access to 3-D animation facilities that were no longer
some of their training in them, rather than in real prohibitively expensive. This period also saw the emer-
airplanes. gence of other methods, such as inverse kinematics and
dynamics, as well as behavioral models. Networking be-
tween computer systems became commonplace, so that
Art Computer animated short films form the majority of animators could design an animation on their work-
works in the art category. These range from homework stations, but send the heavy duty rendering calculations
projects to Academy Award winning animations (Tin Toy, to larger, faster computers. Such trends are expected to
1988). Frequently, these films are rereleased in animation continue.
collections.
Other art applications include theater and dance vi-
References
sualization, where animation is used to give an idea of
what the production will look like before it is actually 1982. Beatty, John C. and Booth, Kellogg S. Computer Graphics,
staged. It is a simple matter to build an online version of 2nd edition. Washington, D.C.: IEEE Computer Society Press.
a stage setting and lighting plot and animate lighting 1990. Foley, J., van Dam, A., Feiner, S. and Hughes, J. Computer
Graphics: Principles and Practice, 2nd edition. Reading, MA:
changes, although the calculation requirements for multi-
Addison-Wesley.
ple light sources are usually rather drastic. There have
1990. Badler, Norman, Barsky, Brian, and Zeltzer, David, eds.
been suggestions for systems that would read a dance Making Them Move. San Mateo, CA: Morgan-Kaufman Publish-
notation, such as Labanotation, and automatically con- ers, Inc.
struct animations demonstrating the movements. Dance 1991. Gémez, Julian E. and Zeltzer, David. Computer Animation:
is especially difficult to animate because of the classic Principles and Practice. San Mateo, CA: Morgan-Kaufmann.
kinematic-dynamics tradeoff; the requirement for natural
looking movement is high, indicating the use of dynamics, JULIAN E. GOMEZ
COMPUTER ARCHITECTURE 245
Introduction Computer architecture is an interdisci- The significance of this distinction is illustrated by the
plinary field concerned with the physical or hardware Vax series of computer systems (Fig. 1). The Vax series,
structure of computer systems, the attributes of the vari- made by Digital Equipment Corporation (g.v.), is a family
ous parts thereof, and how these parts are intercon- of computers sharing a common system architecture—
nected. In the formative years (1940s and 1950s), the that is, software written for any model in the series will
principal elements of computer architecture were numer- operate correctly (although at varying speeds) on any
ical analysis (specifically digital arithmetic), physics (the other model (with certain exceptions, mostly related to
behavior of materials), and electrical engineering (specif- operating system code). In order for this to happen, the
ically the design of electronic circuits and their organiza- various members of the Vax family share the same
tion into computer systems. The 1960s saw the instruction set, arithmetic registers, I/O methods, mem-
introduction of semiconductor devices, which greatly en- ory addressing mechanisms, and such. A single docu-
hanced performance at substantially lower cost. By the ment (Leonard, 1989) is sufficient to allow one to write
late 1960s, operating systems (q.v.) and other software assembly language software, compilers, loaders, and
components were seen to play a major role in system most components of an operating system for any model
behavior. Mainstream computer designs also began em- in the series. Software written for the original Vax sys-
bodying software-based techniques at very fundamental tems in the late 1970s can still be run on the Vax systems
levels (such as microprogramming and virtual machines). of today. (In certain instances, newer members of the
With the advent of very large scale integration (VLSI) in series have extended the architecture in an upward
the early 1980s, semiconductor technology once again compatible way—that is, software written for the older
proved its role as a major driver of designs. The mid- to series can run on the newer ones, but not always vice
late 1980s saw the widespread introduction of work- versa.)
stations (q.v.) and other computer systems whose From an implementation standpoint, the VAX series
functionality is strongly influenced by human interfaces spans a variety of technologies and a processing perfor-
and effective use of computer graphics (q.v.). Thus, com- mance range in excess of 100-1. The original vax system,
puter architecture has continued and expanded its inter- the 11/780, had an effective execution speed of approxi-
disciplinary character and now contains elements of mately 1 million instructions per section (1 MIP). The Vax
computer science, human factors (q.v.), numerical analy- 9000 model 440, which has four processors, is described
sis (g.v.), operations research (q.v.), electrical and elec- as having a relative speed of over 100 times that of the
tronic engineering, and solid-state physics. original 11/780. Several of the Vax models are shown in
For the purposes of this article, two fundamental the figure, along with other ways in which they differ. One
aspects of computer architecture will be identified: of the most interesting differences is the fact that, in some
Vax models, portions of the instruction set are im- processor, a quantity sometimes called the data path.
plemented in software rather than hardware. However, if cache memories are used, this definition can
be interpreted in at least two different ways. The main
point is that word length can be a very misleading indica-
Subsystems The three major subsystems of a com-
puter are the storage, the processor, and the input/output tor of acomputer’s memory system architecture.
and communication subsystem. We discuss each of these
from both the system and implementation architecture Registers Registers were once the fastest and most ex-
perspectives. The classic von Neumann machine design is pensive memory units in a computer. Today, due to ad-
assumed, except where otherwise noted. vances in semiconductor technology, main memories and
registers can be essentially equal in these characteristics,
Storage The storage, or memory, of a computer sys- but their functions remain distinct. Registers are a
tem contains both the data to be processed by the system computer’s most frequently used memory units, playing
and the instructions indicating what processing is to be arole in the execution of every instruction. They also tend
performed. Three levels of storage are generally identi- to be few in number, both to enhance performance by
fied: registers, main memory or RAM (for random access keeping them physically “close” to the processing ele-
memory), and secondary or auxiliary storage (see MEM- ments, and to make possible a shorter addressing scheme
ORY). Table 1 indicates the general characteristics of each in the instruction format. Two fundamental categories of
of these. Regardless of the level, the fundamental unit of registers can be distinguished: registers that are directly
digital computer storage is the bit, conceptually contain- accessible by application programs (and, therefore, are
ing one of two distinct values: 0 or 1. Aggregates of bits are part of the system architecture), and registers that are not
combined into larger units, such as bytes (usually 8 bits) directly accessible from software. The former generally
and words (anywhere from 8 to 64 bits or more). As a rule, hold data that are actively being processed by the
the larger its word length, the more powerful the com- computer’s arithmetic and logic unit(s). The latter con-
puter. Therefore, many have tended to classify computers tain information that describe the current state of the
by their word lengths. However, there are so many ways computation process, and may vary with different im-
to define word length that it should never be the sole plementations of the same architecture family.
basis for classification. The minimum complement of system architecture
Early computer systems organized memory as fol- registers is essentially one: an arithmetic register or accu-
lows: bits were organized into fixed-length words, where mulator which serves to hold the intermediate results of
each word was referenced as a unit by a single memory computations or other data processing activities. (Al-
address, and the individual bits of a word were trans- though usually part of the system architecture, accumu-
ferred as a group between acomputer’s main memory and lators may be hidden from the software in some designs
its registers or secondary storage. Each word would con- such as those using a stack (q.v.) for computation). Most
tain a single instruction or datum. The arithmetic-logic unit current computers have multiple accumulators so that
would operate on one word of data at a time. several intermediate results may be maintained. Other
A contemporary computer, by contrast, might ad- registers usually found in contemporary computers in-
dress data in groups of 8 bits, transfer data to registers in clude a status register, indicating the current condition of
groups of 16 bits, transfer data to secondary storage in the various hardware components and computational re-
groups of 64 bits, operate arithmetically on data “words” sults; and a program counter, indicating the location in
of 32 bits, have variable-length instructions ranging from main memory of the next instruction to be executed. In
16 to 48 bits, and use a 24-bit memory address. What, addition to these, many computers have index registers
then, is the computer’s word length? Today’s most com- for counting and for “pointing” into tables; address or base
monly accepted system architecture definition is the registers, containing addresses of blocks of main or sec-
length of a typical arithmetic register. This is usually equal ondary memory; a Stack pointer, containing the address of
to the number of bits operated on in parallel by the a special block of registers or main memory, which is
arithmetic unit, and may or may not be equal to the treated like a pushdown stack; and various special-pur-
number of bits needed to hold a single precision integer pose registers, whose functions depend on the details of
number. The commonly accepted definition from an im- the particular computer.
plementation architecture point of view is the number of Registers that are part of the implementation archi-
bits transferred in parallel from the main memory to the tecture tend to vary substantially among various designs.
TABLE 1
—
ee es
Type Access Time Capacity in Words Use
eee
Registers 10-50 ns 1-128 Data, status, control info, current instruction
Cache memory 10-100 ns 512-500,000 Frequently used instructions and data
Main memory 50-500 ns 16,000-1,000,000,000 Programs, data
Auxiliary memory 10-100 ms 500,000-100,000,000,000 Long-term storage
ne
COMPUTER ARCHITECTURE 247
The most common among these are an instruction register, ten to. In some designs, different technologies will be
containing the instruction currently being executed; a used to implement different sections of memory. For ex-
memory address register, containing the address of the ample, a frequently used section may have higher speed
memory cell currently being read to or written from main memory than the others; or a section whose contents
memory; a memory data register, containing the data must survive power failures or should never be modified
being read from or written to main memory; and similar might be implemented with non-volatile read-only mem-
registers pertaining to secondary memory and peripheral ory (ROM - g.v.), the contents of which cannot be altered.
devices. In recent years, the concept of different implementations
A major architectural issue beyond the number, ac- for different parts of memory has been extended to in-
cessibility, and functions of registers is that of special clude “memory” that can be addressed by the processor,
purpose versus general registers. In a special purpose but is not actually present as part of the physical main
design, each register has a specific, narrow function, memory. We will discuss two of these concepts in the
whereas in a general purpose design, the registers may be sequel: virtual memory (q.v.) and direct memory access
used for a variety of purposes, as directed by the soft- (DMA) I/O.
ware. Real machines tend to have a mixture of both types, The performance of a computer depends on the size
but none that are totally general in purpose. The flexibil- and speed of its main memory. The total number of words
ity of general purpose designs is attractive from a soft- in a memory is typically a configuration decision, with
ware viewpoint, but it can impose penalties in upper and lower limits determined by both the system
implementation efficiency because all parts of the proces- and implementation architectures. The speed of memory
sor require data paths to the general register set. On the is determined by implementation and cost factors, and is
other hand, a general purpose approach may bea neces- also influenced by size in the sense that very large mem-
sity in designs where only a small number of registers can ories must be physically more distant from the processor
be accommodated. The structure and discipline imposed and therefore take longer to access. Numerous tech-
by special purpose registers may have software benefits niques have been used to increase the effective speed of
as well, and many computer designs aimed at supporting amemory system. Cacheing and interleaving are probably
higher-level languages tend to depend heavily on re- the two most popular.
stricted use of registers. Fig. 2 illustrates the use of both Cacheing is a technique whereby a small, high-speed
general purpose and special purpose registers in the Na- memory is used to contain the most frequently used
tional 16032 microprocessor, which was designed to sup- words from a larger, slower main memory. If the “hit ratio”
port block structured higher-level languages. (percent of memory references found in the small, cache
memory) is high, the average speed of the entire memory
Main Memory The main memory contains programs is substantially increased.
and data that are ready for processing by the computer. It With interleaving (q.v.), two or more independent
consists of a linear sequence of “words,” each individu- memory systems are combined in such a way that they
ally addressable and each capable of being read or writ- appear as one faster memory system. In one approach, all
General Purpose 2
y
stack)
Static Base*
words with even addresses come from one memory sys- standpoint, memory structure enables efficient manage-
tem, and all words with odd addresses come from an- ment of memory resources, especially among multiple
other. When an even-numbered word is fetched, the tasks or multiple users (see MULTITASKING). From an im-
next-higher odd-numbered word is fetched simulta- plementation perspective, structured memory may allow
neously from the other memory system, on the theory efficiencies in memory system design, such as placement
that it is likely to be the next word requested. If this guess of high speed memory devices in the most frequently
is correct (as it often is), the next word’s access time (q.v.) used segments, convenient schemes for protection
is essentially zero, thus nearly doubling the average mem- against unauthorized access, or (via memory mapping)
ory access speed. Commercial computer systems have may permit a small computer to support more memory
employed 4-way, 8-way, and even 16-way interleaving, than can be conveniently addressed with one word.
with a variety of organization strategies. The higher de-
grees of interleaving are used predominantly in systems
requiring access to memory by multiple, parallel proces- Memory Mapping Memory mapping is the translation
sors. between the logical address space and the physical mem-
The form in which memory is presented to the soft- ory. The objectives of memory mapping are (1) to trans-
ware by the system architecture is sometimes called the late from logical to physical address (where these are
logical address space or the virtual address space. In the different), (2) to aid in memory protection (¢.v.), and (3)
most straightforward designs, the logical address space is to enable better management of memory resources. Map-
a linear sequence of words or bytes containing the pro- ping is important to computer performance, both in a
grams being executed and the data to be acted upon. It local sense (how long it takes to execute an instruction)
will differ from the physical memory (implementation) and in a global sense (how long it takes to run a given set
mainly in size (number of words), insome cases fewer and of programs). In effect, each time a program presents a
in other cases more. Two potential drawbacks of a linear logical memory address and requests that the corre-
approach are that a large memory may require a large sponding memory word be accessed, the mapping mech-
address, which costs more to implement, makes instruc- anism must translate that address into an appropriate
tions bigger and generally makes processing slower (it physical memory location. The simpler this translation,
takes n bits to address 2” words); and that it may be the lower the implementation cost and the higher the
awkward to partition a linear space into several parts that performance of the individual memory reference. How-
have different purposes. ever, more capable translation mechanisms permit pro-
To deal with these drawbacks, certain system archi- tection of memory segments from unauthorized access
tectures provide a more complex logical address space. In and/or facilitate dynamic rearrangement of objects in
one design, the address space is perceived by software as physical memory. These enable efficiencies in the pro-
a set of pages. Each page is a sequence of words; all pages gramming, debugging, and supervisory phases of com-
are the same in size (usually a power of two); and each puting, which may far outweigh the cost of slower
page has a distinct identification number or page number. individual instruction execution times.
A memory address consists of two parts: a page number Although there are many techniques of memory map-
and a word offset or displacement (within the page) (Fig. ping, there are two fundamental situations to be over-
3b). There may or may not be an implied spatial relation- come: when the logical address space is smaller than the
ship between consecutively numbered pages. physical address space (common on microcontrollers,
Another approach is the segment design, in which microprocessors, and older mini- and mainframe comput-
there are several independently numbered blocks called ers), mapping is needed to gain access to all of physical
segments, but with no requirement that they all be the memory; and when the logical address space is larger
same size. This permits each software module to be than the physical address space, mapping is used to
placed in whatever size segment is most suitable. Seg- assure that each logical address actually used corre-
ment and page designs may be combined so that each sponds to a physical memory cell. The latter situation is
segment contains several pages and the size of a segment discussed below, under “Virtual Memory,” although vir-
is a multiple of the page size. Other concepts of logical tual memory can also be used with small logical address
address space have been discussed in the literature, but spaces.
are only occasionally found in mainstream computers. The size of the logical address space is determined
There are several other reasons for having a struc- by the number of bits ina memory address. Typically, the
tured virtual memory (q.v.), rather than one large linear size of an address is limited by the word length of the
sequence. From a software viewpoint, a major objective is computer. On a typical computer with a 16-bit word, only
to provide a means of organizing programs and data ac- 2'° or about 65,000 words may be addressed. Technology
cording to their characteristics, such as type (instruc- now permits such systems to be attached physically to
tions, characters, real numbers, integers), access rules many times this much memory, but there is no direct way
(read only, execute only, read and write), ownership (if to address it without redesigning the instruction set.
two or more programs are simultaneously in memory), or Thus, the primary purpose of a memory mapping mecha-
utilization (all data used during the same phase of a nism on such a system is to enable the logical address
process, may be grouped into one block). Object-oriented space to be assigned to a desired portion of a larger
programming (q.v.) can be supported very effectively with physical address space. Three such methods are
a properly structured virtual memory. From a supervisory illustrated in Fig. 3: relocation, paging, and segmentation.
COMPUTER ARCHITECTURE 249
Translation Technique
In the relocation scheme, the contents of a bias register
Logical Address UF Bias = Physical Address are added to each logical memory address to produce a
physical address. The effect is to offset the program by
(16 bits) (20 bits) (20 bits) the biased amount in physical memory. Several different
programs can coexist in the same physical memory with-
Logical and Physical Memory Structure
out overlap by assigning different bias values to each of
Logical Physical
them.
(65,536 words) (1,048,576 words)
In paging, the logical address space is divided into a
Bias
set of equal-sized blocks called pages, and each is
Value
mapped onto a block of physical memory (called a page
frame). The effect is similar to that of biasing, except that
the program is broken into several separately-biased
pieces (pages), and each page must begin at a page frame
boundary in physical memory. The primary advantage of
paging is that it allows a contiguous logical address space
to be split into several noncontiguous physical frames.
This makes memory management easier and also permits
sharing of some of a program’s pages among multiple
processes without complete overlap of physical ad-
dresses. This scheme may be faster than the bias tech-
FIG. 3(a). Biased memory mapping (with sample Values). nique because it requires only a concatenation of two
Translation Technique
Logical Address
Page
Page Table
(16 entries)
Physical Address
(24 bits)
(12 bits)
Logical Physical
(16 pages of 4,096 words each) (4,096 page frames of 4,096 words each)
(65,536 words) (16,777,216 words)
Translation Technique
Logical Address
Segment
(16)
paetts
+ Physical Address
(24 bits)
(22 bits)
Logical Physical
(16 segments of up to (16,777,216 words; each segment
65,536 words each) must start on 16-word boundary)
addresses instead of an addition to form the physical or “execute only”), and the memory mapping hardware
address. However, the page map file requires more regis- can verify that each access to the segment fits this mode.
ter bits than the bias register. For more information on memory addressing and
Segmenting is somewhat like a combination of bias- mapping, see ADDRESSING.
ing and paging. It breaks the logical address space into
several blocks, but does not require them to be of any Auxiliary Memory (Secondary Storage). Auxiliary
particular size or to be mapped into any particular phys- memory is the lowest-cost, highest-capacity, and slowest-
ical frames. Physical addresses are obtained by biasing access storage area in a computer system. It is where
the individual segments. As might be expected, this ap- programs and data are kept for long-term storage or when
proach is the most flexible and also the most costly, both not in immediate use. Such memories tend to occur in two
in hardware and performance. It requires both a file of types—sequential access (data must be accessed in a lin-
bias values (the segment table) and an extra addition ear sequence) and direct access (data may be accessed in
operation per memory reference. any sequence). The most common sequential storage
As noted above, mapping can enable protection device is the magnetic tape, whereas direct access de-
against unauthorized access. A typical method, illus- vices include rotating drums, disks, and certain low-
trated in Fig. 3(c), is to incorporate a set of access rights speed semiconductor devices such as bubble memory.
in the segment table. The access rights indicate a mode of Typically, a computer operates as follows. A program
access that is permitted to a segment (such as “read only” and its data are initially located on a secondary storage
COMPUTER ARCHITECTURE 251
device. Program execution is achieved by copying the dent to transfer an entire block at one time so as
program and some of the data into main memory. Instruc- to avoid additional! positioning and latency de-
tions are then executed, causing data to be copied into lays.
registers, operated on or tested, and results stored back
into main memory. Occasionally, an input operation is If a program is to access data sequentially, and the data
generated, causing more data to be copied from second- are located on a secondary storage device, there is a
ary storage, perhaps overwriting some that were pre- delay for positioning and latency time, followed by a
viously read. As computation proceeds, results are sent period when the data are transferred. Because the trans-
back to secondary storage via output operations. fer rate of the secondary device is typically 5-50 times
Many fundamental architectural issues are related to slower than that of the main storage, it is desirable to
the means by which data and programs are transferred design a computer system so that the processor and main
between main and secondary storage. The basic problem memory can carry out useful work both during the posi-
is that the storage and transfer characteristics of second- tioning and latency delays (when main storage is other-
ary devices do not match those of main storage. Typical wise idle) and during the transfer period (when the main
access times for main and secondary storage were given storage is only required 2-20% of the time). If a program
in Table 1; but to understand this better, we must con- is to access data in a non-sequential fashion, the latency
sider the structure of a secondary storage device. Data and positioning delays become even more significant.
are stored in blocks whose size is determined by the Architectural features such as interrupts and direct
characteristics of the device (anywhere from 64 to 512 memory access I/O are designed to simplify the process
words is typical). This leads to three distinct time periods of allowing the processor to do useful work while data are
related to data access (see Table 2 for some typical values being transferred (see “Input/Output,” below). Supervi-
of these times for various devices): sory techniques such as multitasking (¢.v.) and multi-
programming (g.v.) have a similar objective; thus,
1. Positioning time is the amount of time required to architectural features that support these are important to
move the read/write mechanism to the location system performance.
of a block of data. In the case of a magnetic tape,
this may involve moving to the next consecutive RAM Disks Personal computer users have first-hand
record or spinning all the way down to the other awareness of the speed difference between main and
end of the tape. On a disk, it involves moving the secondary memory. Programs on a disk generally take a
read/write heads to the proper track. For a drum while to start up (they must first be loaded into main
or a “fixed head” disk, positioning time is not a memory) and may operate more slowly if designed to
factor because there is always a read/write access the disk during execution. If a computer has
mechanism at every track. enough main memory, it might be desirable to keep fre-
2. Latency is the amount of time for a rotational quently used software and data in main memory for the
storage device to attain the correct position for duration of a work session. One very simple technique for
data access. For magnetic tape, this is essentially this is to set aside a portion of main memory, designate it
a “RAM disk,” and provide software that allows one to
null, although one generally considers the tape
access this portion of memory as though it were an actual
“start-up” time as a latency time. For disks and
disk (albeit one with zero access time, zero latency, and a
drums, latency varies from 0 to the time of a
very high transfer rate). This approach is very popular on
complete rotation, depending on the location of
personal computers and workstations. (If power is turned
the data.
off between work sessions, however, information on a
3. Transfer time is the amount of time required to
RAM disk is lost and will need to be reloaded.) On larger
transfer a block of data to or from a storage
computers, a sophisticated operating system generally
device, once the positioning and latency have
solves the problem in a different and more automated
been completed. For tape, disk, and drum, the
way that is invisible to the user.
transfer time is reasonably small, but it is pru-
Virtual Memory and Memory Hierarchies The idea of
’ TABLE 2. Data Access Comparison for Typical Devices virtual memory is to give the programmer the illusion of
a very large main memory, even though only a modest
Transfer amount of main memory is actually available. This is
Positioning Time achieved by placing the contents of the large, virtual
Storage device Time Latency (612 bytes) memory on an auxiliary memory device and bringing
parts of it into main memory, as required by the program,
Cache memory 0 0 .01-.1 pis in a way that is transparent to the program. Virtual mem-
Main memory 0 0 .05-.5 us ory is prevalent on systems with large word lengths (large
RAM disk 0 0 .05-.5 ps logical address sizes), although it is found on systems of
Magnetic drum or 0 5-50 ms 2-25 us
all sizes.
fixed head disk
2-25 ps Virtual memory is an excellent example of the subtle
Moving head disk 20-100 ms 10-50 ms
0 sec-5 min 10 ms 2-25 ps interplay between system and implementation architec-
Magnetic tape
eee
eee EaEnyaEESnSESESSE SSE tures. Although the programmer with a virtual memory
252 COMPUTER ARCHITECTURE
system can theoretically assume that a large amount of processing unit architecture are the instruction set and
memory is available, seemingly minor changes in the data the extent of parallelism.
access pattern may have major ramifications on the
amount of time required to execute programs. Thus, the
Instruction Set An instruction tends to occupy one or
programmer is driven to strive for locality of reference, in
more words of storage, and its purpose is to specify an
which consecutive references are made to objects that
are physically adjacent, or nearly so; and to access multi- operation to be performed by the processor. An instruc-
dimensional array data in a sequence corresponding to tion.(Fig. 4) consists of an operation code (op code), which
that used by the compiler for storing in memory. Con- indicates the general nature of the function to be per-
versely, the implementation of virtual memory calls for formed; possibly one or more flags, denoting special
the architect to design hardware that “learns” (or makes modes of operation; and possibly one or more addresses,
good guesses at) the memory reference patterns of pro- which specify the operands or data to be operated upon.
grams so that the data most frequently referenced will be An instruction format is usually characterized by the
kept in main memory. See Denning (1970) for more details. number of such operand specifiers, and although a given
A concept related to virtual memory is that of hierar- processor will usually support several instruction for-
chical memory. In its simplest form, this means that there mats, one will tend to predominate. Most common today
is a hierarchy of memory types ranging from “large and are the “one-address” and “two-address” instruction for-
slow” to “small and fast.” The important idea, however, is mats.
to give the programmer access to only one type of logical By way of comparison, consider a typical instruction,
memory (typically, “main” memory), with unseen im- “integer add,” which requires three operands: two integer
plementation techniques making this memory appear numbers to be added, and one integer result. With a
both fast and plentiful. Caches and interleaving (see three-address format, all three operands would be speci-
“Main Memory”) are popular techniques for achieving a fied directly. With a two-address format, one of the three
high apparent speed, and virtual memory techniques are would be implicit—typically, a register or the top of a
used to achieve a large apparent size. In such an architec- stack. A one-address format would have two implicit op-
ture, the registers may no longer be of concern to the erands, and so forth.
programmer, who is given the view that all of main mem- An issue that was once a source of considerable
ory is fast. The real registers may be hidden from the debate among computer architects is which form of in-
system architecture or may be presented in the guise of struction has the highest “bit efficiency”—i.e. which form
designated, frequently used main memory locations for allows “typical” programs to be written with the fewest
which there are special addressing modes. bits. This was deemed an important goal because smaller
In fact, as memory technology has advanced to the programs would make more efficient use of memory. As a
point where main memory is as fast as registers, actual general rule, a format calling for more addresses requires
implementation of real registers within main memory is more bits per instruction, but needs fewer instructions to
becoming commonplace. perform a computation and thus perhaps fewer bits for
The ability to provide registers within main memory the computation. Research showed that an “optimal” in-
has additional benefits in terms of multitasking—a widely struction set would support several formats, with the
used method of sharing a processor among several activ- most frequently used instructions being as short as pos-
ities. One of the most significant overhead costs of multi- sible. However, this was taken to extremes with proces-
tasking is the “context switch” time—i.e. the time sors that had dozens of different instruction lengths and
required to save the contents of the registers for one task formats. Such processors had marginally better bit effi-
and load up new values corresponding to another task. In ciency, but the implementation costs and performance
the past, designers have reduced this overhead by provid- penalties showed the folly of focusing on a single design
ing multiple sets of registers. But today it may be easier goal. Today, the emphasis is on achieving a balanced
and cheaper to simply dispense with the distinction be- combination of bit efficiency, performance, and cost. In
tween registers and main memory so that no values need fact, some of the designs based on RISC architecture have
to be saved or loaded. Instead, the “registers” or context
of a process can be assigned to a distinct block of main
memory for each task. A “context switch” simply changes Operation Flags
a “register pointer” (the only genuine register required in Zero Address (data implicit)
the system architecture). This approach has additional
benefits with tightly-coupled multiprocessors, since it al- Operation
lows easy switching of tasks between processors (see
One Address
Parallelism below).
Address1 Address 2
Two Address
Processing The processing unit of acomputer system
consists of two parts—the control unit, which governs the
Operation Address 1
operation of the system, and the arithmetic-logic unit Address 2 Address 3
(ALU), which carries out the computational and process- Three address
ing functions. In addition to the register set, key issues in FIG. 4. Typical instruction formats.
COMPUTER ARCHITECTURE 253
sacrificed bit efficiency to achieve very high perfor- circles was toward even more complex architectures that
mance. provide direct support for high-level languages (Myers,
Operand addressing is usually more complex than is 1982) and sophisticated memory addressing and protec-
implied above. The field of an instruction that identifies tion (Levy, 1984).
an operand may contain several subfields, and may re- However, another trend was quietly developing
quire a significant amount of computation just to deter- among those trying to develop better microprocessors
mine the location of the operand. The various ways of and microcomputers—entire processors and/or comput-
identifying an operand are called addressing modes. A ers on a single, very-large-scale integrated circuit (VLSI
representative set of addressing modes is as follows. (see INTEGRATED CIRCUIT). The better work was done by
interdisciplinary teams that combined knowledge of com-
Operand Specifier Format pilers, operating systems, the fundamental properties of
(in address field of instruction) VLSI, and the actual behavior of real application pro-
type | designator
grams. Analysis of the frequency with which various in-
structions are used showed that a small number of
Type OperandClass _Designator Interpretation
relatively simple instructions account for most of the time
0 Immediate Operand is designator itself spent by typical programs. Moreover, some of the more
1 Direct Designator is address of operand complex instructions perform functions that can be ac-
2 Indirect Designator is address of memory cell complished just as well, if not better, by short sequences
containing address of operand of simpler instructions. Reduced instruction set comput-
3 Register Designator indicates a register ers (RISC), in which there are only a few carefully selected
containing the operand ~ instructions, developed out of this work. Their high-per-
formance potential made them so popular that the term
Many other operand formats have been used. The in- RISC had become a rather abused marketing term by the
struction set reference manual of any computer system
late 1980s (just as the word “length” had been abused in
will provide details on the specific approach used therein. earlier times). In the meantime, the best mainstream pro-
(See also the articles in this encyclopedia on ADDRESSING cessors have combined the best concepts of both RISC
and on specific systems such as the DEC VAX and the IBM and CISC, yielding instruction sets that are carefully cho-
360/370/390 series.) sen, based on the requirements of efficient implementa-
tion, as well as the requirements of high performance by
In addition to the format of a computer’s instruc-
realistic application software.
tions, the architect must consider their semantics—i.e.
what functions they perform. For example, one issue is
how to compare different values. In one approach, a
“compare” instruction compares the values of two oper- Tagged Architectures In the von Neumann type of in-
ands and sets a condition code, indicating whether the struction set described above, there is no distinction
first operand is less than, equal to, or greater than the made in storage between instructions and data and in
other. This code can be tested or stored for later use. An storage between different types of data. That is, it would
alternative approach is to simply subtract one item from be possible to perform an addition operation on a bit
the other and test the sign and value of the result. The pattern representing an instruction and, although the
results might be meaningless, the computer would not
condition code approach is more flexible, especially for
detect any problem. Such cases are the cause of numer-
comparing non-numeric quantities, but it is also more
expensive to implement (see INSTRUCTION SET). ous programming errors; thus, some computers have
used tagged architecture, in which each memory word
consists of two parts: the “data” part, which contains
CISC and RISC For many years, instruction sets were conventional data or instruction, and the “tag” part,
designed on the basis of the register set, word length, which is a few extra bits that describe the data part. This
technology characteristics, and the designer’s concept of enables detection of errors, and also has ramifications on
how programs would be written (generally based on as- instruction set design. Because the type of data is implied
sembly language programming styles). The functions per- by the word containing the data, it is no longer necessary
formed were quite simple, such as controlling the to have separate instructions for each data type sup-
sequence of instruction execution, shifting data, adding ported by the machine. Instead of “integer add,” “floating-
numbers together, and comparing values. Among the first point add,” and “decimal add,” a tagged architecture
“higher-level” features found in instruction sets were in- needs only a single “generic” instruction: “add.” The tag
structions to perform floating-point calculations. fields indicate the specific type of addition to be per-
In the mid-1970s, more designers began to examine formed.
what actual programs (mostly written in high-level lan- Tagged architectures remain a controversial subject
guages) do. Initially, this work led to direct instruction set due to concerns about storage space efficiency, im-
support for such “high-level” functions as procedure call- plementation cost, and the semantics of generic instruc-
ing, list searching, and complex array access. As the tions when several different data types are used in the
computers of this period developed more and more com- same instruction. They have been quite successful in
plex features, they came to be known as Complex Instruc- symbolic processing systems, but have not made wide
tion Set Computers (CISC). The trend in architectural inroads into mainstream computer design.
254 COMPUTER ARCHITECTURE
Microprogamming and Writable Control Storage One for the memory access mechanism. Algorithm design
of the most popular techniques for implementation of plays an important role in the effective use of massively
processing units is microprogramming. In this technique, parallel processors.
each instruction can be thought of as a “subroutine call” A third issue is whether to associate processors in a
to a program written in a lower-level language, whose “pipeline” or “assembly line” fashion, with each stream of
domain includes the data paths and registers of the pro- data passing through several processors, or whether to
cessor. A major advantage of microprogramming is that assign each processor to work on a separate stream of
hardware design errors can be corrected by simply revis- data.
ing the microprograms instead of changing the circuitry. Special-purpose architectures exploit parallelism in
This becomes a particularly important advantage in the unique ways for particular applications. A case in point is
VLSI era, where the entire processing function may be signal processing, in which billions of operations per sec-
imbedded in a single silicon circuit, and where a “circuit ond may be achieved on a single microprocessor through
change” is a prohibitively expensive process. Moreover, the exploitation of specific characteristics. For example,
use of microprogramming allows the development of rel- signal processing is usually done on one bit at a time, and
atively complex instructions, without a substantial in- arithmetic overflow is generally ignored. An interesting
crease in processing unit complexity; instead, the amount aspect of these processors is that they deviate from con-
of storage for microprograms is increased. While such ventional processors in many unexpected ways. For ex-
storage is not free, it is composed of standard memory ample, with a signal processor, it may be perfectly
devices whose regular structure makes them relatively acceptable to ignore the higher-order digits of a multipli-
simple to design and build. cation, and when there is contention (g.v.) for memory
Normally, microprograms are stored in a “read only” access, the processor is given priority over peripheral
memory device (ROM), both to reduce cost and to avoid devices.
loss of information during a loss of power. With writable Almost all issues of parallelism are strongly influ-
control store (WCS), a part of the microcode storage is enced by the nature of the problem being solved, as well
implemented with writable memory. This allows a gen- as the algorithms proposed for the solution. Thus, truly
eral-purpose computer to be tailored to the requirements general-purpose parallelism remains an elusive goal. The
of a specific application by selective introduction of new most dominant form of parallelism in actual commercial
instructions. The technique has achieved some use in use is the sharing of peripherals and secondary storage
research environments, but the complexities of software through loosely coupled networks of processors (see NET-
support (designing compilers that can make use of the WORK ARCHITECTURE).
new instructions, for example) have restricted commer-
cial use to applications that can benefit significantly from
the technique. The Burroughs B1800, for example, used Input-Output and Communication
writable control store to permit tailoring of the instruc-
tion set to different application areas at different times. Fundamental Issues The remaining major architectural
aspects of a computer system are related to communicat-
Parallelism The speed with which instructions can be ing between the computer and the “outside” world. A
processed is determined by two factors: how fast the typical computer system will be surrounded by an array
circuitry can perform a single instruction, and how many of devices such as terminals, printers, and plotters, which
instructions can be performed in parallel. Circuit speed is are collectively called its input/output (I/O) devices. The
largely determined by system cost, as limited by the avail- function of such devices is to transmit data between the
able circuit technology, which now is limited by the fun- computer and its users, with appropriate transformations
damental laws of physics. Thus, to achieve the speed along the way. For example, a printer will transform bits
desired in high-performance systems, efforts are made to and bytes into control signals for a mechanical printing
achieve high degrees of parallelism. Most of the tech- mechanism; a video terminal will translate keystrokes
niques used to exploit parallelism belong to two dis- into bytes of data, and then back into dots on a cathode
ciplines: implementation architecture and algorithm ray tube.
design, although the results strongly affect system archi- I/O devices share certain characteristics with auxil-
tecture (see PARALLEL PROCESSING: ARCHITECTURE). iary storage devices; thus, both tend to be handled in
Parallelism requires the use of multiple processors, similar ways architecturally. These devices have rela-
and one of the first design issues is whether they should tively low access speed and are usually capable of oper-
share the same main memory (tightly coupled) or have ating more or less independently from the processing
their own separate memories (loosely coupled). Either unit. Thus, a complex, “loosely coupled” connection to
way, each processor generally has its own registers, and the processor and main memory is required. Because of
they generally share at least some of the secondary stor- their relatively low speed, it is desirable to keep these
age and peripherals. Which approach is better generally devices in continuous operation, so that their maximum
depends on the nature of the application. performance potential can be realized. Low speed and
A second issue is whether to use a small number of independent operation make it attractive to allow several
very powerful processors or a very large number of sim- devices to operate simultaneously. The fundamental is-
ple processors (massive parallelism). The latter approach
sues of1/O architecture relate to the means of transferring
generally involves tight coupling and an intricate design
data between these devices and main memory, and to the
COMPUTER ARCHITECTURE 255
process of coordinating and synchronizing multiple de but one of the devices is designated as a master, and it
vices, with the goal of obtaining maximum performance controls access to the bus by issuing authorization sig-
from each. nals. Information is transmitted across a bus in two parts:
address and data. Each device is associated with a spe-
Communication Paths A peripheral or storage device cific address or range of addresses, and when an address
must be connected to either the processor or main mem- comes down the bus, the associated device is designated
ory. A data path is a bundle of wires or other connecting to receive or send the associated data. Buses were origi-
medium that accomplishes this task. More capable data nally devised to allow data to flow among computer reg-
paths may involve their own special purpose processing isters and between the processor and main memory. This
units. concept was later generalized to accommodate second-
Data paths are generally grouped into three types: ary storage and peripheral devices. Today, certain forms
simplex paths allow data to flow in only a single direction; of local area network (LAN - q.v.) have extended this
half-duplex paths allow data to flow in either direction, but concept to longer distances and a wider range of devices.
only one at a time; full-duplex paths allow data to flow in An advantage of the bus is simplicity in connecting
both directions simultaneously. A simplex path might be things to the main memory system. Only one bus-to-mem-
used to connect an input-only device (e.g. a keyboard) to ory connection need be made. All contention for memory
the computer or to connect the computer to an output- access is resolved with the bus, rather than with the
only device (e.g. a display or printer). A half-duplex path memory interface. This permits memory access to remain
would be used to connect a device that does both input fast and simple, while allowing many devices to have
and output, but only one at a time (e.g. a‘tape drive). A direct access to memory. However, the interface between
full-duplex path is necessary when the device needs to do the device and the bus is more expensive than, for exam-
both input and output at the same time or requires rapid ple, the daisy chain connection. Use of buses has steadily
switching between input and output modes. Any of the increased over the past two decades, due to advances in
data paths discussed below may be implemented in a circuit technology that permit a bus interface to be im-
simplex, half-duplex, or full-duplex manner. plemented relatively inexpensively.
A channel is a data path connecting a peripheral
device directly to a memory system. If more than one Control Control of input and output must accomplish
device is required, each may be connected to a different initiation of the transfer, synchronization of communicat-
channel, or there may be a way for several devices to ing devices, and completion reporting. Three potential
share the same channel. Simple shared channels permit “players” in this process are the processor, the memory,
only one device to transmit data at a time, whereas multi- and a peripheral or secondary storage device. The data
plexor channels allow interleaved data transfers from path is the medium of communication, and it often han-
several devices. Multiplexing (q.v.) can be performed by dles much of the synchronization. Many authors have
dividing the channel into several parallel sub-channels or attempted to organize the various forms in which I/O
by time multiplexing, in which units of data from different control may occur, although none has been entirely satis-
devices alternate. Two examples of time multiplexing are factory. Smotherman’s taxonomy (1989) is one of the
the byte multiplexor channel, which transmits one byte of most recent, and this paper has the advantage of discuss-
data at atime from each device, and the block multiplexor ing some of its predecessors. Here we attempt to organize
channel, in which large blocks of data are interleaved. matters in a somewhat simpler way.
The channel is a good way to achieve high perfor- The most straightforward approach to controlling
mance in device-to-memory communication, but its costs the transmission of data is program-controlled I/O. Under
can be high for resolving contention problems. Thus, it is such a scheme, the processor will direct the input and
most appropriate when all devices are similar or when output activity. In one approach, there will be an explicit
there are only a few devices. instruction which initiates the transfer by commanding a
A daisy chain is a low cost, prioritized method of device to accept a small amount of data (typically one
connecting several devices to the computer, but allowing word or byte) for display or storage (output) or to trans-
only one of them to communicate. It works like certain mit a small unit of data to the processor (input). The
old-fashioned decorative tree lights. The computer is con- instruction may wait for transmission to occur or may
nected to the first device, which, in turn, is connected to simply initiate the activity, with subsequent “test” in-
the second device, and so on. Each device has a switch structions required to poll the device and determine
that controls the link to the next device. If all switches are when transmission is complete. Transmission usually oc-
on, the last device in the chain can communicate with the curs between the device and some processor register,
computer. However, any device in the chain can request although in some designs a main memory cell may be
access to the computer by simply switching off the lower specified.
devices. The first device in the chain has top priority—it An alternative to use of explicit instructions is mem-
can communicate at will by simply switching off the oth- ory-mapped I/O (q.v.). This technique has the processor
ers. The second device has next highest priority—it can direct activity by writing to certain reserved cells in its
communicate except when the first device has preempted logical memory space, called control words. Control
it, and so on with remaining devices. words may actually be implemented as reserved main
A bus is a data path that connects devices in parallel, memory cells or may be implemented within the device
more or less like a party line. Any device can use the bus, itself. The act of writing into a control word causes the
»
256 COMPUTER ARCHITECTURE
address of that word to be sent out across the memory Interrupts and Traps These two techniques are very
bus. As previously discussed, different devices on a bus similar, and some designs do not distinguish between
will be associated with different addresses. Thus, each them. Both are methods of notifying the processor of an
device on the bus observes all addresses and intercepts event. A trap signals an abnormal event within the proces-
those that correspond to its control words. The device sor, such as an arithmetic fault, illegal instruction, or
reads the “data” being written to the control word and power failure. An interrupt notifies the processor of an
interprets it as an I/O command. external event, such as completion of an I/O operation.
The memory-mapped approach simplifies the control Traps generally force the processor to stop what it is
interface and the instruction set. Its main drawbacks are doing and deal immediately with the event. Interrupts
that (1) it puts “holes” in the logical address space (i.e. usually signal events that are less urgent than traps, and
sections of the address space that cannot be used as the processor need not always respond immediately. Re-
genuine memory cells), and (2) it complicates cacheing cent systems have expanded the role of the interrupt to
and virtual memory. Ill-conceived use of memory-mapped include software-detected events, such as completion of
I/O in low cost processors has sometimes impeded the a task or emptying of a queue. While interrupts are used
growth of their architectures into more powerful systems. in many contexts, we focus here on their use in I/O appli-
However, by judicious use of memory mapping or virtual cations.
memory, the drawbacks of program-controlled I/O can be An interrupt can be used by a peripheral device to
managed. notify a processor that a data transfer has been com-
Whether through explicit instructions or memory pleted. This allows the processor to perform other work
mapping, the processor will typically initiate activity on in the meantime, yet service the device promptly upon its
several devices, with subsequent polling to determine completion. I/O interrupts can be used with any of the
when each has finished. However, in the absence of fur- control or communication schemes described above.
ther architectural support, it is difficult (or even impossi- Typically, the interrupt signal is generated by an I/O
ble) for the processor to be programmed in such a way device that has completed its most recent request or that
that it performs useful work while the devices are busy requires some other service. In response to the interrupt
and also responds promptly when they are finished so as signal, a processor will usually suspend its current activ-
to keep them in continuous operation. Since most periph- ity and attend to the device. In the simplest schemes, all
eral devices are slow (by processor standards), it is desir- devices share the same interrupt signal, and the proces-
able to reduce or eliminate the need for polling and thus sor must scan all devices to determine which has gener-
free up the processor during I/O operations. ated the interrupt. More elaborate schemes allow the
The program-controlled scheme tends to impose processor to determine immediately which device caused
high overhead when the peripheral device has a relatively the interrupt. This may be a control word that has a
high data transfer rate. This is due to having the proces- separate bit for each interrupting device (the processor
sor execute an initiation command, a repeated series of tests to see which bit has been set) or a vectored interrupt
completion tests, and perhaps a transfer between register scheme, in which each device causes the processor to
and main memory for each word or byte of data trans- transfer to a different address.
ferred. Direct memory access (DMA) is a technique for A typical busy processor will have many interrupting
reducing processor involvement during the transfer of devices. In order to. make order out of potential chaos,
blocks of data. This technique incorporates specific con- there must be a method of resolving conflicts. If two
cepts of both control and communication. DMA not only devices interrupt at the same time, which one should be
allows transmission directly between devices and mem- serviced first? If one device is being serviced and another
ory, as the name implies, but, as commonly defined, it interrupts, should the first one be interrupted to service
eliminates the high processor control overhead, de- the second one? To deal with issues such as these, most
scribed earlier. processors support multiple levels of interrupts. In a sim-
With the DMA technique, the processor will initiate ple scheme that suffices for most situations, a small num-
the transfer of a block of data, with the “completion” ber of levels are supported—perhaps four or eight. Each
notification coming only when the entire block has been potential source of interrupts is associated with a partic-
moved. The processor’s command goes to a DMA con- ular level, corresponding to how quickly its requests must
troller—a separate, special-purpose processor—which be responded to. Higher-level devices can interrupt
has the independent capability to count the number of lower-level ones, but not vice versa. Equal level devices
items transmitted and keep track of where they go in cannot interrupt each other. A typical scheme might as-
memory. Meanwhile, the processor can do other useful sign the highest level to events that:
work.
Advanced DMA systems allow chaining of command e Require immediate action, such as power failures
blocks and other techniques that permit multiple blocks or illegal instructions;
of data to be transmitted to different areas of main mem- e Could cause functional failure if not attended to
ory by a single command from the processor. Certain promptly, such as a timing signal that must be
channels operate in essentially the same way as DMA acknowledged promptly if time is to be kept accu-
except that DMA is generally a shared capability, whereas rately;
a channel is usually associated with a specific set of e Could cause performance degradation, such as a
peripherals. disk that has rotated to a desired position and
COMPUTERART 257
should be accessed within a short time to avoid Strongly related issues are covered in Operating Systems
waiting for another rotation; or Review, the newsletter-of the special interest group on
e Have relatively minimal impact, such as notifica- operating systems (SIGOPS). Another special interest
tion that a task has completed and its storage is no group focuses on mircoprogramming (SIGMICRO). The
- longer needed. IEEE Computer Society has several publications relating
to computer architecture and design. Most important are
More elaborate schemes assign distinct priorities to each the monthly Computer and JEEE Transactions on Comput-
interrupt or to small groups of similar interrupts. Vec- ers. The IEEE and SIGARCH sponsor an annual symposium
tored interrupt schemes often associate a distinct prior- on computer architecture, usually held in the spring, the
ity with each distinct interrupt address. There remains proceedings of which are available from the IEEE Publica-
some dispute as to whether this degree of priority distinc- tions department, and as a special issue of Computer
tion is really necessary for most applications. Too many Architecture News. SIGMICRO sponsors an annual micro-
priority levels can lead to excessive “context switch” programming symposium in the fall, the proceedings of
overhead as one device interrupts another. which are available from ACM or as a special issue of the
Another issue stems from the fact that interrupt pri- SIGMICRO newsletter.
orities are often built into the processor or bus hardware,
with little or no flexibility. In actual applications, it might References
be appropriate to let priorities be controlled by the de
1962. Buchholz, Werner. Planning a Computer System—Project
vices or by software. For example, a single device might
Stretch. New York: McGraw-Hill.
report different kinds of events that deserve different 1970. Denning, Peter J. “Virtual Memory,” ACM Computing Surveys
priorities (e.g. disk has rotated to desired position, vs. 2, 3: 153-190 (September).
disk has been turned on). Changes in system state might 1973. Feustel, E. A. “On the Advantages of Tagged Architecture,”
cause the need for software to vary priorities (normal IEEE Transactions on Computers 22 (July), 644-656.
versus emergency operation, for example). Some recent 1975. Patil, S. (Ed.). “Computer Systems Architecture,” Special
designs allow device and/or software control of interrupt Issue: ACM Computing Surveys 7, 4 (December).
priorities, but there is little agreement at this point about 1976. Reddi, S. S. and Feustel, E. A. “A Conceptual Framework for
what type of scheme is best suited to the general case. Computer Architecture,” ACM Computing Surveys 8, 2: 277-300
(June).
Different programming languages call for different ap-
1980. Baer, J-L. Computer Systems Architecture. Potomac, MD:
proaches to this problem, and, until some consensus can
Computer Science Press.
be reached, computer architecture will continue to be 1982. Siewiorek, D. P., Bell, C. G., and Newell, A. Computer Struc-
experimental in this regard. tures: Principles and Examples. New York: McGraw-Hill.
Interrupts are a valuable architectural feature, but 1982. Myers, Glenford J. Advances in Computer Architecture, 2nd
they tend to cause numerous problems as well. A proces- Ed. New York: John Wiley & Sons.
sor may inadvertently receive an interrupt from a device 1984. Hwang, Kai, and Briggs, Faye A. Computer Architecture and
that the software is not prepared to handle, or at a time Parallel Processing. New York: McGraw-Hill.
when it was not expected. A faulty device may send 1984. Levy, Henry M. Capability-Based Computer Systems. Bedford,
MA: Digital Press.
interrupts continuously, deluging the system with inter-
1987. Leonard, Timothy E (Ed.). Vax Architecture Reference Man-
rupt response activity and blocking other devices from
ual. Bedford MA: Digital Press.
service. Elaborate software may be required to handle 1989. Smotherman, Mark. “A Sequencing-Based Taxonomy of I/O
such cases correctly, and in some systems such situa- Systems and Review of Historical Machines,” Computer Archi-
tions may result in uncorrectable hardware or software . tecture News, 17, 5 (September) 5-15.
faults (“hangups”). As a result of many years of experi- 1990. Hennessy, J. L., and Patterson, D. A. Computer Architecture:
ence with interrupts, architects have begun to refine and A Quantitative Approach. San Mateo, CA: Morgan-Kaufman.
“civilize” the interrupt systems of computers. For exam-
DENNIS J. FRAILEY
ple, it is now usually possible for the software to mask or
block interrupts in cases where a software module re-
quires higher priority than an external device, or where
some particular device’s interrupts are to be ignored. A COMPUTER ARITHMETIC. See Arrrume-
very promising concept is to model interrupts after more TIC, COMPUTER.
general synchronization mechanisms such as messages
or semaphores. This is an excellent example of how a
technique developed to solve a software problem has
impacted computer architecture in more fundamental COMPUTER ART
ways.
For articles on related subjects see COMPUTER GRAPHICS;
FRACTALS; HUMANITIES APPLICATIONS; and IMAGE PROCESSING.
Publications Certain professional publications and
organizations are concerned with the advancement of
computer architecture. The Association for Computing History Efforts to create art with analog machines
Machinery has a special interest group on computer ar- date back to the 1950s. However, it was not until January
chitecture (SIGARCH) that publishes a newsletter (Com- 1965 that the first exhibition of digital computer graphics
puter Architecture News or CAN) several times a year. wasarranged by three mathematicians: Frieder Nake and
258 COMPUTER ART
George Nees, both Germans, and an American, A. Michael each color in the spectrum as well as to black and white.
Noll. Their goal (Franke, 1971) was to create visually The consistency of the machine, moreover, makes it supe-
pleasing images, not merely graphics representing data. rior to mixing colors with the traditional artist’s palette,
This exhibition was held at the Studio Gallery of the since commercial artist’s pigments sold under the same
University of Stuttgart. Several shows followed the initial name can vary widely. Interfacing video with computer
one in Germany, including one in New York City at the hardware has expanded the digital palette even further.
Howard Wise Gallery. Computer art became an interna- Video samplings captured with the camera allow the art-
tional movement (Reichardt, 1971) practiced in Britain, ist to brush on a marble surface as easily as painting with
Germany, Italy, Austria, Japan, Canada, and the U.S. color. In addition to samplings, both the video camera
Non-utilitarian use of the machine was practiced in interface and the recently invented digital camera permit
those countries that were technologically developed. An the artist to store entire pictures in memory for later use.
image reminiscent of this period is a graphic by Guenther The untitled image (see Fig. 2, color insert page CP-4) by
Tetz (Fig. 1) created at the University of Illinois at Chicago William Tudor, artist and composer, is a good example of
Circle on the PDP-11/45-Vector General Graphic System. this technique. With higher resolution terminals and laser
The event that made the world really take note of com- printers, the appearance of lines has changed as well.
puter art was “Cybernetic Serendipity” (Reichardt, 1968), Today the once jagged look is gone and it is difficult to
an exhibition held at the Institute of Contemporary Arts differentiate between hand-drawn and machine-drawn
in London. The catalog for the show was a special issue of lines. The availability of tablets and pens to input informa-
Studio International magazine and was subsequently pub- tion, accessibility to microcomputers, and the abundance
lished as the first book of art dealing with the computer of quality commercial software is making the computer in
and creativity. “Cybernetic Serendipity” brought together the artist’s studio commonplace.
individuals who had been working in isolation and was a
source of inspiration for others to begin working in this Media Conventionally, the tools of the artist define
area. Artists from France, Spain, and Holland joined in the type of work that is produced. The painter, for exam-
making computer-aided art. They either learned to use ple, uses brushes and paint, the photographer uses a
the computer themselves or worked with computer ex- camera, and so on. The computer artist, on the other
perts. In 1970, works created with the aid of the computer hand, finds that the machine is multifaceted. Not only is
were hung alongside traditionally made artworks at the it a high-powered design tool, but its output devices make
Venice Biennial. Today, computer art hangs in permanent it possible for the artist to express a particular idea in
museum collections, corporate offices, public spaces, and various media: Drawings may be produced with a vector
private homes. It is judged in competitions, along with or raster plotter; sculptures may be milled with com-
traditional art, on its artistic merits, not on the tools that puter-driven milling machines; paintings may be painted
aided in its creation. with computer-driven airbrushes; video, frames of film
Developments in hardware have brought about animations, and photographs may be taken directly off
changes in computer art. Towards the end of the 1960s, the cathode ray tube; graphics are made possible bya
many artists began to use cathode ray tubes to visualize photo transfer process of computer images; and environ-
their work. This made it possible for the artist to work in mental art can be created where the computer senses and
a more traditional way, since artistic decisions are often accordingly activates devices in a given space.
made during the creation of a work. Interactive systems The advantages of using the computer in each me-
allow the artist to see the work immediately and to modify dium differ. Drawings, for example, are made both as
it. With the development of color graphics terminals, the preliminary sketches for other work and as art objects in
artist could see images displayed in color. On many sys- themselves. Artists who write programs to create imagery
tems it is now possible to choose from over a quarter-mil- frequently use a random number generator (Mezei, 1971).
lion different colors. Numerical values are assigned to This yields two specific effects: (1) It is apt to produce
variations that the artists would not ordinarily conceive
of on their own, and (2) in a short amount of time, artists
have a good many sketches from which they can choose
to work or to use as finished pieces. The wall mural (see
Fig. 3, color insert page CP-4) by Harold Cohen, a new
wave British artist, is an example of producing variation
s
by deterministic strategies. Investigating the potential
of
artificial intelligence (¢.v.) and art, Cohen’s program
AARON simulates human freehand drawing, while provid-
ing insights into the thinking processes of creating
art.
Exploring questions about the perception of space,
Mar-
got Lovejoy, artist and author, outputs her drawings
as
slides to be used in computer-controlled projection instal-
lations (Fig. 4, color insert page CP-4), as well as prints,
constructions, and artists’ books. .
The development of the digital camera supports
FIG. 1. Untitled image by Guenther Tetz, 1979. the
move by many photographers to experiment with
imag-
COMPUTERART 259
ery on the computer before entering the darkroom. Omit- able to make undercuts as well. The milling machine
ting the expense of chemicals and paper while increasing relieves artists of the physical demands of creation and
creative options is why photographers like Ellen Sandor allows them to concentrate on the exploration of ideas.
are using the computer. Sandor’s “Phscolograms,” cre- The evolution to a new sculptural aesthetic can be
ated with the collective group (Art)", combines photogra- seen in the works of Stephen Pevnick, Milton Komisar,
phy, holography, sculpture, and computer graphics to and Alan Rath. Although each artist uses different ma-
create large, full-color, three-dimensional photographic terials, all incorporate digital computers into their art.
images (see Fig. 5, color insert page CP-4). Intrigued by Unlike traditional sculptures, these self-contained infor-
the idea of discovery through simulation, she uses the mation processing systems are capable of conveying the
computer to aid her in creating the illusions she achieves concept of time as a creative element, thereby providing
in her work. an ever-changing perspective for the viewer. Pevnic’s
Paintings can be produced with computers starting
from the preliminary drawings up to the final execution
on canvas. The artist first utilizes the machine as a
sketchpad, creating the design to be painted. This design
may then, for example, be drawn by the machine onto 35
mm film by an electron beam gun through colored filters.
The design on the slide is input by means of a scanning
device to another computer that in turn, controls air-
brushes and paint to produce the final product. Wall-sized
murals are being produced by the 3M Company of St.
Paul, MN with just such a machine (Fig. 6).
Sculpture can also be a fully automated process. The
use of the computer in this medium is especially impress-
ive. The machine allows the sculptor to envision a piece
of work at a given location from any perspective before it
is completed and installed. This permits the artist to
make changes before investing time, energy, and cost of
materials on a project that might not succeed. The 6-ft-
high wood and plaster sculpture in Fig. 7 would not have
been produced without the aid of the computer. Not only
was it designed on the machine, but also a plotter pro-
duced the template for its formation. The fact that the
machine mills with exact precision extends the concept
of what can be created as well as what materials can be
employed. Highly detailed works can now be sculptured
with computer-controlled milling machines having five
degrees of freedom. On these output devices, the drill bit FIG. 7. Untitled sculpture by Ruth Leavitt. Wood and plaster,
6’ x 6’, 1980, private collection.
not only moves back and forth and up and down, but is
260 COMPUTER ART
computer-designed and -controlled fountains allow him own image on the screen (see Fig. 11, color insert page
to sculpt with falling water (see Fig. 8, color insert page CP-5). The complexity of personally designing the hard-
CP-5). A programmable matrix of valves (each valve can ware and software for interactive art prohibited its
generate 4,608 water droplets per second) permits the growth as an art discipline until the mid 1980s when
artist to translate images on the computer screen into Hypercard, commercial software with interactive appli-
a lyrical flow of three-dimensional objects. Milton cations, became available. Known as Hypermedia, or
Komisar, on the other hand, choreographs waves of light computer controlled multimedia, artists integrate such
throughout structures of clear acrylic rods (see Fig. 9, things as animation, still imagery, video, and audio into
color insert page CP-5). Each rod is attached to a module interactive works of art. Incorporating wearable technol-
containing two or three tinted light bulbs and a driver ogies such as gloves, goggles, and suits into computer art
translating binary code to control the current coming environments can heighten a participant’s experiences
from a transformer. Processing up to 60 changes a second with realistic sensations. Moving one step closer to a
for each bulb, the artist can control such variables as totally defined interactive data space, artists can create
time entry, duration, color, pattern, and speed, to create what are termed Virtual Worlds, depicting the essence of
a myriad of sculptures from one. Whereas Alan Rath, reality in full color, three-dimensional imagery with attri-
another contemporary artist, converts video images into butes such as touch, sound, and motion. For example, a
digital animations which he stores and displays in sculp- virtual reality glove can be programmed so that a viewer
tural form (see Fig. 10. color insert page CP-5). Some of selects and manipulates screen objects while simulta-
his pieces also include a digital phoneme generator that neously feeling each one’s weight and texture. Nicole
provides a synthesized spoken audio track. Previously, Stengler, a fine artist working in collaboration with the
sculptors used the wind and simple mechanisms to exert Human Interface Technology Laboratory at the University
change in their work. The ability to master the element of Washington Technology Center, has added goggles and
of time was not possible. Now, as Pevnick, Rath, and glove to her work “Angels” to turn myth into virtual reality
Komisar demonstrate, sculptors are able to realize that for museum attendees. However, telecommunication art-
vision. ists like Roy Ascott bypass the traditional exhibition sys-
The production of film animation and graphics pres- tem by using electronic space mediated by computer
ents difficulties that the computer alleviates. Customarily, networks to create virtual presence environments. Col-
animation is extremely expensive to create, since each laborative art works are created interactively on elec-
frame must be drawn by hand. The artist using the com- tronic mail (g.v.) systems, offering participants from
puter allows the machine to draw the intermediate pic- international locations (nodes) an environment that de-
tures, thus saving both time and expense. Images can be fies boundaries and alters the concept of time and space.
produced on color displays and filmed directly off the Virtual presence will interface with virtual reality when
scope. A major problem in creating graphics is the pro- participants have data gloves (now available by mail
duction of color separations. In serigraphy, for example, order) and goggles attached to their modems.
each color must be screened separately. An inherent qual- The manner in which traditional artists employ their
ity of computers that display colored images is that they tools creates individual styles. We often recognize artists
automatically color-separate each picture. To display by their styles or the styles they imitate. There is, how-
each colored design, the computer must calculate what ever, no unique style that typifies works of art as “com-
percentage of each of three colors plus black and white is puter art” (Leavitt, 1976). The statement an artist makes
used to create the desired picture. Thus, for the animator in his or her work is a function of the artist and the
and the graphic artist, the computer can save great program, not the artist and the computer. Rather than
amounts of time. identifying a style as having originated from a particular
Interactive artists use computing equipment to invite artist, in computer-aided art we can often identify a style
the viewer, traditionally a passive observer, to become an of work as having been created with a particular program.
active participant in creativity. Taking shape in various Commercial software paint packages exemplify this. Art-
forms such as environments, hypermedia, virtual reality, work created with commercial paint programs, although
and telecommunications, interactive art blurs the line that produced by different people at different locations, looks
traditionally separates artistic expression from aesthetic very similar because the uniqueness of the program
experience. Myron Krueger, a pioneer of interactive art, causes it to define its own style. All computer art pro-
has used computing equipment since the late 1960s to grams use one or more techniques, such as rotation,
control entire rooms designed for interactivity. His envi- scaling, windowing, zooming, transformations, and pic-
ronments perceive the human body in motion, analyze it, ture processing, but each uses these techniques in such a
and respond in real time with visual and auditory dis- way as to be stylistically identifiable. Whether the artist
plays. A primary computer with 2,000 storage and special- approaches the work in a random or deterministic man-
ized processing chips controls 10 secondary computers ner, the program still is the overriding factor regarding
that filter the main machine’s input. A participant enters style.
aroom with only a computer controlled video camera and An artist has the option of participating in the cre-
large screen. What then occurs is dependent upon the ation of the program to be used, as well as to explore the
actions of the viewer. Using his own body movement, a possibilities that exist within that particular program,
participant is able to create a variety of pictures and This allows artists to determine their own styles. A unique
sounds or simply play with the “critter” displayed with his feature of using the computer is that the artist can create
COMPUTER-ASSISTED INSTRUCTION (CAI) 261
school math and reading), learners with special difficul- their children to community learning centers for auto-
ties (for example, the deaf), and certain university courses mated tutoring to improve basic skills. Students and fam-
(especially second-language learning and logic). Some of ilies are purchasing home computers to provide learning
these materials have been marketed by the Computer Cur- activities along with productivity tools and entertain-
riculum Corporation, along with new developments. ment.
TICCIT (Time-shared, Interactive, Computer-Con- The installed base of personal computers now pro-
trolled Informational Television) is a name given to sys- vides a market for learning materials that is large enough
tems developed by the Mitre Corporation in McLean, to justify investments by educational publishers. How-
Virginia, and since marketed by Hazeltine Corporation. ever, the improvements in hardware technology aren’t
The first version of an instructional system was designed matched by computer software and learning materials.
especially for use in a small college. It was a medium-sized The application of artificial intelligence techniques to
computer system with video technology to obtain low- tutorial CAI (e.g. for training trouble-shooting skills) holds
cost operation with about 100 simultaneous users. The some promise for considerable increase in flexibility and
hardware and software design was coordinated with the effectiveness of computer delivery with a wide range of
development of instructional materials, carefully pre- learners. However, costs for curriculum development re-
pared according to rules of effective instruction by in- main high. CAI may never get its breakthrough in software
structional design teams at Brigham Young University in and materials development that is necessary if it is to
Utah, to provide basic remedial instruction in mathemat- compete with other uses of computers in learning and
ical and language skills at small colleges. teaching.
computer to generate poetry. A child in the fifth grade Special interest groups on computers and learning
explores mathematics by writing computer programs have been formed by professional associations and other
that draw spirals or solve mazes. A second grader prac- organizations. Newsletters, bulletins, and journals carry
tices spelling or addition problems “spoken” by a com- reports of use, development, and research.
puter; the computer checks the answers that the student
enters on the keyboard. In some systems, the student
simply speaks the answer to be “recognized” by the com- Kind of Use Computer assistance with learning and
puter. A high school dropout improves language skills teaching has been described by many different phrases.
using a computer program made available on a commu- One could assemble an apt phrase by selecting one word
nity cable television system. or suffix from each of the following three lists:
When the computer system is appropriate for educa-
tional uses and the programs are properly written, the -aided
learners should find the assistance to be responsive to -assisted
their needs; patient and not punitive while they learn; -augmented training
-based instruction
accurate in assessment of answers and problem solu-
computer -extended learning
tions; individualized in a useful way; realistic in the pre-
technology -managed teaching
sentation of training or testing situations; and helpful
media -mediated education
with many information processing tasks. Teachers find
-monitored
computer assistance valuable for keeping accurate re-
-related
cords, summarizing data, projecting student-learning dif-
uses in
ficulties, assembling individualized tests, and retrieving
information about films or other learning resources. Au-
The most common label has been CAI: Computer-aided
thors of textbooks and other learning materials use com-
instruction. When “instruction” is replaced by “learning,”
puters to draw figures, to animate motion picture
as in CAL, the combination connotes greater emphasis on
sequences, or to keep track of the introduction and fre-
activities initiated by the learner than on the instructional
quency of occurrence of concepts throughout a text. Re-
materials created by a teacher-author. When “learning” is
searchers record and analyze data, build models of
replaced by “education” to obtain CAE (or CBE, com-
student learning and performance, and administer exper-
puter-based education), the implication is a greater vari-
iments on methods of instruction. Administrators use
ety of computer uses, including administrative data
computers for keeping records, planning, scheduling, al-
processing and materials production as well as student
locating resources, and processing data.
use of computers. If the role of the computer is to assist
These applications and many others are described in
the teacher in managing instruction, for example, in re-
the references at the end of this article.
trieving and summarizing performance records and cur-
Use of the computer as a tool for problem solving in
riculum files, the label used is CMI: computer-managed
education began in graduate schools about 1955, and a
instruction.
few years later moved into the classroom with the initia-
tion of curriculum development projects in engineering
and science. Computer use as a teaching machine dates Instruction and the Learning Processth The most visi-
from 1958; early developments took place at IBM’s Wat- ble use of computers in instruction is to provide direct
son Research Center, System Development Corporation, assistance to learners and to assist teachers, administra-
and the University of Illinois Coordinated Science Labora- tors, and educational technologists in helping learners.
tory. The topic of computers in education became popu- The users may work individually or in groups, using a
lar for meetings in 1965; separate conferences were held device directly connected to a computer (on line) or
on computers in American education, higher education, using some medium later entered into a computer (off
and physics teaching. In the next ten years, major con- line), typing letters and numbers only (alphanumeric) or
ferences were organized for computers in mathematics pointing and drawing diagrams for the computer
teaching, chemistry education, computer science educa- (graphic), etc., through many options that vary in cost
tion, science education, undergraduate curriculum, and and convenience. Some typical labels within this category
high school counseling. of use are drill, skills practice, programmed tutorial, test-
The commercial introduction of the personal com- ing and diagnosis, dialogue tutorial, simulation, gaming,
puter in 1977 reduced the cost of computers in education. information retrieval and processing, computation, prob-
Tools for desktop publishing (g.v.), laboratory instrumen- lem solving, construction of procedures as models, and
tation, music, graphic art, and manipulation of media display of graphic constructions. A very popular use of
introduced in the 1980s increased the scope and depth of the computer is for simulation of a decision-making situ-
applications. Instructional use of computers is a frequent ation, as in resource management, pollution control, busi-
topic at meetings of the contributing professions (com- ness marketing, or medical testing. For example, college
puting, engineering, psychology, and educational re economics students study the history of a hypothetical
search) and at meetings of teachers of most disciplines national economy (similar to that of the U.S.), prescribe
(ranging from engineering and physics to history, art, and actions such as changing the prime interest rate, and
modern languages). Various human components in effec- observe the consequences for unemployment, inflation,
tive computer use are related in Fig. 1. and other indicators. Time is greatly compressed in the
264 COMPUTER-ASSISTED LEARNING AND TEACHING
Information
Scientist
Information structures
and procedures
Substance
I y Instruction
Knowledge
base
Student research
Interaction
ve
Discuss; Pedagogy
counsel
Instruction strategies;
assessment of learning
Behavioral
Scientist
FIG. 1. Human components in effective computer use for learning and teaching.
hypothetical situation, and real-world complexities are lems also may be assembled by computer in advance of
abstracted for easier study. scheduled use so that individualized material may be
distributed at less expense than through on-line comput-
Management of Instruction Resources and Process ing. Computers assist writers of materials in many ways—
Computer aids help teachers to supervise the instruc- for example: procedures for generating films and graphs;
tional process, and similar assistance is provided directly on-line trial of materials under development; procedures
to students without intervention of teachers and manag- for automatically editing and analyzing text materials for
ers. Information management services are readily ex- new uses, and information structures for representing
tended to potential users of learning resources outside new organizations of knowledge; hierarchies of instruc-
traditional educational institutions. The essential informa- tional objectives; and libraries of learning materials. New
tion in the various files for management of instructional technologies are changing the work of technicians and
resources concerns student performance, learning materi- teachers in developing educational materials and media.
als, desired outcomes, job opportunities, and student in- Machines handle the routine tasks in drafting graphics
terests. For example, a student obtains information from and editing film or video.
the computer about achievement and then compares his
or her own performance, interests, and goals, with aver- Other Uses of Information Processing Those planning
ages recorded for all similar students using the informa- instructional uses apply computers in administration (ac-
tion system. After interpreting the information provided, counting, scheduling, planning, etc.) and in research (in-
the student uses the computer further to locate and re- Stitutional, sociological, psychological, instructional,
trieve suitable learning aids from a large file keyed to goals, etc.), and to the practice of various computer-related
learning difficulties, job opportunities, and interests. vocations in science, technology, management, banking,
production, retailing, etc. The last area is especially im-
Preparation and Display of Materials Materials may be portant because of needs for preservice training. For
generated in “real time” (i.e. as needed by a student in a example, most large retailing operations use computing
seminar or by a teacher during a lecture). Text and prob- heavily, and employees with some sensible background in
COMPUTER-ASSISTED LEARNING AND TEACHING 265
computing have a better chance of coming to terms with programmers (who work on convenience programs for
computer assistance on the job. Indeed, a general literacy any of the other users): The characteristics of different
about computing and information processing is essential subject areas also necessitate different language features.
in the age of informatics. Educated persons should have Authoring languages and systems are described in a sep-
sufficient knowledge about the practices of automated arate article. Appropriate design of display screens, user
information processing to exercise on occasion effective control, and input devices can be of great help compen-
control over the machines and data files with which they sating for disabilities (see Fig. 3 and COMPUTERS AND THE
must deal. HANDICAPPED) and reduces the need for the user to learn
computing tools and languages that are incidental to the
learning and performance tasks.
Means and Goals Instructional materials (sometimes called course-
ware) have been written in nearly all subject areas and for
Diversity of Resources Many different kinds of computer many age levels. While some of the materials use the
and software systems are being used effectively. Small ma- computer as an information processing device, others
chines can be used by one or a few students (Fig. 2) to use it as a presentation medium in competition with less
access stored programs (usually drills or simulations) or expensive modes, such as books, films, or video tapes.
to write simple computer programs. Workstations offer Strategies of instruction associated with computer
tools for scholarly and creative work conducted by stu- use (the name teachware has been proposed) have been
dents individually and in groups. Time-sharing systems explored. Guidelines for writing instruction-related com-
puter programs have been derived from psychological
handle thousands of students accessing a variety of pro-
and educational research, but most developers work from
grams. The PLATO system at the University of Illinois was
a “common sense” analysis and by trial and error. Some
designed for up to 4,000 simultaneous users and diverse
basis for a new science of instruction can be found in
applications: self-instruction, self-testing, simulation,
research programs at the University of Pittsburgh, Carne-
gaming, and problem solving. Most of the multipurpose
gie-Mellon University, Florida State University, and Brig-
computer systems serving general user communities at
ham Young University.
colleges and universities include instructional applica-
tions among other uses for research and administration.
Computer Contributions The value of computer assis-
Programming languages and systems (software) ex-
tance for self-instruction depends on many factors: orga-
hibit even more diversity than the computing equipment
nization of the subject matter, the purposes of the author
(hardware). More than 100 languages and dialects have
or institution, convenient means for interacting with the
been developed specifically for programming conversa-
subject, and the characteristics of the student. Self-study
tional instruction, although many programs have been
material in text format has been adapted for computer
written in general-purpose languages, such as Fortran,
presentation with the following computer contributions
Pascal, C, and Basic. Different kinds of users have distin-
proposed. First, the machine evaluates a response con-
guishable requirements: students, instructors, authors, structed by the student (the author must provide a key or
instructional researchers, administrators, and computer standard); an automated procedure prints out discrepan-
cies, tallies scores, and selects remedial or enrichment
material. Second, the machine conceals and, to some
extent, controls the teaching material so that the author
can specify greater complexity in a strategy of instruction
and assume more accuracy in its execution than is possi-
ble when the student is expected to find a way through
the branching instructions in the pages of a large booklet
(the scrambled text format for programmed instruction),
perhaps starting and stopping an audio or video player as
well. Third, the computer carries out operations specified
by the student, who uses a simple programming language
or computer-aided design system. Fourth, the author or
researcher obtains detailed data on student performance
(and perhaps attitude) along with a convenient summari-
zation of student accomplishment ready for interpreta-
tion. Fifth, the author is able to modify the text on the
basis of student use and prepare alternative versions with
relative ease.
The prepackaged self-instruction just described can
be replaced by a dynamic information system that serves
as a common working ground for a scholar and a learner;
they share a computer-based, primary-source “textbook,”
FIG. 2. This photo of a child working with a simple color paint
continually updated by the scholar and occasionally an-
program on an Apple IIc was provided by High/Scope Educa-
notated by each student who uses it (Fig. 4). Hypertext
tional Research Foundation, Ypsilanti, Michigan.
266 COMPUTER-ASSISTED LEARNING AND TEACHING
Professor's
interpretation
Commentary
- —— Professor's of previous
7 _ \ current notes / Selected primary students and
/ Professor's sources in form teachers
f Brvets suitable for retrieval
i“ by computer
N ee aids
Model
Data building
Seminar plan analysis procedures
and study routines
guide
Student notes
= (public, i.e., for sharing)
Electronic 5
bulletin € \
Conferences board = | \ \
and 52 \ \
discussions
Sc}9 '
| mtugent
(private) echt \
3
38}
2o}
|| Soi
oe ae
9oO Aare —- -
information
of
retrieval
for
Procedures
a &
e ®
37 e7
Discussions Discussions
was conceived by Theodor Nelson (then at Vassar Col- right or wrong according to keywords identified within it;
lege) and implemented by Andries van Dam and others at and (4) if the student’s response matches an anticipated
Brown University; it’s most popular implementation wrong answer, the program displays a corrective hint
today is through HyperCard on the MacIntosh computer. and, if nothing was recognized, it offers a general hint.
In a similar way, an automated information system helps Instances of this approach can be characterized as the
a learner and teacher share a common working environ- computerization of programmed instruction. Careful de-
ment for hypothesis testing. The environment is some- velopment of a total curriculum for elementary school
times artificial, as in computer simulation of physical and mathematics and reading was first carried out by teams
social processes (e.g. a model of evolution), and some- of authors at Stanford University, directed by Patrick
times real in the sense of actual data from experiments Suppes and Richard Atkinson.
(e.g. election returns or water quality measures). In- In some curriculum development projects the con-
creased access to information processing tools is per- tent has been assembled in files separate from the logic
haps the most important contribution of computers to of the computer program (the strategy of instruction).
instruction and learning. Many such activities, perhaps Elements of the curriculum can thereby be varied
not all called computer-assisted instruction, demonstrate without rewriting many lines of instructions to the
viable alternatives to strictly specified instructional strat- computer, and different strategies can be tried on the
egies for computer use. For example, students in sociol- same file of learning materials. This arrangement helps
ogy retrieve and summarize information obtained from the instructional psychologist give full attention to the
large-scale surveys and test hypotheses that might never design of effective instructional strategies and helps
have been conceived by those who executed and re- the subject expert avoid the distraction of programming
ported the survey. Students in physics test Jens designs procedures. In fact, this approach is generally pursued
according to a detailed model of aberrations and correc- by a team, with each member contributing different
tions, perhaps finding variations on standard lens designs expertise. The first such authoring teams were organized
that better serve a particular photographic or instrumen- by C. Victor Bunderson at Brigham Young University
tation purpose. to develop materials for community college courses in
Whatever the technique or philosophy of computer mathematics and English for the TICCIT system devel-
use, the extent of use supported by educational institu- oped by Mitre Corporation.
tions will ultimately be determined by judgments of ap- Problems faced by the educational technology ap-
propriateness by subject experts, effectiveness observed proach to computer use result from the high cost of the
from records of student performance, and costs that must computer as a primary medium for exposition of learning
be met by administrators of schools or training programs. materials, the difficulties of accurately identifying uncon-
Some of the limitations imposed by present com- strained input (text, algebraic expressions, drawings,
puter technology involve high cost and unreliability of spoken expression, etc.), and the lack of a well-developed
processing lengthy verbal constructions, and inability theory of instruction.
to interpret bodily gestures or vocal intonations. Com-
puting costs are decreasing even while capabilities are Disciplines and Curriculum Discipline-oriented use of
increasing, but one of the most difficult problems re- the computer was pursued by many institutions quite
maining is lack of organization of the subject matter. separately from the educational technology develop-
Human teachers manage to be reasonably successfulin ments. Dartmouth College provides a prime instance of
spite of vague goals and material poorly organized for spreading computer uses throughout a college curricu-
learning; instructional computing (and educational tech- lum. The University of California at Irvine uses computing
nology in general) seems to require specific text mate- extensively in physics courses. Annual conferences were
rials and clear guidelines (prepared by curriculum held on the topic of computers in the undergraduate
experts) for successful use. curriculum from 1970 to 1978, and have since expanded
to serve pre-college interests as well in the National Edu-
cational Computing Conference each year. Regional com-
Major Approaches puting services, conferences, and newsletters have been
established to serve the needs of colleges and schools
throughout a region. In contrast to the educational tech-
Educational Technology Educational technology and in- nology approach, the teacher as subject expert in the
structional psychology have been the main sources of discipline approach assumes the central role in determin-
one kind of development activity. IBM’s Coursewriter pro- ing computer use, creating materials, and persuading col-
gramming language, one of the earliest languages for au- leagues to use them. Computing activity is likely to
thors of computer-based lessons, characterizes this first include more student initiative in solving problems and
approach to computer use. The software has built into it more problem-orienting program packages than does ex-
an implicit logic of instruction requiring the author to fit pository material. Student use of simulation and model-
text and keywords into. the following pattern: (1) the ing tools is favored; one goal is to adapt the scholar’s
computer program presents information to the student, research tools to student use.
(2) the computer program then asks a question and waits _ The discipline approach to computer use has many
for a response from the student; (3) the program scans a problems; among them are sparse user documentation
short textual response and classifies the response as for instruction-related computing activities that are wor-
268 COMPUTER-ASSISTED LEARNING AND TEACHING
thy of widespread use; lack of economic and professional search Group directed by Alan Kay and Adele Goldberg at
incentives for the production and dissemination of pro- the Palo Alto Research Center of Xerox Corporation).
grams and related materials; and difficult procedures for Children write simple programs for controlling robots,
review and validation of programs. Educom and related drawing and animating pictures, generating speech and
groups are working to set high standards and improve music, and the like. Interest in enhancing such capabili-
incentives for quality work through an annual awards ties motivates a new approach to mathematics and heu-
program and other activities. The purchase of hundreds ristics in which programming languages provide a
of thousands of microcomputers by students and teach- powerful conceptual framework.
ers as well as institutions provides a market that now has
the attention of publishers and authors in addition to
professional societies. Trends A major trend in the design of computer-based
exercises is a shift from programmer to learner control.
Computing and Information Sciences Some research- The designer of the exercise invests less effort in a careful
diagnosis and prescription accomplished by some auto-
ers suggest that major advances in instructional use of
computers will occur through significant developments in mated instructional strategy, and instead provides infor-
artificial intelligence (q.v.), natural language processing mation and tools by which the student can explore the
(q.v.), speech recognition (q.v.), and extensible program- topic and assess his or her own learning.
ming languages (q.v). Although information scientists typ- Considerable use of graphics is typical. Pictures are
ically are more interested in their own disciplines and an important component of the learning process, and
related research topics than in educational techniques computer-drawn pictures and animations add to the re-
and practice, the tools developed may be useful to others. sponsive uses of computing. For many topics the picture
The results of computer science research may be an im- is a valuable way of representing complex relationships
portant source of suitable models for instruction strate- derived by the computer.
gies, information structures, and representations of Computer-based education systems and designers of
knowledge. Projects giving particular attention to educa- materials have provided an increasing variety of func-
tional applications have adapted tools from computing tions for the user. More attention is being given to inter-
and information science, and formulated new models of action between student and computer program, not
human learning and information processing. simply to provide a quick reply to some question, but to
Development of techniques and materials using the increase the actual responsiveness of the system to the
information science approach is very costly and time student’s needs and situation. The machine responds to
consuming; the resulting applications tend to be more the commands and questions of the student, and the
expensive for students to use; skill in use of the spe- exercises are designed in a way that helps the student
cialized development techniques is not easily acquired retrieve and organize the information provided by the
by persons outside computer science. Nevertheless, the computer.
projects based in computing and information sciences A very important trend concerns the role of the ma-
continue to provide important indicators of future re- chine from the perspective of the individual using it. The
sources that may be essential to success of computers teacher is now more likely to see computer-managed
in education. instruction as an aid to human management than as a
replacement for it. Learners view the machine more as an
Computing Technology, Engineering, and “Common aid to learning and performance than as a presenter and
Sense” A fourth category includes all other approaches, drill master. All these developments are helped along by
particularly those characterized by the engineering of a personal ownership of computers or other personaliza-
helpful technology, perhaps involving some combination tion of use.
of the first three approaches. Engineers at the Computer- Naturalness of communication between learner and
Based Educational Research Laboratory, University of system is being improved day by day. Computer-based
Illinois, designed and built a computer-based education learning exercises are achieving increased relevance for
system for multiple purposes: educational technologists the subject being studied, and the nomenclature and con-
presenting programmed instruction, instructional psy- ventions that have to be learned in order to use the
chologists conducting research on teaching and learning, system tend to be essential to the study of the topics
professors preparing a computer presentation of alecture rather than peculiar to the requirement of the computer
or laboratory, and computer specialists building informa- as a medium of presentation.
tion processing aids for learning and scholarly work. Spe-
cialists in computers and education at Bolt Beranek and
References
Newman (led by Wallace Feurzeig) and the Massachusetts
Institute of Technology (Seymour Papert, the Media Lab) 1985. Duncan, Karen and Harris, Diana. Computers in Education:
devised various programming languages (Logo and Proceedings of the IFIP Fourth World Conference. Amsterdam:
LogoWriter) and equipment (computer-controlled “tur- North-Holland.
tle,” music player, and construction kits) for computer-re- 1986. Culbertson, Jack A. and Cunningham, Luvern L. Microcom
-
puters and Education. Chicago: National Society for the Study
lated learning activities.
of Education.
Other groups exhibit a similar philosophy with extra
1987. Brand, Stewart The Media Lab: Inventing the Future at MIT.
attention to creative student work (e.g. the Learning Re-
New York: Viking.
COMPUTER CHESS 269
1987. Weir, Sylvia. Cultivating Minds: A Logo Casebook. New York: Atkin’s program, first called Chess 3.0 and finally, after
Harper & Row.
many revisions, Chess 4.9. It earned a rating of about 2050
1987. Nelson, Theodor. Computer Lib/Dream Machines. Redmond,
in 1978. It was developed at Northwestern University and
WA: Tempus Books.
1987. Bork, Alfred M. Learning with Personal Computers. New York:
ran on CDC’s Cyber 176 in the late 1970s. Chess 4.9 carried
Harper & Row. out a sequence of incrementally deeper exhaustive
1988. OTA. Power On! New Tools for Teaching and Learning. US. searches, examining approximately 5,000 chess positions
Congress, Office of Technology Assessment, Washington, D.C. per second. Belle, developed at Bell Laboratories by Ken
U.S. Government Printing Office. Thompson and Joe Condon, ruled the world of computer
1990. Ambron, Sueann and Hooper, Kristina. Learning with Inter- chess from 1979 through 1983. It was the first program to
active Multimedia: Developing and Using Multimedia Tools in be awarded the title of Master by the United States Chess
Education. Redmond, WA: Microsoft Press.
Federation (USCF). Belle examined 150,000 chess posi-
tions/second and ran on special-purpose chess circuitry.
KARL L. ZINN
In 1983, Cray Blitz, developed at the University of South-
ern Mississippi by Robert Hyatt, Albert Gower, and Harry
Nelson, won the world championship while running on a
4-processor Cray XMP supercomputer. The program suc-
COMPUTER CHESS cessfully defended its title in 1986. Hitech appeared in
For articles on related subjects see ARTIFICIAL INTELLIGENCE; 1986, winning the Pennsylvania State Championship two
and COMPUTER GAMES: TRADITIONAL. years in a row and, while being a bit unlucky in computer
tournament play, establishing new levels of performance
Chess tournaments exclusively for computers have in human play, obtaining a USCF rating in the neighbor-
been held since 1970 (see Table 1). Until 1978, these hood of 2400. Hitech, which also used special-purpose
tournaments were dominated by David Slate and Larry circuitry, was developed at CMU by the programming
1970, New York CHESS 3.0 (Slate, Atkin, Gorlen; CDC 6400) ; DALY CHESS PROGRAM (Daly, King; Varian 620/i)
1971, Chicago CHESS 3.5 (Slate, Atkin, Gorlen; CDC 6400) ; TECH (Gillogly; PDP 10)
1972, Boston CHESS 3.6 (Slate, Atkin, Gorlen; CDC 6400) ; OSTRICH (Arnold, Newborn; DG Supernova)
1973, Atlanta CHESS 4.0 (Slate, Atkin, Gorlen; CDC 6400) ; TECH II (Baisley; PDP 10)
1974, San Diego RIBBIT (Hansen, Crook, Parry; Honeywell 6050) ; CHESS 4.0 Glate, Atkin; CDC 6400)
1975, Minneapolis CHESS 4.4 (Slate, Atkin; CDC Cyber 175) ;TREEFROG (Hansen, Calnek, Crook; Honeywell 6080)
1976, Houston CHESS 4.5 (Slate, Atkin; CDC Cyber 176) ; CHAOS (Swartz, Berman, Alexander, Ruben, Toikka,
Winograd; Amdahl 470)
1977, Seattle CHESS 4.6 (Slate, Atkin; CDC Cyber 176) ; DUCHESS (Truscott, Wright, Jensen; IBM 370/168)
1978, Washington BELLE (Thompson, Condon; PDP 11/70 w/ chess hardware) ; CHESS 4.7 late, Atkin; CDC Cyber 176)
1979, Detroit CHESS 4.9 (Slate, Atkin; CDC Cyber 176) ; BELLE (Thompson, Condon; PDP 11/70 w/ chess hardware)
1980, Nashville BELLE (Thompson, Condon; PDP 11/70 w/ chess hardware) ; CHAOS (Alexander, O’Keefe, Swartz,
Berman; Amdahl 470)
1981, Los Angeles BELLE (Thompson, Condon; PDP 11/23 w/ chess hardware) ; NUCHESS (Blanchard, Slate; CDC Cyber 176)
1982, Dallas BELLE (Thompson, Condon; PDP 11/23 w/ chess hardware) ; CRAY BLITZ (Hyatt, Gower, Nelson; Cray 1)
1983 Not held as the ACM’s NACCC that year, but as the Fourth World Championship. See below.
1984, San Francisco CRAY BLITZ (Hyatt, Gower, Nelson; Cray XMP/4) ; *BEBE (Scherzer; Chess Engine), *FIDELITY
EXPERIMENTAL (Spracklen, Spracklen; Fidelity machine)
1985, Denver HITECH (Ebeling, Berliner, Goetsch, Paley, Campbell, Slomer; SUN w/ chess hardware) ; BEBE (Scherzer;
Chess engine)
1986, Dallas BELLE (Thompson, Condon; PDP 11/23 w/ chess hardware) ; LACHEX (Wendroff; Cray XMP)
1987, Dallas CHIPTEST-M (Anantharaman, Hsu, Campbell; SUN 3 w/ VLSI chess hardware) ; CRAY BLITZ (Hyatt, Nelson,
Gower; Cray XMP 4/8)
1988, Orlando DEEP THOUGHT 0.02 (Hsu, Anantharaman, Browne, Campbell; SUN 3 w/ VLSI chess
hardware) ; CHESS CHALLENGER EXP (Spracklen, Spracklen, Nelson; Fidelity machine with Motorola
68030 microprocessor)
1989, Reno HITECH* (Ebeling, Berliner, Goetsch, Paley Campbell, Slomer; SUN w/ chess hardware) ; DEEP THOUGHT*
(Hsu, Anantharamam, Browne, Campbell, Nowatzyk; 3 SUN 4s w/ 2 VLSI chess processors per SUN)
1990, New York DEEP THOUGHT/88 (HSU, Anantharaman, Jensen, Campbell, Nowatzyk; SUN 4 w/ 2 VLSI chess processors) ;
MEPHISTO (Lang; MEPHISTO Machine with Motorola 68030 microprocessors)
1991, Albuquerque DEEP THOUGHT II (Hsu, Campbell; IBM RS 6000/550 w/ 24 VLSI chess processors); M CHESS (Hirsch; IBM PC
w/Intel 80486 microprocessor)
270 COMPUTER CHESS
1974, Stockholm KAISSA (Donskoy, Arlazarov; ICL 4/70) ; CHESS 4.0 (Slate, Atkin; CDC 6600)
1977, Toronto CHESS 4.6 (Slate, Atkin; CDC Cyber 176) ;DUCHESS (Truscott, Wright, Jensen; IBM 370/165)
1980, Linz BELLE (Thompson, Condon; PDP 11/23 with chess circuitry) ; CHAOS (Alexander, Swartz, Berman,
O’Keefe; Amdahl 470/V8)
1983, New York CRAY BLITZ (Hyatt, Gower, Nelson; Cray XMP 48) ; BEBE (Scherzer; Chess engine)
1986, Cologne CRAY BLITZ (Hyatt, Gower, Nelson; Cray XMP 48) ; HITECH (Berliner, et al; SUN workstaton
w/ chess circuitry)
1989, Edmonton DEEP THOUGHT (Hsu, Anantharaman, Browne, Campbell, Jansen, Nowatzyk; SUN w/ VLSI chess
hardware) ; BEBE (Scherzer, Scherzer; Chess Engine)
team of Car] Ebeling, Hans Berliner, Gordon Goetsch, Mur- then working backwards to all other positions, each posi-
ray Campbell, Andy Gruss, and Andy Paley. It searched tion is assigned a win, loss, or draw, and a count of the
approximately 110,000 positions per second. number of moves to the end of the game, or to another,
By 1988, Deep Thought had established itself as the simpler endgame.
world’s best program and was defeating Grandmasters in In 1978, David Levy, International Master from Lon-
tournament competition. It won the World Computer don, won a wager of several thousand dollars by defeating
Chess Championship in 1989. Work on Deep Thought Chess 4.7 in a match in Toronto. In 1968, he had wagered
began at Carnegie-Mellon University. Subsequently, the four computer scientists that no computer would defeat
programming team joined IBM’s T. J. Watson Research him in a match during the next 10 years. He won three
Center. The team is led by Feng-Hsiung Hsu and has in- games, drew one, and lost one. Following the match, Omni
cluded Murray Campbell, Thomas Anantharaman, Mike Magazine offered a prize of $5,000 to the authors of the
Browne, Andreas Nowatzyk, Joe Hoane, and Jerry Brody. first program to defeat Levy. The prize was won in Decem-
The most recent version runs on an IBM RS 6500/ 550 host ber 1989 by Deep Thought when it won four straight
connected to 24 special-purpose VLSI chess processors, games from Levy.
and searches 5,000,000 chess positions per second. Its 1989 saw the first meeting between the human world
level of play is in excess of a UCSF rating of 2600. (There champion, Gary Kasparov, and the world computer chess
are about 40 players in the world with a rating in excess champion. Kasparov defeated Deep Thought in a two-
of 2600. World Champion Gary Kasparov's rating has fluc- game match in New York in October 1989. A castling bug
tuated around 2800.) in Deep Thought surfaced during the games that, given
The leading microcomputer programs as of early Kasparov's strength, was a sufficient reason to cause
1992 are M CHESS, programmed by Marty Hirsch, Deep Thought to lose. The first of the two games with
MEPHISTO, programmed by Richard Lang, and the CHESS Kasparov is presented in Fig. 1. Several months earlier,
MACHINE, programmed by Ed Schroeder. They play at Deep Thought split two games under tournament condi-
approximately a 2400 level. tions against Grandmaster Robert Byrne, chess columnist
In recent years, endgame databases have been cre- for The New York Times. Its victory is presented in Fig. 2.
ated by Ken Thompson and Larry Stiller. All five-piece At the 1977 World Championship in Toronto, the In-
endgames have been solved as well as a number of six- ternational Computer Chess Association was formed to
piece endgames. The databases are built using retrograde provide an international framework for activities in com-
analysis: Starting with a database of won positions and puter chess and to encourage advances in this field. There
COMPUTER CIRCUITRY 271
Sicilian Opening
1 e2—e4 c7—c5 2 c2—c3 e7—e6 3 d2—d4 d7—d5 4 e4xd5 e6Xxd5 5 Ngl—f3 Bf8—d6 6
Bcl—e3 c5—c4 7 b2—b3 c4Xb3 8 a2Xb3 Ng8—e7 9 Nb1—a3 Nb8—c6 10 Na3—b5 Bd6—b8 11
Bfl—d3 Bc8—f5 12 c3—c4 O—O 13 Ral—a4 Qd8—d7 14 Nb5—c3 Bb8—c7 15 Bd3Xf5 Qd7xf5
16 Nf3—h4 Qf5—d7 17 O—O Ra8—d8 18 Rfl—el Rf8—e8 19 c4—c5 Bc7—a5 20 Qd1—d3 a7—a6
21 h2—h3 Ba5xXc3 22 Qd3Xc3 Ne7—f5 23 Nh4xf5 Qd7xXf5 24 Ra4—a2 Re8—e6 25 Ra2—e2
Rd8—e8 26 Qc3—d2 £7 —f6 27 Qd2—c3 h7—h5 28 b3—b4 Re8—e7 29 Kg1—h1 g7—g5 30 Kh1-gl
g5—g4 31 h3—h4 Re6—e4 32 Qc3—b2 Nc6—a7 33 Qb2—d2 Re4—e6 34 Qd2—cl Na7—b5 35
Qc1—d2 Nb5—a3 36 Qd2—d1 Kg8-—f7 37 Qd1—b3 Na3-—c4 38 Kg1—h2 Re6—e4 39 g2-—g3
Qf5—f3 40 b4—b5 a6—a5 41 c5—c6 f6—f5 42 c6Xb7 Re7Xb7 43 Kh2—g]1 f5—f4 44 g3xf4 g4—g3
45 Qb3—d1 Rb7—e7 46 b5—b6 g3xf2+ 47 Re2xf2 Qf3xd1 48 Rel Xd1 Re4xe3 49 Rf2—g2
Nc4xXb6 50 Rg2—g5 a5—a4 51 Rg5xh5 a4—a3 52 Rdl1—d2 Re3—e2 53 Resigns
FIG. 1. |DEEP THOUGHT (White) vs. Gary Kasparov (Black); 22 October 1989.
Sicilian Opening
1 e2—e4 c7—c5 2 c2—c3 b7—b6 3 d2—d4 Bc8—b7 4 Bfl—d3 e7—e6 5 Bcl—e3 Ng8—f6 6
Nb1—d2 Nb8—c6 7 a2—a3 d7~d6 8 Qd1—f3 g7-g6 9 Ng1—e2 Bf8—g7 10 O-O O—O 11 b2—b4
coXd4 12 c3xXd4 Qd8—d7 13 Ral—cl Ra8—c8 14 h2—h3 Nc6—e7 15 Be3—g5 Rc8Xcl 16
Rf1Xcl Nf6—e8 17 Bd3—b5 Qd7—d8 18 Qf3—g3 h7—h6 19 Bg5—e3 d6—d5 20 f2—f3 Ne8—d6
21 Bb5—d3 b6—b5 22 Rcl—c5 a7—a6 23 Be3—f4 Nd6—c4 24 Bd3xc4 d5xXc4 25 Bf4—d6
Rf8—e8 26 Rc5—c7 Bb7—a8 27 Rc7—c5 Ne7—c8 28 Bd6—e5 Bg7Xe5 29 Qg3xXe5 Nc8—d6 30
a3—a4 Qd8—d7 31 Qe5—f4 Kg8—g7 32 h3—h4 Ba8—c6 33 d4—d5 Bc6—a8 34 d5Xe6 Re8 Xe6
35 a4Xb5 a6 Xb5 36 Nd2—fl Nd6Xe4 37 f3xXe4 Re6 Xe4 38 Qf4—f2 c4—c3 39 Ne2Xc3 Re4xb4
40 Nfl —e3 Ba8—c6 41 Ne3—d5 Bc6 Xd5 42 Nc3 Xxd5 Rb4—b1+ 43 Kg1—h2 Qd7—d6+ 44 g2—g3
Qd6—e5 45 Nd5—c3 Qe5—el 46 Qf1—d4+ Kg7—g8 47 Nc3Xb1 Qel—e2+ 48 Kh2—g]1 Resigns.
FIG. 2. DEEP THOUGHT (White) vs. Robert Byrne (Black); 23 August 1989.
are currently about 500 members. It puiblishes the JCCA COMPUTER CIRCUITRY
Journal, the leading publication in the field. Information
on ICCA can be obtained from Professor Jonathan Schaef- For articles on related subjects see INTEGRATED CIRCUITRY:
fer, Department of Computing Science, University of Al- MICROCOMPUTER CHIP; MICROPROCESSERS AND MICROCOMPUT-
ERS; SUPERCONDUCTING DEVICES; and SWITCHING THEORY.
berta, Edmonton, Alberta, Canada T6G 2H1.
ae
S S
G G
nand
D D
(a) n-TYPE (b) p-TYPE
nor
or FIG. 2. Symbols for FETs.
Vdd
Pull
Input Pullup
Variables Network Resistance
Input
Output
Variables Output
Pulldown
Pulldown Network
Network
one of the two networks is activated.-If the pullup pulldown network consists only of nFETs are known as
(pulldown) network is activated, the output of the gate is nMOS gates. Circuits consisting of nMOS gates are known
set to the logic value 1 (0). Fig. 5(a) is an example of a as nMOS circuits.
type-a gate. If A = B = 1, the pulldown network is acti- Historically, nMOS circuits preceded CMOS circuits
vated and the output is set to 0. If A = B = 0, then the because nMOS circuits, unlike CMOS circuits, require
pullup network is activated and the output is set to 1. One only one type of switch. Therefore, it was easier to perfect
can verify that the gate of Fig. 5(a) implements the nand the nMOS technology. However, technological innovation
function. has made CMOS an equally feasible technology and today
For any assignment of values to the input of type-b almost all circuits are CMOS circuits.
gates, the output is set to 0 if and only if the assignments One of the major reasons for developing the more
activate the pulldown network. One can verify that Fig. complicated CMOS technology can be understood by re-
5(b) is a type-b nand gate, and Fig. 5(c) is a type b nor gate. examining the structure of the nMOS and CMOS logic
Type-a gates in which the pullup network consists gates. Consider the nand gates of Fig. 5(a), (b). If A= B =
only of pFETs and the pulldown network consists only of 1, the pulldown network of Fig. 5(a) is activated. The
nFETs are known as CMOS (Complementary Metal-Oxide pullup network of Fig. 5(a) is not activated. Therefore, in
Semiconductor) gates. Circuits consisting of CMOS gates Fig. 5(a), there is no conducting path from V,,, to Gnd. In
are known as CMOS circuits. Type-b gates in which the fact, in the gate of Fig. 5(a), there is no assignment of
Vdd
Vdd
R Vdd
Output
A R
Output
B
A B
C V+ Y
G F=A+B
(c) DIODE
yaeorA
(a) BIT
F
A
A Tl T
values to the input of the gate that will result in a conduct- otherwise, terminal C is disconnected from terminal E
ing path from V,,, to Gnd. On the other hand, in Fig. 5(b), (the switch is OFF).
when A = B = 1, there is a conducting path from V,, to Logic gates using BJTs are similar (if not identical) to
Gnd. Therefore, current flows through the pullup resistor type-b gates. In register-transistor logic (RTL), only nor
R, thereby dissipating power, something that does not gates are available for designing circuits. It is for this
occur with CMOS circuits. This, in turn, hinders the inte- reason that RTL is said to be “nor logic.” A two-input RTL
gration of a large number of nMOS gates on a single chip. nor gate is shown in Fig. 6(b). It is similar to the nMOS nor
This is one of the many reasons for using CMOS circuits gate of Fig. 5(c).
for denser chips. In diode-transistor logic (DTL), unlike RTL, only nand
gates are available for designing the circuits. These nand
Other Logic Families Although MOS, more specif- gates use both diodes and transistors as active devices.
ically CMOS, is now the dominant technology, a number The symbol for a diode is shown in Fig. 6(c). A diode is a
of technologies have been used for manufacturing com- unidirectional two-terminal device. If the voltage at X is
puters. These technologies differ in the type of switching higher than the voltage at Y, terminal X is electrically
devices used, as well as how the devices are used in the connected to terminal Y; otherwise, X is disconnected
design of logic gates. The earliest computer circuits used from Y. A DTL nand gate is shown in Fig. 6(d). To under-
vacuum tubes, but since they are no longer in use, we will stand the operation of this gate, note that if A (B) has the
not discuss the implementation of logic gates using vac- logic level 0 (i.e. voltage 0), diode d1 (d2) conducts. This
uum tubes. implies that the voltage at P is 0. V- is a negative voltage.
The logic families that we will discuss here use bipo- Therefore, diodes d3, d4 conduct and Q is at a negative
lar junction transistors (BJTs) as the switching device. Like voltage (by adjusting the resistance value R3). This cuts
FETs, BJTs are also three-dimensional devices. We use the T, the driver transistor, OFF and the output F is at the logic
symbol of Fig. 6(a) to represent a BJT where G is the base, level 1. If A = B = 1, diodes d1, d2 do not conduct. Diodes
E is the emitter, and C is the collector. If the voltage at C is d3, d4 conduct and Q is at a positive voltage (adjusted by
“sufficiently higher” than the voltage at E, terminal C is resistances R1, R3). The driver T is ON and the output F
electrically connected to terminal E (the switch is ON); is pulled down to logic level 0.
COMPUTER CIRCUITRY 275
In transistor-transistor
logic (TTL), the only gates avail- interval. Every interval is divided into two parts. During
able are nand gates. A TTL nand gate is shown in Fig. 6(e). the first part, clock is 1, and during the second part, clock
It is very similar to a DTL nand gate, but is faster than is 0. We will refer to them as the one and zero periods of
either RTL or DTL. If either A or B is at logic 0, there is the interval.
significant base to emitter voltage difference of either T1 Every circuit can be abstracted, as shown in Fig. 7(b).
or T2 to turn one or both of them ON. This brings down Computation proceeds as follows. During the one period,
the voltage of P to a sufficiently low value to cut T OFF. the values of the inputs change. During the zero period,
The output F is therefore at the logic level 1. When both the logic values at the outputs change and settle down to
A, B are 1, then both T1 and T2 are cut OFF and P returns their steady state value. This is known as single-phase
to a high voltage. This turns T ON and the output F is clocking.
pulled to the logic level 0. Combinational circuits are circuits whose output, dur-
In DTL and TTL, there is a driver BJT and circuitry is ing any time interval, depends only on the values of the
added to the base of this BJT to implement the nand inputs during the current time interval and is indepen-
function. In emitter-coupled logic (ECL), the base of the dent of the values of the inputs during the preceding time
driver BJT is grounded and circuitry is added to its emit- intervals. The output of sequential circuits, during any
ter (hence its name) to implement the nor function. ECL time interval, on the other hand, depends on both the
circuits are potentially faster than RTL, DTL, or TTL be- values of the inputs during the current interval, as well as
cause, unlike those logic families, the driver BJT is never the values of the inputs during the preceding time inter-
driven into saturation and can therefore switch much vals. Having noted this difference, we will next look at
faster from one state to another. If either A or B in Fig. 6(f) some combinational and sequential circuits and try to
is at a logic level 1, either T1 or T2 conducts. Therefore, understand some simple design procedures for these
there is current through R1. This brings Q to the logic classes of circuits.
level 0. The emitter of T4 is now at either 0 or a small
positive voltage (depending on the values of R1 and R3) Combinational Circuits Boolean functions are
and this cuts T4 OFF. S is therefore at the logic level 1. functions over boolean variables whose result can only
When both A, B are 0, neither T1 nor T2 conducts. Q is at be one of the two boolean values 0, 1. Combinational
the logic level 1. The emitter of T4 is at a negative voltage circuits implement boolean functions. An example of
(close to 0). T4 conducts and S is set to the logic level 0. such a function is the odd parity function P, of n variables.
Note that Q and S are complements. P,, equals 1 if and only if an odd number of the n input
One advantage of using logic gates implemented variables equal 1.
using BJTs is that they have faster switching speeds than Boolean functions are defined using truth tables. Such
gates using MOS devices. The low power dissipation of a table defines the value of the function for each combi-
MOS gates, among other reasons, made it easier to inte- nation of values of the input. The truth table of the parity
grate MOS devices. However, many of these logic families function of three variables is shown in Table 1. Circuits
are still in use for special purpose circuits or where higher with multiple outputs can also be specified using truth
driving capabilities are required. tables.
Fig. 8 is a description of a circuit for the parity func-
Classes of Computer Circuits Depending on the tion. Such a pictorial representation is a gate level descrip-
functions they implement, computer circuits are divided tion of the circuit. A simple, but not necessarily efficient,
into two classes: combinational circuits and sequential way to derive a gate level description from a truth table is
circuits. Combinational circuits are the simpler of the two as follows. An input variable X; or its complement (i.e.
classes and, along with other circuit elements, are used in negation) X; is known as an input literal. A conjunction of
the design of sequential circuits. literals is known as a ferm. Corresponding to each row of
To understand the difference between combinational a truth table, we have a term. For example, for row 1 of
and sequential circuits, refer to Fig. 7(a). The time interval Table 1, we have the term X, - X, - X; (‘’ denotes the ‘and’
is divided into sub-intervals /1, /2,...of equal size. The operation). The term corresponding to a row of a truth
intervals are marked by a periodic logic signal known as table for a boolean function fis a one-term for fif and only
clock. The period of clock is equal to the length of the if the value of ffor that input combination is 1. A zero-term
Outputs
Clock
INTERVALS
(b)
X1 X2 X3
links to be broken
SI NY X3 X1
(a)
a circuit with one input X and one output Y, defined as mod 3, which is nothing but the remainder left after
follows. Let n; be the number of intervals, including and dividing n., by 3. Also note that if X, during Ij, equals 1,
up to I, during which X had the value 1. At the end of I, Y then r=O,+ 1) mod 3; and if r, equals 0, then Yis to be
is set to 1 if and only if n; is divisible by 3. We call sucha set to 1. Therefore, at the end of any interval, we need to
circuit MOD-3. remember if the remainder was 0, 1, or 2.
In order to compute the value of Y during the interval Another way to express this behavior of MOD-3 is
I, MOD-3 must remember some characteristics of the with the help of the state diagram of Fig. 11(b). Since we
pattern of Os and Is during the intervals 1 to Ty. It is need to know if r is 0, 1, or 2, we say that the circuit, at the
enough for the circuit to remember the value of Ty = Nyy end of Ij,is in stateSO if yeis 0, S1 if r;is 1, and S2 if r;is 2
OR
Tee
AND-PLANE PLANE
| |
X1 X1 x2 X2
X xX a/b
0/0 hese
ees
o/1 :
CLOCK (s)
1 ;
(a) A Ij-1 Jj:
(# } 0 Boner es
1/1 (=) 0/0
set ats (ne r=t
rj-1 =1
ste |
X=a, Y=b
(b) ()
The arrow marked a/b, which starts at Si and ends at St, Historical Notes We conclude the discussion with
is to be interpreted as follows: if, at the end of the interval some historical notes. The earliest electronic computers
I) iy is iand during interval iFthe value of X is a, then, at were based on vacuum tubes. They are known as first
the end of interval I, the value of Y should be b and r; generation computers and spanned the years 1945 to
should be t. 1959. ENIAC (q.v.), which was built around 1945 at the
While designing a circuit from a state diagram, we University of Pennsylvania, is an example. It used about
have to make sure that the circuit “remembers” the state 18,000 tubes.
of the system. In order to do that, the states are encoded After the BJT was invented in 1948, it took almost 10
using two state variables ay, a, as follows: SO = (a0 = 0, al years for it to become a practically feasible alternative to
= 0);S1 = (a0 = 0, al = 1); and S2 = (a0 = 1, al= 0). The vacuum tubes. The second generation of computers,
circuit now needs to remember the values of the state which spanned the years 1959 to 1964, used BJTs. In
variables. In other words, the circuit should be capable of making these computers, discrete components like BJTs,
remembering two bits of information. This leads to the diodes, etc. were placed on a printed circuit wiring board
question: how exactly does a circuit remember two or and interconnected using copper wires. Since these com-
more bits of information? ponents were much smaller than vacuum tubes and re-
As they did for logic gates, circuit designers have quired much less power, the resulting computers were
devised circuit elements called flip-flops. A flip-flop can significantly smaller in size.
store (i.e. remember) 1 bit of information. The structure Unlike the clear distinction between the first and
of a flip-flop is shown in Fig. 12(a) and we will use the second generation of computers, there is a smaller
symbol of Fig. 12(b) to represent such a flip-flop. Here Q
distinction between subsequent generations. The third
is the output of the flip-flop and Q is another output, such
generation, exemplified by the IBM System 360, used
that the value of Q is always the complement of the value
integrated circuit technology. In integrated circuits, a
of Q. D is the input to the flip-flop. When CLOCK is 1 and
number of devices like BJTs, diodes, etc. along with
Dis 1, Qis set to 1. When D is 0 and CLOCK is 1, then Q is
the interconnecting wires, are all fabricated on a single
set to 0. When CLOCK is 0, the value of Q or Q cannot
silicon wafer. These chunks of circuits were then inter-
change. What we have just described is a D flip-flop. There
connected using external wires to make the entire
are a number of other classes of flip-flops like SR flip-flop,
circuit.
JK flip-flops, etc. Fig. 12(c) depicts a slight variation of a D
flip-flop that uses nFETs. In this case, in order to modify
the values of Q and Q, both CLOCK and WR have to be 1.
To continue our discussion of the design process, we TABLE 2.
derive the state table from the state diagram. The state
table for our example is shown in Table 2. For each edge in
the state diagram, we have a row in the state table. The
pair < dy, a, > defines the state S, of Fig. 11(c); < Dy, D, >
defines the state S, ; X defines the value a; and Y defines the 0 0 0 0 0 1
value b. Note that Dp, D, will become the new value of Ap, a, 1 0 0 0 1 0
at the start of the next interval. In order for that to happen, 0 0 1 0 1 0
the circuit should be of the form shown in Fig. 13(a), where 1 0 1 1 0 0
C must satisfy the conditions of the state table (Table 2). 0 1 0 1 0 0
The complete circuit is shown in Fig. 13(b). Note that Table 1 1 0 0 0 1
2 is like a truth table for the combinational block C of Fig. 0 1 1 dc d d
13(a). This is a simple, but not necessarily an efficient way 1 1 1 dc d d
to implement sequential circuits. dc— don’t care
COMPUTER CIRCUITRY 279
CLOCK
(a)
Initially, only a few hundred devices could be inte- known as microprocessors. Powerful computing systems
grated on a single silicon wafer. That was the era of small that are made from these VLSI chips constitute the fourth
scale integration (SSI). With technological innovations, generation of computers. Unlike third generation comput-
the number of devices that could be integrated on asingle ers, these computers are almost exclusively based on
wafer grew. Today, a few hundred thousand devices are MOS devices.
fabricated on a single silicon wafer. This is known as very It would be inaccurate to leave the impression that
large scale integration (VSLI). It is now possible to fabri- the technological innovations in computer circuitry re-
cate an entire processor, except for the external memory sulted only in smaller and more highly integrated circuits.
and peripheral drivers, on a single silicon wafer. These are Designers of systems to be used for special purpose ap-
X E>@
(b)
FIG. 13. Implementation of the state diagram of Figure 11.
280 COMPUTER CONFERENCING
plications like scientific applications were more inter- tems, bulletin boards (qg.v.), group decision support sys-
ested in the speed of the circuits. So, along with increased tems, computer supported cooperative work, etc.
levels of integration, faster and faster switching devices Since many of these systems incorporate electronic
were made. The CDC 6000 was implemented using dis- mail (g.v.) subsystems, the best term that has emerged to
crete components that were very fast, and yet is generally encompass all versions of this technology is “computer-
considered to be a third generation computer. Similarly, mediated communication systems” (CMCS).
the CRAY-1, CRAY-XMP, etc., which do not use a very high Some examples of particular application structures
level of integration but instead use very fast specialized that have undergone field trials, evaluation, and appli-
components, are considered to belong to the fourth gen- cation are crisis management, project management,
eration. unpredictable information exchange, collaborative com-
The classification of computing systems based on position, group therapy, Delphi exercises, management
circuit technology alone has often been questioned. Of gaming, remote education and training (e.g. virtual class-
late, it is generally believed that the “nature of the compu- room), data validation, and general discussion.
tation” should be used to classify computers. Accord- Some features that characterize a general purpose
ingly, the fifth and latest generation of computers consists computer conferencing system are:
of those that can directly execute “logic programs” (q.v.).
e All comments in a conference (group discussion
References space) are signed and dated.
e Conference membership is under the control of the
1977. Taub, H. and Schilling, D. Digital Integrated Electronics. New
owner or open to the public.
York: McGraw-Hill.
e Status reports show who has read or written what.
1978. Kohavi, Z. Switching and Finite Automata Theory. New York:
McGraw-Hill. e Availability of anonymity or pen names as alterna-
1980. Mead, C. and Conway, L. /ntroduction to VLSI Systems. Read- tives to signatures.
ing, MA: Addison Wesley. e Keyword indexing of conference comments and
1985. Bartee, T. C. Digital Computer Fundamentals, 6th Ed. New use of subject headings.
York: McGraw-Hill. e Voting and collaborative decision aids.
1985. Weste, N. and Eshraghian, K. Principles of CMOS VLSI Design. e Specific human roles in the group supported by
Reading, MA: Addison-Wesley. the software (e.g. monitors, editors, observers, in-
1989. Unger, S. H. The Essence of Logic Circuits. Englewood Cliffs, dexers).
NJ: Prentice Hall.
e Specialized privileges, such as joint editing of the
same entry.
SREEJIT CHAKRAVARTY
e Executable programs attached to conference com-
ments.
e Directories of members and conferences.
COMPUTER CONFERENCING e Virtual addressing of all existing objects, such as
comments and mail.
For articles on related subjects see BULLETIN BOARD; ELEC-
TRONIC MAIL; GROUPWARE; and NETWORKS, COMPUTER. While computer-mediated communications allows indi-
viduals to engage in group communication processes at
Computer conferencing (CC) is the use of computers any time or place that is individually convenient for them,
and computer networks to structure group communica- the main benefit of this technology is the possibility for
tions according to the nature of the communication objec- these systems to provide the ability to promote “collec-
tives and the nature of the group. Although computer tive intelligence”—the communication objective that the
conferencing systems can be used by groups at the same result of the group process can be better than that possi-
time, they are primarily designed to support asynchro- ble by the “best” member in the group acting alone.
nous communications among the members of a group. Individuals in a computerized conferencing environ-
Though most CC systems are commonly used for text- ment are free to integrate their individual problem-solv-
based communications, the newer systems will support ing abilities as an integral part of the group problems.
graphics and other digitized media, such as electronic Different members of the group may address the part
voice. of the problem about which they have the most insight
A given conference in a CC environment can last for or information independent of the other members. It is
years and accumulate many thousands of comments. As the objective of the structure and communication pro-
a result, CC systems incorporate numerous information tocols provided by the computer to integrate these
organizing and retrieval features to facilitate the use of a contributions into a group result and to aid in synchro-
dynamic “group memory.” nizing the group at key points in the group process.
The first CC system was the incorporation of a Policy This integration of individual and group problem-solving
Delphi structure into a time sharing environment in 197]. methods is what provides the promise of “collective
Since 1971, numerous systems have evolved, and a long intelligence” on a more consistent basis than normal
list of alternative names for this technology have been face-to-face meetings.
introduced: groupware (q.v.), teamware, collaborative Some of the current issues being addressed by active
systems, coordination systems, electronic meeting sys- research in this field are:
COMPUTER CRIME 281
e The trade-off between human facilitation and com- ronments. Although crime has traditionally occurred in
puter facilitation. ordinary human environments, some crime is now perpe-
e Collaborative composition of Hypertext (q.v.). trated inside personal computers in bedrooms or main-
e The impact of such parameters as the size of the frame computers in the specialized environment of rooms
group and the relationship to structure. with raised flooring, lowered ceilings, large gray boxes,
e Conference tailoring under control of the user or flashing lights, moving tapes, and the hum of air-condi-
owner of a given conference. tioning motors.
Decision support toolkits. The methods of committing crime have changed. A
Generalized gaming support. new jargon has developed, identifying automated crim-
Evaluation methods for group performance. inal methods such as data diddling, Trojan horses,
Appropriate models for individual and group pro- viruses, worms, logic bombs, salami techniques, super-
cess. zapping, piggybacking, scavenging, data leakage, and
Object-oriented systems (g.v.). asynchronous attacks. The forms of many of the targets
Integration with other computer resources. of computer crime are also different. Electronic trans-
Communications as an interface metaphor. actions and money, as well as paper and plastic money
Expert system (g.v.) guidance on use of available (credit cards), represent assets subject to intentionally
tools. caused automated loss. Money in the form of electronic
signals and magnetic patterns is stored and processed
The future of this technology lies in the ability of the in computers and transmitted over telephone lines.
computer to provide structures appropriate to a given Money is debited and credited to accounts inside com-
application, and in our understanding of the relationships puters. In fact, the computer has become an electronic
among the structures, protocols, tools, and the individual vault for the business community. Many other physical
and group problem-solving process. It is impossible to assets, including inventories of products in warehouses
divorce the design and evolution of this technology from and of materials leaving or entering factories, are rep-
behavioral and social understanding. Designing human resented by electronic and optical documents of records
communication systems is, in effect, the designing of inside computer systems. Electronic data interchange
social systems. As a result, the technology offers the (EDI), which connects trading partners for conducting
possibility of new social structures for organizations and contract negotiations, sales, invoicing, and collections,
for society. focuses traditional sources of business crime on com-
puters and data communications.
References The timing of some crimes is also different. Tradi-
tionally, the duration of criminal acts is measured in
1989. Turoff, Murray. “The Anatomy of a Computer Application
minutes, hours, days, weeks, months, and years. Today,
Innovation: Computer Mediated Communications (CMC),”
some crimes are being perpetrated in less than 0.003
Journal of Technological Forecasting and Social Change, 36,
of a second (3 milliseconds). Thus, automated crime
107-122.
1991. Turoff, Murray. “Requirements for Group Support in Com- must be considered in terms of a computer time scale
puter Mediated Communication Systems,” Journal of Organi- of milliseconds, microseconds, and nanoseconds be-
zational Computing, 1, 1. cause of the speed of execution of instructions in com-
puters.
MURRAY TUROFF Geographic constraints do not inhibit perpetration of
this crime. A telephone with an attached computer termi-
nal in one part of the world could be used to engage ina
crime in an online computer system in any other part of
COMPUTER CRIME the world.
For articles on related subjects see COMPUTER VIRUS; All these factors and more must be considered in
HACKER; LEGAL ASPECTS OF COMPUTING; and LEGAL PROTECTION dealing with the crime of computer abuse. Unfortunately,
OF SOFTWARE. however, the business community, constituting all busi-
nesses, government agencies, and institutions that use
Business, economic, and white-collar crimes have computers for technical and business purposes, is nei-
changed rapidly as computers proliferate into the activi- ther adequately prepared to deal with nor sufficiently
ties and environments in which these crimes occur. Com- motivated to report this kind of crime to the authorities.
puters have engendered a different form of crime. Although reliable statistics are as yet unavailable to
Computers have been involved in most types of crime, prove this, computer security studies for the business
including fraud, theft, larceny, embezzlement, bribery, community and interviews with certified public accoun-
burglary, sabotage, espionage, conspiracy, extortion, at- tants have indicated that few crimes of this type are
tempted murder, manslaughter, pornography, trespass- ever reported to law enforcement agencies for prosecu-
ing, violation of privacy, and kidnapping. tion.
The evolution of occupations in this field has ex- State and federal criminal codes contain at least 50
tended the traditional categories of criminals to include statutes defining computer crime. Any violations of these
computer programmers, computer operators, tape librar- specific statutes are computer crimes under the most
strict interpretation of the term; in some contexts it is
ians, and electronic engineers who function in new envi-
282 COMPUTER CRIME
also customary to include alleged violations of these stat- e Symbol—A computer can be used as a symbol for
utes as computer crimes. intimidation or deception. This could involve an
Computer-related crimes—a broader category—are organization falsely claiming to use nonexistent
any violations of criminal law that involve a knowledge of computers.
computer technology for their perpetration, investiga-
tion, or prosecution. Although computer-related crimes The dimensions of the definition of computer crime be-
are primarily white-collar offenses, any kind of illegal act comes a problem in some cases. If a computer is stolen in
based on an understanding of computer technology can a simple theft where, based on all circumstances, it could
be a computer-related crime. They could even be violent have been a washing machine or milling machine and
crimes that destroy computers or their contents and made no difference, a knowledge of computer technology
thereby jeopardize human lives (e.g. people who depend is not necessary and it would not be a computer crime.
on the correct functioning of computers for their health However, if knowledge of computer technology is neces-
or well being). The proliferation and use of personal com- sary to determine the value of the article taken, the nature
puters make computer-related crimes potentially en- of possible damage done in the taking, or the intended use
demic throughout society. by the thief, then the theft would be a computer crime.
Computer abuse encompasses a broad range of inten- The following illustrates. If an individual telephones
tional acts that may or may not be specifically prohibited a bank funds transfer department and fraudulently re-
by criminal statutes. Any intentional act involving knowl- quests a transfer of $70 million to an account in a bank in
edge of computer use or technology is computer abuse if Vienna, two possibilities occur. If the clerk who received
one or more perpetrators made or could have made gain, the call was deceived and keyed the transfer into a com-
one or more victims suffered or could have suffered loss, puter terminal, the funds transfer would not be a com-
or both. puter crime. No fraudulent act was related directly to a
The term computer crime has been used to refer gen- computer, and no special knowledge of computer technol-
erally to all three categories: computer crime in the strict ogy was required. However, if the clerk was in collusion
sense, computer-related crime, and computer abuse. with the caller, the fraudulent act would include the entry
Where the context requires distinctions among the three of data at the terminal and would be a computer crime. —
categories to avoid confusion or misinterpretation, the Knowledge of computer technology would be necessary
text specifically identifies the type of crime or abuse that to understand the terminal usage and protocol.
is intended. These examples indicate the possibilities of rational
Computer crime may involve computers not only conclusions in defining computer crime. However, more
actively but also passively when usable evidence of the practical considerations should not make such explicit
acts resides in computer storage. The victims and poten- and absolute decisions necessary. A classification of com-
tial victims of computer crime include all organizations puter crime is based on a variety of lists and models from
and people who use or are affected by computer and data several sources. The classification goes beyond white-col-
communication systems, including people about whom lar crimes because computers have been found to be
data are stored and processed in computers. involved in almost all types of crime. Computer crime has
been categorized by types of information and informa-
Categories All known and reported cases of com- tion-processing loss: modification, destruction, disclo-
puter crime involve computers in one or more of the sure, and use or denial of use. This classification is
following four roles: deceptive, however, because many other types of loss
have occurred, including acts of misrepresentation, delay
e¢ Object—Cases include destruction of computers or prolongation of use, renaming, misappropriation, and
or of data or programs contained in them or of failure to act. Therefore, a more comprehensive and us-
supportive facilities and resources, such as air- able typing is loss of integrity, confidentiality, and avail-
conditioning equipment and electrical power tha ability of information. These three classes define acts that
allow them to function. are intrinsic to information (such as changing it), extrin-
e Subject—A computer can be the site or environ- sic to information (such as changing access to it), and
ment of a crime or the source of or reason for external to information (by removing or copying it).
unique forms and kinds of assets lost, such as a The SRI Computer Abuse Methods Model considers a
pirated computer program. A fraud perpetrated by classification system for computer abuses that is summa-
changing account balances in financial data stored rized in Fig. 1. It shows the relationships of computer
in a computer makes the computer the subject of crime methods. The model is more of a system of descrip-
a crime. tors than it is a taxonomy in the usual sense, in that
e Instrument—Some types and methods of crime are multiple descriptors may apply in any particular case. For
complex enough to require the use of a computer visual simplicity, this model is depicted as a simple tree,
as a tool or instrument. A computer can be used although that is an oversimplification—the classes are
actively such as in automatically scanning tele- not mutually disjoint.
phone codes to make unauthorized use of a tele- The order of categorization depicted is roughly from
phone system. It could also be used passively to the physical world to the hardware to the operating sys-
simulate a general ledger in the planning and con- tem (and network software) to the application code. The
trol of a continuing financial embezzlement. first abuse class includes external abuses that can take
COMPUTER CRIME 283
External Internal
Abuse
Accepted Usage
Valid Access
Masquerade
Preprogrammed Use
Preprogrammed
Abuse
Conforming to Intended Controls
Bypass of Intended
Controls
Active Use
Active Abuse
? Passive Use
Passive Abuse
place passively without access to the computer systems. especially acute as computer technology proliferated into
The second class includes hardware abuse, and generally sensitive areas in society, such as military systems. The
requires some sort of physical access and active behavior abuse then spread to engineering, to science, and in par-
with respect to the computer system itself. Eavesdrop- allel to business and personal applications.
ping and interference are examples of these two classes, The first recorded computer abuse occurred in 1958
respectively. The third class includes masquerading in a (Parker et al. 1973). The first federally prosecuted com-
variety of forms. The fourth includes cases of preparation puter crime, identified as such, was the alteration of bank
for subsequent abuses, (e.g. the planting of a Trojan horse records by computer in Minneapolis in 1966.
(instructions secretly inserted into the victim’s computer No valid, representative statistics on computer crime
program)), as opposed to the abuses that result from the exist, even through several surveys have been conducted
actual exploitation of the Trojan horse, which show up and well-known organizations and individuals have
later in subsequent classes. The remaining classes in- quoted various statistics. Frequency, losses per year, rate
volve bypass of authorization, active abuse, passive of increase or decrease, percentages of perpetrators
abuse, and uses that lead to subsequent abuse. The within or outside of victimized organizations, and the
leftward branches all involve misuses, while the number of cases discovered and prosecuted are not
rightward branches represent potentially acceptable use, known. To protect themselves, victims try to deny their
until a leftward branch is taken. Every leftward branch loss. No methods have been devised to apply uniform
represents a class of vulnerabilties that must be defended definitions, identify authoritative sources, or conduct
against and detected at the earliest possible time. How- surveys in any Statistically valid way. The formal study of
ever, the techniques for defense and detection differ from computer abuse was started in 1971. The first national
one branch to the next. conference on computer abuse and a comprehensive re-
This figure represents a classification system for port were completed in 1973. Since then, many reports,
types of techniques, but not a taxonomy of computer papers, journal articles, and books have been published
crimes. Actual violations of computer security and integ- describing the research (see References).
rity have often involved multiple types of abuse. For In 1976, as a result of the increasing frequency of
example, the German Chaos Computer Club people who cases, Senator Abraham Ribicoff and his U.S. Senate Gov-
attacked NASA systems in 1987 utilized (at least) tech- ernment Affairs Committee became aware of computer
niques of external abuse, masquerading, preplanned Tro- crime and the inadequacy of federal criminal law to deal
jan horse attacks, bypass of intended controls, and both with it. The committee produced two reports on its re-
active and passive abuses. Thus, the tree representation search (1976, 1977), and Senator Ribicoff introduced the
is merely a convenient way of summarizing the classes. first Federal Systems Protection Act Bill in June 1977.
These legislative efforts evolved into House Bill 5616 in |
History Computer abuse started with the emergence 1986, which resulted in the Computer Fraud and Abuse
of computer technology in the late 1940s. As the number Act of 1987, established as Article 1030, Chapter 47 of
of people in the computer field began to increase, that Title 18 Criminal Code. On the state level, Florida, Michi-
facet of human nature that wants to harm society for gan, Colorado, Rhode Island, and Arizona were the first to
personal gain took hold; the problem of abuse became have computer crime laws based on the first Ribicoff bill.
284 COMPUTER ENGINEERING
Current legislation on computer crime exists in all states gence, computational science—harnessing the power of
and several other countries. supercomputers, and perceptual and cognitive pro-
Computer crime has been portrayed fictionally in cesses), paradigms for representing information (e.g. al-
several novels, motion pictures, and television dramas. gorithms for numeric and non-numeric applications,
Two comic strips, Dick Tracy and Steve Roper, have de- symbol manipulation, and language processing), para-
picted fictional stories. The British Broadcasting System digms for processing information (e.g. distributed com-
dramatized the computer crime aspects of a massive puting, software engineering, information storage and
insurance fraud. NBC TV News and the CBS show “60 retrieval, programs for managing computing resources,
Minutes” have had special segments. The motion picture programs for transforming source programs, hardware
“War Games” was the first to popularize computer hack- execution models, programming languages and compil-
ing. Several nonfiction trade books have been published, ers—from the standpoint that they impact an integrated
and articles have appeared in all major magazines and hardware/software system, networks that interconnect
newspapers. Unfortunately, the public interest and sensa- pieces of a computer system to form one complete com-
tionalism associated with computer crime, particularly puter system and those that interconnect complete com-
the malicious hacker (q.v.) cases that peaked in 1982 and puter systems), and tools for designing and measuring the
the 1988 computer virus cases, have made folk heroes of effectiveness of computer systems (e.g. CAD design tools
the perpetrators and embarrassed the victims. and performance measurement and analysis tools).
Also like computer science, computer engineering is
References concerned with human/machine interfaces, vision sys-
tems, robotics, graphics, reliable computer systems, logic
1973. Parker, Donn B., Nycum, Susan H., and Oura, S. “Computer
Abuse,” SRI International, Menlo Park, California, report dis-
circuits, hardware devices and structures, and applica-
tributed by National Technical Information Service, U.S. De- tion-specific computers.
partment of Commerce, Springfield, Virginia. A continuing debate persists as to what is computer
1975. Allen Brandt. “Embezzler’s Guide to the Computer,” Harvard science and what is computer engineering and where one
Business Review. (July) 53. should draw the line between the two. It is sometimes
1976. Parker, Donn B. Crime by Computer. New York: Charles argued that computer engineering is more concerned
Scribner’s Sons. with hardware and computer science is more concerned
1976. U.S. Senate Committee on Government Operations, “Prob- with software. But that would put both hardware design
lems Associated with Computer Technology in Federal Pro-
and hardware models within the realm of computer engi-
grams and Private Industry,” U.S. Government Printing Office,
neering. Hardware design clearly belongs in computer
Washington, D.C. (June).
1977. U.S. Senate Committee on Government Operations, “Staff engineering, since the element of design is central to
Study of Computer Security in Federal Programs.” U.S. Gov- computer engineering. Arguably, however, the develop-
ernment Printing Office, Washington, D.C. ment of hardware models is really computer science.
1983. Parker, Donn B. Fighting Computer Crime. New York: Charles Therefore, VLSI design, as a subset of hardware design,
Scribner’s Sons. also belongs in both disciplines.
1986. Sieber, Ulrich. The International Handbook on Computer This hardware/software dichotomy also produces a
Crime. New York: John Wiley and Sons. problem with software engineering (q.v.). Certainly, for-
1989. Computer Crime: Criminal Justice Resource Manual. US. De- mal methods (q.v.) for proofs of program correctness is
partment of Justice Report No. NCJ118214, Washington D.C.
(August). computer science, but the practice of software engineer-
ing, getting large programs to work, falls squarely in the
1989. Stoll, C. The Cuckoo's Egg. Garden City, NY: Doubleday.
1990. BloomBecker, B., Spectacular Computer Crimes. Homewood, domain of computer engineering.
IL: Dow Jones-Irwin. Computer engineering and computer science are not
1991. Hafner, K. and Markoff, J. Cyberpunk: Outlaws and Hackers at all differentiated by whether they involve hardware or
on the Computer Frontier. New York: Simon and Shuster. software, since each involves both. Rather, computer en-
gineering is more concerned with the implementation of
DONN B. PARKER ideas, while computer science is more concerned with the
formal structure of those ideas. Two examples may make
the distinction clearer.
COMPUTER ENGINEERING Case 1. A compiler is a program that transforms a
source program written in a language reasonably suit-
For articles on related subjects see COMPUTER-AIDED ENGL able for humans into a set of directives suitable for
NEERING; and COMPUTER SCIENCE. the hardware to carry out the work specified by the
source program. The taxonomy of compiler features,
Computer engineering, as differentiated from com- the functionality that each provides, and the distinction
puter science, focuses on the implementation (i.e. reduc- between what is doable and not doable by a compiler
tion to practice) aspects of the discipline, and the is more nearly computer science. The design and de-
trade-offs required to produce viable systems. velopment of a compiler that includes performing
Like computer science, computer engineering is also cost/benefit trade-off analysis with respect to including
concerned with all elements of information processing or leaving out specific features vis-a-vis a specific target
systems, including the application environment (e.g. visu- hardware implementation is more nearly computer en-
alization of the results of a computation, artificial intelli- gineering.
COMPUTER GAMES 285
Case. 2. A hardware execution model is a paradigm for The military set the pace for simulation games for
carrying out the directives produced by the compiler. The many years, and in 1955 Hutspiel, the first theater-level
taxonomy of hardware execution models and their distin- war game (NATO vs. USSR), was programmed at the Re-
guishing characteristics is more nearly computer science. search Analysis Corporation in McLean, Virginia.
The design and implementation of a hardware execution Although Newell, Shaw, and Simon are frequently
model, with strong attention to the cost vs. benefits trade- credited with the first chess game—probably because
offs associated with the individual features, is more they stayed at it for over 20 years—the first version of
nearly computer engineering. computer chess (g.v.) was actually programmed in 1956
by Kister, Stein, Ulam, Walden, and Wells on the MANIAC-I
YALE PATT at the Los Alamos Atomic Energy Laboratory. The game
was played on a simplified 6 x 6 board and examined all
possible moves two levels deep at the rate of 12 moves
per minute. It played similar to a human player with about
COMPUTER GAMES 20 games experience. In contrast, Deep Thought, the 1990
For articles on related subjects see ARTIFICIAL INTELLIGENCE; computer chess champion, examined about 1.5 million
and COMPUTER CHESS. moves per second and used a combination of brute force
and intuitive play on a standard board. Although rated at
about 2600 on the FIDE system, which places it among the
HISTORY top 40 human players in the world, Deep Thought was
decisively defeated by Gary Kasparov in a two-game
Computers weren’t invented to play- games. In the match in October 1989.
1950s and 1960s, with computer time both scarce and In 1958, a tennis game was designed for an analog
expensive, writing games for the fun of it was actively computer at Brookhaven National Lab by Willy Higin-
discouraged at most computer centers. bothan. This game, played on an oscilloscope display,
Nevertheless, there were many other reasons than was significant in that it was the first video game to permit
just plain fun for writing computer games. Common rea- two players actually to control the direction and motion
sons included exploring the power of the computer, im- of the object moving on the screen (the ball).
proving understanding of human thought processes, In 1959, large-scale simulation games moved into the
producing educational tools for managers or military offi- private sector with the programming of “The Manage-
cers, simulating dangerous environments, and providing ment Game” by Cohen, Cyert, Dill, and others at Carnegie
the means for discovery learning. Tech in Pittsburgh. This game, programmed in the lan-
In some sense, the association of computers and guage GATE on a Bendix G-15 computer, simulated com-
games started in 1950 when Alan Turing proposed his petition between three companies in the detergent
famous imitation game in the article “Computing Ma- industry and integrated modules on marketing, produc-
chinery and Intelligence,” published in Mind magazine. tion, finance, and research. Modified and updated for
Never programmed by Turing himself, a variation of newer computers, but still in use at many graduate
Turing’s game called Eliza was put in the form of a com- schools of business today, this game has certainly set the
puter program 13 years later by Joseph Weizenbaum at record for the longest life of any computer game ever
M.LT. written.
In 1952, behind a cloak of secrecy, the first military With the delivery in 1959 of the first Digital Equip-
simulation games were programmed by Bob Chapman ment Corporation (DEC) PDP-1 with its 15-inch video
and others at Rand Air Defense Lab in Santa Monica. In the
same year, a number of “formula” games (Nim, etc.) and
“dictionary look-up” games (tic-tac-toe, etc.) were pro-
grammed for several early computers. Also in 1952, a
computer was specially designed to play Hex, a game with
no exact solution, by E.F. Moore and Claude Shannon
(g.v.) at Bell Labs in New Jersey.
In 1953, Arthur Samuel first demonstrated his Check-
ers program on the newly unveiled IBM 701 computer at
IBM in Poughkeepsie, NY. Later that year, the book The
Complete Strategyst by J.D. Williams was published by
RAND Corp. This was the first primer on game theory and
provided the theoretical foundation for many early com-
puter game programs.
The first computer game of blackjack was pro-
grammed in 1954 for the IBM 701 at the Atomic Energy
Lab at Los Alamos, NM. Also in 1954, a crude game of
pool—perhaps the first non-military game to use a FIG. 1. In Accolade’s “Test Drive” game, players can choose to
video display—was programmed at the University of drive various cars on a variety of demanding tracks and
Michigan. courses.
286 COMPUTER GAMES
which would cancel play if the operator applied too much gram at a time.) “Computer Space” was not a commercial
force to the cabinet. The year 1932 also saw introduction success, possibly because its controls were complicated.
of the “kickout” hole. A solenoid in the hole would cause Bushnell used the small profit from the game to found
the ball to be propelled back into play after scoring. The Atari Corporation and, in 1972, produced a game known
introduction of the flipper in 1942 added player skill toa as “Pong.” A similar game, “Paddle Ball,” was produced in
game that formerly had been influenced only by chance the same year by Williams Electronics. “Pong” was a two-
once the ball was released. Pinball machines improved player game in which a ball moved around a rectangular
along with technology—printed circuits were introduced space. Each player rotated a knob to control a rectangular
into a game called “Perky” in 1956, eliminating most of the “paddle,” the object being to keep the ball from moving off
wiring that filled the older game cabinets. Pinball ma- the player’s side of the screen. Refinements to the original
chines and jukeboxes remained the basis of the coin-op- were made in one-man hockey and tennis simulations in
erated amusement business for almost 80 years, until the which each player controlled two paddles and the ball
introduction of video games. was delivered at various speeds.
The first coin-operated game to be played on a mono- Non-electronic color was introduced to video games
chromatic video screen was called “Computer Space.” in 1973 when Atari introduced “Breakout,” another game
Developed in 1971, this game was a simple shoot-up in using a paddle in which a ball was bounced off an array of
which the operator controlled the direction of a space- bricks, destroying those it touched. Since the bricks did
craft. The object of the game was to destroy dots on the not move in the original version of this game, they could
screen by firing at them. “Computer Space” was devel- be colored by attaching strips of cellophane to the screen.
oped by Nolan Bushnell from a popular mainframe game In 1976, a very controversial arcade game called
called Spacewar. (Computer games have always fasci- “Death Race” was developed by Exidy Corporation from a
nated programmers—there were games written for main- science-fiction story that was made into the motion pic-
frames in the 1950s, even though computers of the time ture “Death Race 2000.” The story was based on a cross-
cost up to $1,000 per hour and supported only one pro- country automobile race in which the participants scored
bonus points for hitting pedestrians. Much of its popular-
ity came from the controversy caused by its theme.
“Seawolf” (Bally/Midway) was introduced in 1977.
The theme was submarine warfare, with the player view-
ing and firing torpedoes at targets through a realistic
periscope.
The first game to take advantage of vector graphics
was “Space Wars,” introduced by Cinematronics in 1978.
A more popular vector game was “Asteroids” by Atari
(1979), in which the player controlled a spacecraft among
a host of asteroids that were moving across the screen.
The craft could turn and accelerate to escape asteroids
and destroy them by shooting. Big asteroids, however,
turned into many small ones when hit. “Asteroids” in-
cluded good sound effects and good physics—the prin-
ciple of conservation of momentum was not only evident
in the performance of the spacecraft, but also in the
breakup of asteroids. When an asteroid was hit, the
smaller objects resulting from the impact moved faster
than the original.
One of the most popular video games of its time
was “Space Invaders,” designed by Taito in 1978. Hordes
of little aliens marched down the screen, shooting at a
hapless defender who could shoot back or hide behind
barricades but who always lost. The game was predict-
able, however, so experienced players could destroy
large numbers of invaders before meeting an inevitable
end.
“Atari Football” was also introduced in 1978. This
two-user game was played using X’s and O’s to represent
players, but allowed users to control one football player
each by means of a trackball, an innovation in arcade
games. This game was the first one to use a team sport as
the basis for play. Virtually every sport has now been
simulated—football, baseball, golf, soccer, track, martial
FIG. 1. “Computer Space” was the first video arcade game. arts, automobile and motorcycle racing, and even skate-
(Courtesy American Museum of the Moving Image) boarding (720 degrees, Atari, 1986), to mention a few. Sega
COMPUTER GAMES 289
In 1983, “Star Wars” (Atari) copied the attack se- TRADITIONAL GAMES
quence from the motion picture of the same name in
When the earliest digital computers were built, scien-
which the hero flew at high speed down a narrow corridor
tists immediately became fascinated with the possibility
while under attack by laser cannons. The video game was
of having them play such games as chess, checkers, and
a remarkably faithful rendition of the movie scene, requir-
tic-tac-toe. Although this sort of activity proved to be a
ing almost impossibly fast reflexes on the part of the
great deal of fun, the scientists were not just playing
player.
around; there are several good reasons to study game
Another major innovation was introduced in the
playing by computers.
“Nintendo Vs” system in 1984. Two players may partici-
The first reason relates to the popular conception of
pate in the games (“Vs Tennis,” “Vs Golf,” or “Vs Base-
computers as “giant brains.” Even the earliest digital com-
ball”) while looking at separate screens not visible to the
puters could do arithmetic and make decisions at a rate
opponent. thousands of times faster than humans could. Thus, it was
“Karate Champ” (Data East, 1985) was the first mar-
felt that computers could be set up to perform intelligent
tial arts game. In the one-player version, the machine was
activities, such as to translate French to English, recog-
the opponent; however, two players could compete
nize sloppy handwriting, and play chess. At the same
against each other. Arm and leg motions were controlled
time, it was realized that, if computers could not perform
by the player and the motion of the game figures looked
these tasks, they could not be considered intelligent by
very realistic.
human standards. A new scientific discipline arose from
“Out Run” (Gega, 1986) was a high-speed automobile
these considerations and became known as artificial intel-
driving game that featured not only good graphics and
ligence. (q.v.).
sound, but also a realistic ride. The player sat in front of
A second reason involves the understanding by hu-
a steering wheel, accelerator pedal, and brake. As the
mans of their own intelligence. It is conjectured that com-
wheel was turned, the “car” would react by tilting to one
puter mechanisms for game playing will bear a
side. If the driver left the road, the car would move up and
resemblance to human thought processes. If this is true,
down as if on a rough shoulder.
game-playing computers can help us understand how
“Gauntlet” (Atari, 1986) represents a departure in
human minds work.
games that will probably be followed in the 1990s. It is a
Another reason for studying games is that they are
“dungeons and dragons” theme that allows up to four
well-defined activities. Most games use very simple equip-
players to choose roles and play simultaneously. The
ment and have a simple set of rules that must be followed.
salient feature of this game is the capability to play on
Usually, the ultimate goal (winning) can be very simply
after being “killed.” For another quarter (of course), the
defined. Thus, a computer can be easily programmed to
player is resurrected and can continue.
follow the rules of any board or card game. This allows the
The style of display used in arcade games fits natu-
computer scientist to devote more effort to the problem
rally into coin-operated gambling games. Poker and black-
of getting the computer to play an intelligent game.
jack machines, as well as the electronic equivalent of the
There is also a practical payoff from computer game-
slot machine, are supplementing the traditional “one-
playing studies. Specific techniques developed in pro-
armed bandit” mechanical games, but have not yet re-
gramming a computer to play games have been applied to
placed them.
other more practical problems. To cite a few, methods of
Realism is increasing in modern games. “Narc” (Wil-
searching (qg.v.) are used to consider alternative moves in
liams, 1988) was developed by using live actors and digi-
chess have been adapted to find the correct path through
tizing from film to produce realistic images that seem to
a switching network or the correct sequence of steps for
be three-dimensional. Nintendo’s “Hogan's Alley” (1988)
an assembly line. Learning methods developed for a
has been used by at least one Dallas police station for
checker-playing program have been used to recognize
target practice.
elementary parts of spoken speech. It is felt that the
Although future arcade games will continue to use
mechanisms of intelligence are general purpose, and
the latest technology for graphics and sound effects as
therefore the borrowing of techniques from one applica-
well as improving the “feel” of a simulation, the games will
tion to another will continue in the field of artificial intel-
probably continue on existing themes. Home computer
ligence.
and hand-held games are eroding the popularity of arcade
games, while the cost of playing in an arcade is likely to
increase. The game manufacturers, for instance, have lob-
Basic Techniques The fundamental reason for the
bied Congress heavily for a popular $1 coin. (Arcade
ability of computers to play a variety of games is that
games have been played for 25 cents for years, while the
computers have the ability to represent arbitrary situa-
cost of manufacturing games has increased, on average,
tions and processes through the use of symbols and logic
2,700%.) Nevertheless, so much creativity is poured into
operations. For example, one can set up a chess position
the development of these games that it is hard to imagine
inside a computer by means of an 8 X 8 array of integers,
their demise. It is more likely that continuing innovation
and tentative moves can be made by computer instruc-
will maintain the popularity of video arcade games.
tions that change the positions of the numbers in the
array (Fig. 1). This capability is extremely general. That is,
KEITH S. REID-GREEN the symbols could represent checker pieces, or with a
COMPUTER GAMES 291
LEY, wl
aa as
efDW
LC S 0 FF
FIG. 1. Computer representation of a chess position. In the second array, numbers are used to
represent the various pieces. The third array represents the values of the pieces for use by the
computer in evaluating trades.
slight rearrangement, they could be playing cards for algorithm may be called a rejection scheme because
poker or bridge. the first applicable step (following Al) is to be per-
Fig. 1 also shows the representation of derived infor- formed and all other steps are rejected (Fig. 2). A
mation. The values of the pieces are stored in another computer can be easily programmed to execute such
8 X 8 array for use by the computer. In effect, they are an algorithm.
part of the computer’s “knowledge” of the values of chess For another example, consider the following game, a
pieces. (The king may be considered to have an infinitely special case of Nim. It is played with 13 matches; two
large value.) players remove matches in turn until one player is forced
Since symbols can be used to represent the objects to take the last match. A player may remove only one to
of a particular game, computer instructions can be three matches in a single turn, and the player who re-
written by a programmer to specify the procedures for moves the last match is the loser. This is an algorithm for
playing the game according to the rules and also for perfect play.
playing the game according to a strategy. In order for
a set of procedures to be programmable, it is usually ALGORITHM B (THE COMPUTER PLAYS SECOND)
sufficient that they be defined in enough detail so that
they can be translated into a computer language. For Bl. Let n be the number of matches taken by the
the purposes of this exposition, several game playing opponent at the last turn.
algorithms will be stated using English words in place B2. Remove (4 - n) matches.
of computer language. The game of tic-tac-toe, for B3. If the game is not over, go to Step B1.
example, can be played perfectly by the following
algorithm, in which the word “row” refers to a row,
Both tic-tac-toe and Nim are simple examples of a
large number of games classed as two-person games of
column, or diagonal.
skill. An essential feature of these games is that both
players have perfect information about the current state
ALGORITHM A (THE COMPUTER PLAYS X)
of the game. Chess, checkers, and GO are well-known
Al. Perform the first applicable step that follows.
A2. Search for two X’s in a row. If found, then make
three X’s in a row.
A3. Search for two O’s in a row. If found, then block
them with an X.
A4. Search for two rows that intersect with an empty
square, each of which contains one X and no O's. If found,
then place an X on the intersection.
A5. Search for two rows that intersect at an empty
square, each of which contains one O and no X’s. If found,
then place an X on the intersection.
A6. Search for a vacant corner square. If found, then
place an X on the vacancy.
A7. Search for a vacant square. If found, then place an
X on the vacancy. FIG. 2. Inthe position shown here, algorithm A would choose
a move at square 2 for a win rather than at square 1, to block
The algorithm is perfect in the sense that it will the opponent win. This is done because step A2 precedes step
find a forced win if it exists and it will never lose. This A3.
292 COMPUTER GAMES
Player 1 moves
Player 2 moves
Ww iE Ww W Lanny D W
Player 1 moves @) @
W W i
FIG. 4. Illustration of the minimax procedure. The values at the bottom are calculated by an
evaluation function. The backed-up values in circles reflect the result of optimal play. The arrows
show the path of optimal play.
COMPUTER GAMES 293
lookahead tree to determine the optimal strategy. It GO, an extremely difficult game played principally in
should be mentioned that the number of board posi- the Orient, has been the subject of an international com-
tions is far smaller, approximately 10%, so it is theo- puter tournament since 1985. The main interest here is
retically possible to store all positions together with the difficult problem of representing the derived informa-
their optimal moves in a large table. Storing one board tion that humans use to play the game. GO is played by
position on an element the size of an atom would placing white and black stones ona 19 X 19 grid. The most
necessitate a memory of about the size of the earth. important feature of play is the emergence of groups or
This gives a rather extreme example of the storage armies of similarly colored stones. GO may well prove to
versus computational tradeoff that is so common to be the most difficult of the pure skill games to computer-
computer science. ize.
A second class of games involves no skill at all, and a Bridge is an especially interesting case, since there
player’s success depends only on chance. Examples are are two distinct phases of play—bidding and trick
craps and roulette, in which the roll of dice or drop of a taking. Wasserman has produced a bridge bidder that
ball determines whether a bet is won or lost. A third and achieves an expert level of skill. An unusual feature of
most important class of games involves a mixture of skill his program is that it knows all standard bidding
and chance of varying degrees. This includes games such conventions and therefore can be adjusted to be an
as poker, bridge, backgammon, and Monopoly, which are ideal partner for any player. Wasserman’s approach was
affected by the distribution of cards or the roll of dice, to use a base language, Algol, to implement primitive
although these randomizing features are generally over- elements of bridge bidding; for example, a routine
come in the long run by the skill of a player. Computers FIVECARDMAJOR[NORTH] that returns TRUE or FALSE,
can be set up to play these games of chance, but it is depending on the north hand cards. Higher-level
usually more difficult to represent the tree for a game routines are built in layers over the primitives; for
when probabilistic factors are present. example:
Games are also categorized according to whether
players have incomplete or complete knowledge of the IF FIVECARDMAJOR[H] AND POINTCOUNT[H]
current state. Games of pure skill, such as chess and > 12 THEN BIDMAJOR[H]
checkers, and some games involving chance, such as
backgammon and parcheesi, have no elements that are where # is a variable that can take on the values NORTH,
hidden from the players. But in many games, such as SOUTH, EAST, or WEST.
poker, bridge, and salvo (battleship), each player can A research project by Findler at the State University
have information that is hidden from the other players. of New York at Buffalo used poker as a model for decision-
The presence of unknown factors poses additional prob- making in the real world. Instead of creating a single
lems for computerization. Methods developed here may game-playing program, Findler created a system that al-
be very useful, however, since real-world problems often lows several programs to play each other or to play
involve unknown and probabilistic factors. against human subjects through the use of interactive
graphics displays. An interesting match might pit a pro-
Game-Playing Programs An early and very suc- gram that occasionally bluffs against a program that
cessful game-playing program is Arthur Samuel’s (1967) never bluffs against several human players. A large num-
checker player. Though checkers is a fairly difficult game ber of distinct programs have been created, some of
(the game tree for checkers has an estimated 10” paths), which use learning. Each program is a specific model of
the checker program plays at a sound master level, hav- human play at poker, and its success is a measure of the
ing played a world champion to a draw. What is more quality of the model.
amazing is that much of the program’s skill is due to The unusual mideastern game Kalah, played using
automatic learning procedures. In one experiment, the stones and dishes, has been studied extensively. The
program was played against a copy of itself in which the game commences (Fig. 5) with an equal number of
copy was not allowed to “learn.” As a result, the program stones (usually three to six) in each of the side dishes
improved itself enough to win consistently over the non- (commonly six in number). The players take turns; in
learning copy. Although the program uses a predeter- one turn a player takes all stones from one side dish
mined set of evaluation criteria, it learns the best means and distributes them, one to a dish, in a counterclock-
of combining these criteria to arrive at an overall evalua- wise fashion, but skipping the opponent’s home dish
tion of a board position. Eric Jensen and Tom Truscott of (or Kalah). If the last stone falls in the player’s home
Duke University created a program that defeated the Sam- dish, then a second turn is taken. If the last stone in
uel program and exhibited strong play against highly the first turn falls in an empty dish on the player’s
rated players. side, the stones in the opponent’s dish on the opposite
Go-Moku has become an extremely popular subject side are “captured” and placed in the player’s Kalah.
for computerization. It is essentially a game of the The game ends when all dishes on one side are empty,
tic-tac-toe type, with each player trying to achieve five at which point all stones remaining on the other side
in a row on a 19 X_19 board. Since 1975, a North are placed in that player’s Kalah. A Kalah-playing pro-
American computer Go-Moku tournament has been gram by Slagle achieved excellent results against human
held, and, since 1977, there has also been a European opponents.
tournament. Of all games programmed for computers, more time
294 COMPUTER GRAPHICS
FIG. 5. Start of a Kalah game with four stones in each of the side dishes.
and effort has been devoted to chess than to any other of drawings or photographs of objects via scanners, digi-
(see COMPUTER CHESS). A recent trend is the emergence of tizers, or pattern recognition devices, and output of draw-
microcomputer-based games on the mass market. Quality ings on paper on (micro) film via plotters and film
of play varies, with backgammon, checker and chess pro- recorders. /nteractive graphics is a term used to empha-
grams playing quite well and bridge programs playing at size user-computer dialogue that takes place in real time
a lower level. Rapid improvements in the quality and using an online display console with interactive input
variety of these games may be expected. devices.
The field of computer graphics (or simply “graph-
References ics”) is evolving rapidly, as the speed of computers
increases and the cost of the technology decreases. In
1950. Shannon, C. E. “Automatic Chess Player,” Scientific Ameri-
the past, graphics was primarily used to convert data
can 182, 2: 48-51.
1967. Epstein, R. A. The Theory of Gambling and Statistical Logic.
sets in scientific and business environments to pictures
New York: Academic Press, Chap. 10. that captured detail and trends. As output devices in-
1978. Findler, N. V. “Computer Poker,” Scientific American 239, 1: creased in capability, graphics began to strive for realism
144-151. in produced images. A current trend in graphics is the
1975. Knuth, D. E., and Moore, R. W. “An Analysis of Alpha-Beta depiction of data sets that pertain to complex and
Pruning.” Artificial Intelligence 6: 293-326. chaotic natural phenomena.
1987. Rivest, R. “Game Tree Searching by Min/Max Approxima- The key notion of computer graphics is the process
tion,” Artificial Intelligence 34, 1: 77-96.
of producing pictures or images of an environment de-
1990. Hsu, F., Anantharanum, T., Campbell, M. and Nowatzyk, A.
scribed within the computer. This environment could be
“A Grandmaster Chess Machine,” Scientific American 263, 4:
44-50. based on user input or mathematical formulas. This pro-
cess is the reverse of what is done in the field of image
ALBERT L. ZOBRIST processing, which converts an image into a description of
the elements it contains.
The balance of this article will give an overview of the
major trends and issues in computer graphics. A more
detailed discussion of the field can be found in graphics
textbooks (e. g. Foley et al.. (1990)), journals (ACM Trans-
COMPUTER GENERATIONS. see Gen. actions on Graphics, and IEEE Computer Graphics & Appli-
ERATIONS, COMPUTER. cations), and major conference proceedings (ACM
SIGGRAPH, and Eurographics).
In discussing computer graphics, there are two
different views, each with its own concerns. A graphics
system user is interested in what images are produced,
COMPUTER GRAPHICS what they mean, and how they can be manipulated. A
graphics system programmer is interested in how to
write graphics-based applications programs for those
PRINCIPLES users. The programmer can be interested in clarity of
For articles on related subjects see COMPUTER-AIDED data presentation, manipulation of imagery, or realism
DESIGN/COMPUTER-AIDED MANUFACTURING; COMPUTER ANIMA of that imagery. Each of these requires a different
TION; COMPUTER ART; COMPUTER GAMES; COMPUTER VISION; programming technique, level of sophistication, and
ENTERTAINMENT INDUSTRY, COMPUTERS IN THE; FRACTALS; IMAGE type of hardware.
PROCESSING; INTERACTIVE INPUT DEVICES; MEDICAL IMAGING; PAT-
TERN RECOGNITION; USER INTERFACE; and WORKSTATION. Some Representative Uses of Computer
Graphics Computer graphics is used in many different
Computer graphics may be defined as the input, con- areas of industry, business, government, education, en-
struction, storage, retrieval, manipulation, alteration, and tertainment, and, most recently, in the home. The list of
analysis of objects and their pictorial representation. applications is large and growing rapidly, as display de-
Computer graphics in general includes both off-line input vices become routinely affordable.
COMPUTER GRAPHICS 295
plotting. Crude plotting on hard-copy devices, such as the buffer holding the display list is usually called a
teletypes and line printers, dates from the early days of refresh buffer. Note that the jump instruction in Fig. 1
computing. M.LT.’s 1950 Whirlwind Computer (q¢.v.) had loops back to the top of the display list to provide the
computer-driven CRT (cathode ray tube) displays for out- cyclic refresh.
put (both for operators and for cameras to produce hard Both the buffer memory required for typical line
copy), while the Sage Air Defense System in the mid-1950s drawings (8-32 kilobytes) and a processor fast enough to
was the first to use “command and control” CRT display refresh at 30 cycles per second were very expensive in the
consoles in which operators identified targets by pointing 1960s. Thus, Tektronix’s development in the late 1960s of
at them with lightpens. the direct-view storage tube (DVST), which obviated both
The beginnings of modern interactive graphics are the buffer and the refresh process, was the vital step that
found in Ivan Sutherland’s “Sketchpad” drawing system. made interactive graphics affordable (Fig. 2). In a DVST,
He introduced data structures for storing symbol hierar- the image is stored (until erased) by writing it once with
chies that are built up through replication of standard a relatively slow-moving electron beam on a storage mesh
components, a technique akin to the use of plastic tem- in which the phosphor is embedded. This small, self-suf-
plates for drawing flowchart or circuit symbols. He also ficient terminal-sized device was ideal for an inexpensive,
developed interactive techniques for using the keyboard low-speed (300-1200 baud) telephone interface to a time-
and lightpen for making choices, pointing, and drawing, sharing system, and formed a most cost-effective alterna-
and he formulated many other fundamental ideas and tive to the bulky, complex refresh systems attached via
techniques still in use today. expensive, high-speed interfaces to input/output chan-
The enormous potential for partially automating nels or peripheral controllers. DVSTs allowed interactive
drafting and other drawing-intensive activities in com- plotting for many simple applications at costs often an
puter-aided design (CAD) and computer-aided manufac- order of magnitude smaller than for refresh displays.
turing (CAM) was not lost on manufacturers in the Thus, they helped introduce many users and program-
computer, automobile, and aerospace industries, and by mers not interested in complex CAD applications to inter-
the mid-1960s a number of research projects and commer- active graphics.
cial products began to appear. Prominent among these The next major hardware advance was to relieve the
were General Motors’ ambitious project for multiple time- central computer of the heavy demands of the refreshed
shared graphics consoles for many phases of car design, display device by attaching it to a minicomputer. The
the Digigraphic design system developed by Itek for lens minicomputer typically functions as a dedicated stand-
design (and later bought and marketed by CDC), and the alone computer for running applications programs as well
IBM 2250 display system based on the General Motors as servicing the display and user interaction devices.
prototype. Often, it can also run as an “intelligent satellite” to the
Despite this early promise, interactive graphics re-
mained beyond the resources of all but the most technol-
ogy-intensive organizations for many years. Among the
reasons were:
Interface to Host Computer
1. The high cost of graphics hardware; 4
(Display
2. The significant computing resources required to
Commands) (Interaction Data)
support graphics applications;
3. The difficulty of writing large, interactive pro-
grams for a time-sharing environment; and
Display
4. One-of-a-kind, nonportable software, locked into processor
a particular manufacturer’s display device.
Interface to Host Computer pixels each, must be stored explicitly in a bit map contain-
ing only points that map one-for-one to points on the
(Display (Interaction screen. On the other hand, the actual display of the sim-
commands) data)
ple image can then be handled by very inexpensive stan-
dard television components.
Display
What made raster graphics possible was the develop-
processor ment of inexpensive solid-state memory, which can pro-
vide refresh buffers considerably larger than those
previously at a fraction of the price. Standard raster
graphics systems are now reaching the resolution of vec-
tor systems, and will soon have hardware fast enough to
provide motion dynamics for high-resolution displays.
e-— Vertical and Since all pixels for the object must be transformed in the
GEA @~ horizontal cursor buffer, anywhere from a few hundred to more than a
million pixels may have to be altered in a fraction of a
Keyboard
second. Unlike vector graphics, raster graphics also
makes possible the display of solid areas, an especially
FIG. 2. Typical storage tube display. rich means for communicating information. Furthermore,
the refresh process is independent of the complexity
(number of lines, etc.) of the image, because each pixel in
main computer, handling user interaction but leaving the buffer is read out on each refresh cycle, regardless of
large computation or large database jobs to the main- whether it represents information or background. Thus,
frame. At the same time, the hardware of the display there is no flicker. In contrast, refreshed vector displays
processor itself was becoming more sophisticated, taking begin to flicker when the number of primitives in the
over many routine but time-consuming jobs of the graph- buffer grows so large that they cannot be read and pro-
ics software. cessed in 40 of a second.
The development of the mid-1970s which has con-
tributed most to the development of the field is that of
cheap raster graphics, based on television technology. In
Input Technology
raster graphics, the display primitives, such as lines,
characters, and solid areas (typically polygons), are User-Computer Interaction When computers were slow
stored in a refresh buffer in terms of their component and expensive (relative to personnel), computer inter-
points, called pixels (short for “picture elements”). The faces were minimal. As computer costs drop and com-
image is formed from the raster, a set of horizontal scan puter power and personnel costs increase, the move has
lines each made up of individual pixels. The raster is thus been toward user interfaces that make the user’s task
simply a matrix of pixels covering the entire screen area. easier to perform. Manufacturers are developing stan-
30 to 60 times per second, the entire image is scanned dards for their graphical user interfaces (GUI), so that all
sequentially, one raster line at a time, top to bottom, by applications on their computer systems will appear and
varying only the intensity of the electron beam for each act in a uniform way.
pixel on a line (Fig. 3). The storage needed is thus greatly User-computer interaction is a field of research sep-
increased in that the entire image of, say, 512 lines of 512 arate from graphics in which the advantages and disad-
Keyboard
Display
processor
Data tablet
q|
3
OOOCOOOOOOOOOCOOO:
OOCOCSOCCOOOSO0O000 E-—900C000-—-90000
—O0CO0O-CCO-00C0;
OOOCOCOCCDCOOOOSSO!
ooccoocgcccooeeoceo
vantages of interaction styles for system usability, user three-dimensional space. In another form of motion dy-
training, and user efficiency are explored. (Brown and namics, the “camera” is held fixed, but the objects in the
Cunningham, 1989) scene are moved relative to the camera. For example, a
complex mechanical linkage, such as a gear train, may be
Interactive vs. Non-interactive Graphics The choice be- animated on the screen by rotating all the individual gears
tween interactive and non-interactive computer graphics appropriately.
depends on the application. Interactive graphics are used Update dynamics refers to the actual change of the
for systems where the user plays a significant and active shape, color, or other properties of the objects being
role in the system. A CAD/CAM system must be inherently viewed. For instance, one can display the deformation of
interactive since the user must create the object and its a metal frame by user-applied loads, or the state changes
components as they are viewed on the computer monitor. in a block diagram of a computer in response to data and
Visualization systems are also frequently interactive so control flows. The smoother the change, the more realis-
that the user can replay animation sequences, magnify tic and meaningful the result. Dynamic interactive graph-
parts of the image that appear interesting (zooming), and ics offers a large number of user-controllable modes with
alter colors used so that different phenomenon are high- which to encode and communicate information: the two-
lighted. Applications that by their nature require frequent or three-dimensional shape of objects in a picture, their
user input are programmed as interactive systems. position and orientation, their gray scale (grayness value
Non-interactive graphics systems are primarily those between white and black) or color, and the time variations
that are so computationally complex that the production of these properties. In the near future, digitally encoded
of a single image takes longer than the time even the most sound will be added so that objects and feedback from the
patient user would wait. The production of realistic imag- program or the operating system can be heard as well as
ery using techniques of radiosity and ray tracing and the seen.
production of animated sequences is very time consum- The burgeoning fields of word processing (q.v.) and
ing. In these cases, the user will define the environment office automation are introducing large numbers of
for the image (or for an animation sequence, the motions office workers to computer-based workstations for
to occur) using some preprocessing system. This defini- document preparation and electronic mail. Most of
tion then serves as the input for the image generator, these workstations are based on high-quality display
which can be run in batch or background mode. The screens suitable for interactive graphics. While the
resulting images are usually stored in a file, and viewed at emphasis until recently was on strictly alphanumeric
a later time, using a device-dependent postprocessor. It is interaction, the demand for charts and figures is suffi-
not unusual for complex animation sequences of a few ciently strong that systems are now expected to display
minutes duration to take thousands of hours of compute them, along with surrounding high-quality text, directly
time to prepare, though some simple animation se- on the screen as they would appear on a hard-copy
quences can be done in real time. output device. This “what-you-see-is-what-you-get”
(WYSIWYG) design philosophy, in which the screen
The Advantage of Interactive Graphics While static mirrors the printed page as much as possible, eliminates
pictures are often an acceptable means of communicating bothersome and unnatural formatting or typesetting
information, dynamically varying pictures are frequently codes whose effects are not seen until the document
better. This is especially true when one needs to visualize is printed.
time-varying phenomena, both real (e.g. shock waves Interactive computer graphics provides much better
caused by a sharp object penetrating a soft one) and human-machine communication through use of a judi-
abstract (e.g. growth trends, such as the population cious combination of text and static and dynamic pic-
movement from cities to suburbs and back to the cities, tures than is possible with text alone. The result is a
as functions of time). Much of interactive graphics tech- significant improvement in our ability to understand
nology, therefore, deals with hardware and software tech- data, perceive trends, and visualize real or imaginary
niques for user-controlled motion dynamics and update objects. By making communication more efficient, graph-
dynamics. ics makes possible greater productivity, higher quality
With motion dynamics, objects can be moved and and more precise results or products, and lower design
tumbled with respect to a stationary observer. Equiva- and analysis costs.
lently, the objects can remain stationary and the viewer
can move around them (“pan”), to select the portion in Software and Portability While steady advances
view, and “zoom” in or out for more or less detail, as if in hardware technology have made possible the evolu-
looking through the view finder of a rapidly moving cam- tion of ever better graphics display devices, one may
era. Flight simulators are used to train aircraft pilots by well wonder whether software has kept pace. For ex-
letting them maneuver their simulated craft over a com- ample, what has happened to the early difficulties ex-
puter generated three-dimensional landscape portrayed perienced with graphics systems and _ application
on one or more cockpit windows, which are actually large software? Much of that difficulty lay in the primitive
TV screens. Similarly, motion dynamics are used to let a graphics software then available to application program-
user fly around and through buildings, molecules, two-, mers. By and large, there has been a long, slow process
three-, or four- dimensional mathematical functions, or of maturation. We have moved from low-level, device-
“clouds” (scatter diagrams) of data points in two- or dependent subroutine packages supplied by manufac-
COMPUTER GRAPHICS 299
turers for their unique display devices to higher-level, parts that fall outside of the window. Only those parts that
device-independent packages. These packages, typically remain inside the window are drawn or otherwise ren-
supplied by independent developers, can drive a wide dered to make them visible.
variety of display devices from plotters to high-
performance vector and raster displays. The main pur- Realistic Image Generation Assume that there
pose of a device-independent package used in conjunc- is a scene consisting of several objects, each of which
tion with a high-level programming language is to induce is defined by mathematical formulas or some other
application program (and programmer) portability. This mechanism. Assume further that these objects are all
portability (g.v.) is provided in much the same way visible in a certain window and that there is a light
that a “high-level,” machine-independent language pro- source that illuminates the scene and highlights the
vides a large measure of portability by isolating the objects.
programmer from most machine peculiarities. The In most of the algorithms to be discussed, each of
Graphical Kernel System (GKS) was accepted as a these objects is approximated by a set of planar pieces.
two-dimensional standard in 1985, and a three-dimen- The more and smaller pieces that are used, the closer the
sional version was standardized in 1988. PHIGS, approximation will be to the actual surface, but more
Programmer’s Hierarchical Interactive Graphics System, storage space will be required. For example, a two-dimen-
is an alternative to GKS that has gained in popularity sional equivalent would be the approximation of a circle
recently. As technology advances and these graphics by a series of lines. Three lines produce a triangle, four a
standards (see second part of this article) are no longer square, and eight an octagon. Each of these is closer to a
able to handle new capabilities, they will be revised circle than the previous one.
or replaced.
Lighting Models Asa prelude to the discussion of shad-
Geometric and Windowing Transformations ing models, it is necessary to discuss the way in which
Graphics becomes especially powerful through the abil- the effects of incident light can be quantified for image
ity to compose complicated objects from pieces suitably production. The first type of illumination to be consid-
transformed to fit into a higher-level structure. Further- ered is ambient light, |,, present in the environment. Since
more, these instancing transformations are mathemati- ambient light has no focus or direction, this is treated as
cally identical to those used to determine which portion an additive factor for all objects. The second type of light
of an object is in view and is to be displayed on the is reflected light, which varies depending on the location
screen. of the light source, the object, and the viewer. From
Any object can be defined recursively in terms of Lambert’s cosine law of physics, we know that the inten-
its component primitives, such as points, lines, poly- sity of the diffusely reflected light is related to the scalar
gons, character strings, and sub-objects, each suitably (dot) product of the surface normal, N, and a unit vector
sized and positioned on the coordinate system of that pointing toward the light source, L. The last type of
object. Once formulations are available that allow point illumination is specular reflection, which causes the high-
transformations, a line can then be transformed simply lights on an object. Specular reflection (Fig. 4) depends
by transforming its endpoints, and a polygon by its on the angle between the reflected vector, R, and the
vertices. vector pointing at the viewer’s position, V. If these two
Most display manufacturers supply special hardware correspond, the highlight is bright; the further apart they
or firmware (q.v.) to carry out these transformations and are, the dimmer the highlight.
provide the ability to combine the basic transformations A simplified version of the light calculation is given
with windowing and perspective mapping. The details of by the formula / = J, + J, [k, (N- L) + k, (VV: R)’),
two- and three-dimensional transformations can be found where /, is the intensity of the light source, Rk, is a
in most computer graphics textbooks, such as Foley et al. diffuse reflection coefficient, k, is a specular reflection
(1990). coefficient, and n is the specular reflection exponent
(when n is 1, the highlight is broad with blurred edges,
Windowing Since large drawings cannot fit in their en-
tirety on small display screens, they can either be com-
pressed to fit, thereby obscuring details and inducing
clutter, or only a portion of the total drawing can be
displayed. The portion of a two- or three-dimensional
object to be displayed is chosen through specification of
a rectangular window that limits what part of the drawing
can be seen.
A two-dimensional window is usually defined by
choosing a maximum and minimum value for its x- and
y-coordinates, or by specifying the center of the window
and giving its maximum relative height and width. Simple
subtractions or comparisons suffice to determine
whether or not a point is in view. For lines and polygons,
a clipping operation is performed that discards those FIG. 4. Specular reflection.
300 COMPUTER GRAPHICS
and as n gets larger, the highlight is narrowed and has Phong Shading Gouraud shading improved on the im-
sharper edges). ages that were produced by flat shading, but the highlight-
ing was still off. In 1975, Bui-Tuong Phong improved on
Painter’s and Z-Buffer Algorithms In the Painter’s Algo- - Gouraud shading by interpolating the normals across the
rithm, each object is broken into planar piece approxima- surface, as opposed to the intensities (Fig. 5c, color insert
tions that are, as separate units, arranged according to page CP-6). This leads to finer and more precise high-
their distance from the viewer. The algorithm now works lights. The differences between these three shading meth-
like a painter applying paint to a canvas—if something is ods can be seen in Fig. 5, color insert page CP-6.
blocked by an object in front, the painter just paints the
foreground object over it. The piece farthest from the Ray Tracing In the methods examined so far, all objects
viewer is drawn, then the second farthest, and so on. Ifa are assumed to have a matte or dull finish. None is reflec-
piece will ultimately be visible, nothing will be drawn over tive, translucent, or transparent, because the previous
it; however, if it is not entirely visible, a piece drawn later methods are not able to handle these types of objects. Ray
will cover all or part of it. So the picture is drawn back to tracing takes the previous methods one step further in
front. allowing rays of light that strike a surface to reflect and
In the Z-Buffer Algorithm, there is a Z- or depth-buffer refract between all the objects in the scene (see Fig. 6,
that has one value for each pixel in the frame buffer. These color insert page CP-6).
values represent the depth of the object of which the pixel When the viewer location and pixel location on the
is a part. For example, if an area of four pixels square is screen are considered, they define a line or ray into the
part of the first object, which is 4 units away from the scene to be rendered. This ray is traced into the scene,
viewer, all of the Z-buffer values for these pixels would be where it can strike a matte surface object, and the pixel
set to 4. As each new piece is drawn, its depth at the pixel color is determined as in Phong shading. If the ray strikes
location is compared to the Z-buffer value. If the buffer a reflective or refractive surface, the laws of optics are
value is greater, this piece is in front and can be drawn used to determine the new direction of one or more rays
(and the Z-buffer value is updated). If the buffer value is that would result. These new rays are then traced recur-
smaller, the old object is closer, so the current one is not sively until they leave the scene or strike another surface,
drawn at that point. The benefit of the Z-buffer algorithm a computationally complex process that quickly deterio-
is that it is not necessary to sort the pieces, as the Z-buffer rates as the number of reflective and refractive objects
does that implicitly. increases,
These two algorithms show the common space vs.
time trade-off of computer science. The painter’s algo- Radiosity Ray tracing improves imagery, but suffers
rithm is slower because of the sort, but it doesn’t require from an inability to handle reflections between diffuse
the extremely large space of the Z-buffer. surfaces. Most people have experienced reflections be-
tween two diffuse surfaces when, in a bright room, the
Flat Shading A problem with the painter’s and Z-buffer color of the rug makes the walls appear to be a different
algorithms is that they ignore the effects of the light color or, when wearing a red shirt, one appears to be
source and use only the ambient light factor. Flat shading blushing.
goes a bit further and includes the diffuse reflections as Radiosity, developed by Michael Cohen and Don
well. For each of the planar pieces, an intensity value is Greenberg from Cornell University, treats light as energy
calculated based on the surface normal, the direction to instead of a vector, and considers how that energy is
the light, and the ambient light and diffuse coefficient transferred between surfaces based on their color and
constants. Since none of these change at any point on the proximity. Radiosity is applied in three stages, and, based
piece, all of the pixels for it will have the same value. The on what type of changes occur, only some of the stages
resulting image will appear to be faceted, with ridges require recalculation. If the viewing location changes,
running along the boundaries of the pieces that comprise only the last rendering stage is redone. If an object in the
an object (see Fig. 5a, color insert page CP-6). scene is moved, all stages are recalculated. Since early
stages are the most computationally complex, the less
Gouraud Shading In 1971, Henri Gouraud developed an they are redone, the more time is saved. As can be seen in
interpolation method that removed some of the dis- Fig. 7 (color insert page CP-6), radiosity produces remark-
continuities between pieces and also produced more real- able realism.
istic highlighting (Fig. 5b, color insert page CP-6). The
problem with the previous method is that a single normal Texture Mapping Early computer-generated images
is used for a patch that approximates a curved surface. used shaded objects that had unnaturally smooth sur-
Gouraud’s method keeps a normal vector from the actual faces. To produce a textured surface using the tech-
surface for each vertex of every piece. When the piece is niques discussed would require creating an excessive
being shaded, the intensity at each vertex is calculated, number of surface pieces that follow all of the complexi-
and then the system interpolates between them for the ties of the texture. An alternative to the explosion of
interior points of the piece. Since an edge that is shared surfaces would be to use the techniques of texture map-
between two pieces will have equal vertex normals, the ping. Texture mapping is a technique used to paint
resulting intensity values along these two coincident scanned images of a texture onto the object being mod-
edges will correspond. eled. Through an associated technique called bump map-
COMPUTER GRAPHICS 301
ping, the appearance of the texture can be improved still sional space. This eliminates the problem of texture
further. seams, but increases the space requirements for the tex-
ture.
Surface Painting vs. Bump Mapping
Static vs. Functional Maps
Surface painting simply adds an image to the surface of an
object. If the image is itself a texture, it makes the object At this point, all discussion has assumed that the texture
appear textured. This technique requires the production is static, having been scanned into a file. This places
of a texture file containing color values that traditionally restrictions on the texture.
have been obtained by scanning a picture of a real object An alternative is a functional texture, i.e. the encoding
with the desired pattern. of a texture in an equation-based routine. Surface indices
The shading algorithm is altered to use the texture are used as parameters for the equations. This removes
file for determining the color of points on the surface. To the need to store the texture (a space reduction), but also
do this, a mapping function is produced that converts reduces the speed of image production, as the function is
likely to be more expensive to compute than a table
surface locations into the range of the texture. As the
look-up in an array (a time increase). This trade-off is
surface is shaded, the locations on the surface, corre-
tempered by the ability to alter system parameters dy-
sponding to pixels in the image, are mapped into the
texture’s space, and the texture value at that point is used namically, allowing the texture to evolve based on the
natural demands of the image. Additionally, the texture is
as the object’s color. This is not normally a good solution,
now potentially infinite in all directions. This eliminates
since specular highlights are not affected; the resulting
scaling or cycling through a static texture that is used to
images appear to be flat surfaces that have had pictures
cover an arbitrarily large surface.
painted on them.
Functional texturing has been taken to a successful
An obvious way to include specular highlighting
extreme by Geoffrey Gardner (1985), who produces en-
would be to use the texture to modify the surface
tire images based on a single formula, with parameters
definition. This is complex and quickly explodes the
altered to produce mountains, clouds, and trees (see
amount of surface information that needs to be stored
Fig. 8, color insert page CP-6).
and accessed. The alternative is to treat the texture
as a bump map that modifies the surface definition at
Modeling of Natural Phenomena The main research
a single point for only the brief instant that it is being
into probabilistic models of plant growth are those of
rendered.
Phillipe de Reffye and his colleagues (1988), a group com-
Where texture painting techniques alter the color of
posed of agronomists, botanists, and computer scien-
the surface based on the values in the texture, bump
tists. Their model considers the growth point of a plant,
mapping alters the value of the surface normal at the
as well as four possible events that can occur in one time
point. When the surface normal is turned away from the
unit. The bud can become a flower or fruit and then die;
light direction, this darkens the location; conversely,
it can go into a dormant state; it can abort or die; or it can
when it is turned toward the light, it is brightened. For
grow, producing a new branch section. All of these are
example, a ridge bump map would add a highlight shaped
controlled by predetermined probabilities that the user
like the ridge.
must specify.
The problem with bump mapping appears with ob-
The model also requires that the user provide the age
jects in profile. Since its surface is not actually changed,
of the plant and, for each branch, the rate at which the
as an object is rotated, the highlighting of the bumps
branch grows, the maximum number of buds produced
appears to be correct until the surface reaches its profile,
by each branch, the length and diameter of the branches,
when the bumps disappear.
and the development trend of the branch (either vertical
or horizontal).
Two-Dimensional vs. Three-Dimensional Textures
A grammar-based approach to modeling plant
The foregoing discussion assumes a two-dimensional tex- growth was proposed by Aristid Lindenmayer as a way to
ture wrapped around a surface, This requires special formally define the growth that was observed in filamen-
conditions to be present in the map, depending on the tous organisms. These grammars (q.v.), now known as
surfaces to be textured. If cylinders are to be textured, the L-Systems, were used to define the interaction between
texture must be continuous so that, when the texture is cells in these organisms and to define branching patterns.
wrapped around the cylinder, no seam appears where the These L-Systems are parallel string grammars that can
ends meet. This is also required if the surface is so large consider any predefined context on the left and right of
that the texture needs to be repeated to cover it. The the symbol. Branching is incorporated by enclosing the
requirements for texturing a sphere are even more de- symbols of the branch in brackets.
manding. Pauline Hogeweg takes these L-Systems and reverses
One solution to this problem is use of a three-dimen- the process, using their simple parallel grammars to
sional texture, as is done in the work of Peachy (1985) and produce tree-like images. In her work, she generates a
Perlin (1985). Since these textures show proper changes string from the grammar, and then renders it with simple
in all directions, a surface can be textured by “placing” it parameters. Each symbol is represented as a vertical
into the three-dimensional texture. This is done by map- line, and each branch section causes a rotation of the
ping the surface locations into the texture’s three-dimen- axes.
302 COMPUTER GRAPHICS
Masaki Aono and Tosiyasu Kunii enhance these these points are then mapped into a catenary curve.
Other threads intersect these catenary-shaped threads,
L-Systems by the addition of a geometry specified by a
limited number of branching angles. This work is also fixing more points for these new threads. The process
interesting in that it attempts to model natural effects repeats until all of the threads have been placed. There
of sunlight and wind with “attractors” that pull the ends could be thousands of threads running the length and
of the branches like magnets. Unfortunately, this tech- width of even a small piece of cloth, leading to millions of
nique cannot model the inhibition of growth on the intersection points on the fabric, whose locations must be
shadowed side of the plant, nor can it account for determined.
environmental objects that may partially or completely Constraint-based modeling is used in computer
block the light. graphics for modeling movement of the human skeleton,
Przemyslaw Prusinkiewicz (1990) also incorporates chains, and other physical objects. The idea is that it is
both two- and three-dimensional interpretations by the difficult to specify a coordinate at which a ball would be
addition of special symbols into the L-System grammars. resting on a table, but it would be simple to constrain the
These special symbols control a two/three-dimensional ball to do so and to have the computer calculate the
turtle that draws the plant image. In turtle geometry, correct location. For the human skeleton, constraints
a “turtle” is commanded to move in various directions, specify the connectivity of bones at joints and the direc-
with either its pen up or down, drawing lines as it tions and angles of movement. In modeling the movement
moves in the latter case. With the correct sequence of of a skeleton across a terrain, the system will set bone
symbols, the turtle draws flowers, leaves, and entire positions to best satisfy the constraints placed on the
plants. system.
Three-dimensional graph grammars were developed
by Jeffrey J. McConnell (1989) to model growth of plants Solids Modeling In the discussion of shading methods,
not only in an ideal environment, as most other models objects in the world were described by their outer sur-
assume, but also in a natural environment. Because of faces. This is fine for applications that require only the
the three-dimensional nature of the model, the positions production of images, but systems designed to manipu-
of the branches relative to each other, the sun position, late or test the created objects need an alternative repre-
and external obstructions can be determined. Sunlight sentation. Solids modeling treats all objects as solids,
calculations can be done to find how much light falls clearly identifying the inside and outside of each object,
on a particular branch, and the system can then slow which allows tests for stress and obstruction as well as
the growth, if not enough light is present, or encourage production of parts lists. This is the underlying model for
growth in high light areas. The growth of a plant can CAD/CAM systems.
also be altered by either external obstructions or other In solids modeling, the system has a collection of
parts of the plant (internal obstructions). primitive objects that can be scaled, rotated, and trans-
Particle systems, developed by Bill Reeves, are used lated. Complex objects are built by applying boolean
to model fire, explosions, and fireworks. In his research, a operations to simpler objects. A washer can be created
particle is an entity that has mass, color, velocity, direc- by differencing a short, narrow cylinder from a short,
tion, and duration. By combining a group of particles that wide one. A door hinge pin can be created through
start from a central point and move outward, a realistic logical union of a wide, short cylinder with a tall, narrow
fireworks burst can be simulated. A cylinder-shaped one.
group rising from a plane produces a fire. Particles ema-
nating from the top of a sinusoidal wave produce a foam- Animation Animated cartoons were the hallmark of
like appearance. Walt Disney, whose studio produced a number of classic
films. This work, called cel animation, first requires the
Physically-Based Modeling The increasing speed of production of an overall story board. From that, individ-
computer systems allows production of high-quality com- ual scenes are created, with the animator drawing only
puter graphics images through the use of physically- key frames, an in-betweener drawing the frames connect-
based models. Prior to the advent of reasonable computer ing the key frames, and an inker adding the proper colors.
power, animation sequences were very unrealistic, be- The characters are drawn on acetate sheets called cels
cause all calculations of how objects moved had to be that are laid over the background and photographed to
done with approximations to actual equations. make the animated scene. Clearly, this is a labor-intensive
Images and animation sequences of cloth being process. ’
draped over an object, chains dangling between two Computers are helping to automate the animation
poles, and indentations of elastic objects can now be process by taking over the in-betweening and inking pro-
produced with amazing realism. cesses. It is more common, however, for the computer to
Computing power is available to treat cloth not as a control the whole process (see COMPUTER ANIMATION). The
single entity, but as a collection of constituent woven animator describes the objects in the scene and how they
threads. Jerry Weil has developed a technique that is are to move, and the computer takes over from there,
based on seeing the threads as lying in catenary curves moving each object to its new position before rendering
(the shape of a hanging chain). To model, for example, a the next image.
cloth laying over a chair, the points of the cloth that Craig Reynolds (1987) has taken this one step fur-
contact the chair are fixed in space. The threads between ther. His research into flocks, herds, and schools indi-
COMPUTER GRAPHICS 303
and is expected to be used by higher-level standards, structure to be inherited by all structures that it ref-
such as GKS. erences.
CGI is designed to support a wide variety of clients An extension of PHIGS—PHIGS PLUS°—provides sup-
having very different functional scopes and quite distinct port for advanced computer graphics capabilities, such
classes of devices. Although CGI is most likely to be as light sources, shading, reflectance, and spline curves
realized as a subroutine package, a data stream encoding and surfaces.
of CGI functionality is possible and is planned as a future
standard.
The scope of CGl is quite large, and a full implementa-
tion of the standard would be overkill for most environ- Window Systems The advent of window environ-
ments. In order to reduce the size of an implementation of ments provides capabilities that are greatly desired by
CGI, profiles that are subsets of the CGI functions may be users of interactive graphics systems. The major utility
defined. Three standard profiles—a foundation profile, a provided by window systems is the definition of sections
GKS profile, and a CGM profile—are provided as part of of a display that qualify input relative to the position
the CGI standard. of a special cursor known as the pointer. This capability
The architecture of the CGI standard was determined is used to build widgets, interactive techniques for ma-
well before windowing systems appeared in the market- nipulating a display and communicating with an inter-
place, and the capability to support windows is not
action. State-of-the-art interactive applications utilize
widgets extensively, and, in order to make these appli-
straightforwardly available in CGI. Unfortunately, the
cations portable, it will be necessary to define either
computer graphics systems level for which-CGI was de-
standard widgets or interfaces to widgets.
signed is the level at which most applications and other
Most windowing systems have been designed for
graphics standards would interact with a window system.
specific workstations or personal computers. The X
This, along with its inherent complexity, may have al-
Window System™® was designed to be used with het-
ready made CGI obsolete as a standard, even though it
erogeneous workstations in a network environment and
was approved only recently.
is currently the base for complementary standards
proposed by the Accredited Standards Committee on
Computers and Information Processing, X3, and the
Institute of Electrical and Electronic Engineers (IEEE).
Programmers Hierarchical Interactive Graph- X3’ is currently defining the standard data stream
ical System The Programmer’s Hierarchical Interac- between clients (applications including X-related sup-
tive Graphical System (PHIGS)‘ specifies a set of 2-D and port software) and the X Window System server, which
3-D functions for the definition, display, and modification is responsible for managing the workstation screen(s)
of geometrically-related objects and graphical data. and input devices. It is standardization of the data
Whereas GKS, CGM, and CGI are oriented towards static stream that enables remote applications to generate a
pictures, PHIGS is designed to provide dynamic interpre- display on a workstation and to interact with the user.
tation of geometrical relationships inherent in a hierarchi- The IEEE Standards Subcommittee, P1201, has initi-
cal model. As such, PHIGS is much more suited for ated an effort to define standards for interfacing to wid-
applications that require animated display of structured gets and to the intrinsic software required for managing
objects, particularly computer-aided design. It also is widgets. Without great care and comprehensive insight, it
more suited to and makes better use of the advanced will be difficult, if not impossible, to develop a standard
graphics capability of sophisticated computer graphics without defining carefully the appearance and behavior of
workstations. the widgets themselves.
PHIGS manages a central structure store in which Finally, a standard is required to define interaction and
individual structures and their geometric and _hierar- communication protocols for sharing information, and be-
chical relationships to other structures may be defined tween applications (and particularly with the window man-
and edited. A given structure may be referenced by a ager), a special application is needed that is responsible for
managing the screen’s display surface and for directing
number of other structures. In order to display a
is traversed from its root, and, input to the appropriate application(s). Currently, a de facto
picture, the structure
X Window System standard—the Inter-Client Communica-
as each structure is referenced, that structure is inter-
tion Conventions Manual (CCCM)—has been defined to
preted relative to the one referencing it. Since model
meet this need.
transforms are attributes stored as elements in struc-
tures, they are interpreted during traversal. This allows
a change in the position, orientation, or scale of a JON MEADs
Purchasing
Delivery note Purchase schedule 2.0
Purchase order
Sales order
Sales schedule Purchasing policy
Quotation
Production
stomer Paes Dispatch data control
Ne tgs
Euplone Product specification Goods received data Supplier
Purchase specifiction
Design Industrial
engineering Production data engineering
4.0 <6 5.0
Production schedule
Supplied material
Manufacturing
FIG. 1.
COMPUTER-INTEGRATED MANUFACTURING (CIM) 307
FIG. 2.
tical Process Control (SPC) and Statistical Quality Control integration would truly unify the highly fragmented com-
(SQC) software detect when production equipment is puter activities in a manufacturing company. As a result,
beginning to drift out of specification so that closed loop industrial firms now build massive CIM architectures and
control automatic corrections can be made. infrastructures specifically to facilitate the integration of
existing technologies, as well as ease the introduction of
new systems.
History One of the earliest applications of computers
in manufacturing was for industrial control. Paper mills
and tobacco firms employed these precursors to digital Communications and Data Management
computers as early as 1920. These process companies Communication networks and common data manage-
used hydraulically-based devices to measure tempera- ment systems are the core underlying technologies for
ture, pressure, and flow rates and in turn would auto- integrating computer systems (see Fig. 3). Communica-
matically adjust processes such as closing or opening tion networks provide the physical links between com-
valves. puters. In addition to twisted pair and coaxial cable, the
Military technology developed during World War II industry is moving toward fiber optics (g.v.) as the pri-
vastly improved industrial controls technology. New mon- mary physical medium for data communication.
itoring devices and electromechanical servo systems cre- Manufacturing applications need common data in
ated during the war soon found their way into petroleum order to act cooperatively. Early integration efforts relied
refineries and chemical plants. By 1950, IBM began selling on the direct exchange of data between applications, but
small analog computers (q.v.) to the industrial world. the current trend is not to use point-to-point solutions.
- Among the earliest digital devices used in manufac- Rather, the data that is shared across organizational
turing were numerical control (NC) machines. John Par- boundaries is maintained and managed in independent
sons and others in the late 1940s pioneered the use of database management systems (DBMS) (see Fig. 4).
computer technology to control machine tools such as Manufacturers rely on both disk-based relational
lathes. Numbers recorded on punched cards guided the database management systems (RDBMS) and real-time,
movement of NC machines in cutting parts. memory-resident database management systems
Between 1950 and 1980, industrial firms introduced (RT/DBMS). In order to start and stop motors that control
computer technology into virtually every major manufac- the actual material flow, such systems must respond in
turing activity. General Motors applied computer-aided milliseconds on the plant floor. Integrating RT/DBMS-
design techniques in 1960 to help create the tooling nec- based shop-floor systems with RDBMS-based business
essary to fabricate car body panels. Unfortunately, these systems is a major challenge.
industry efforts were done independently of each other, Critical to data sharing and task coordination are
thereby creating “islands of automation.” Since the vari- industry-wide data and protocol standards that govern
ous departmental computers were not interconnected, the format of shared data and the sequence of requests
interdepartmental coordination and communication and responses between cooperating devices. Examples
were poor. Early attempts to rectify this problem centered include Initial Graphical Exchange Specification (IGES),
on creating point-to-point interfaces between pairs of Product Data Exchange Specification (PDES), and the Eu-
computers. An example would be transforming the data ropean Standard for the Exchange of Product Model Data
directly from a CAD workstation to the software part (STEP). IGES, for instance, enables CAD machines to ex-
programs that would drive an NC machine. Joseph Har- change part geometry information. PDES extends this
rington, Jr., and others, however, recognized that the sharing to include a complete product model description,
problem was far broader and that only enterprise-wide including manufacturing features, tolerances, and mate-
308 COMPUTER-INTEGRATED MANUFACTURING (CIM)
Characteristics
Common data mgmt. comm. highway
e Standard entry to
any part of system
¢ Common data
Fully ¢ Total unrestricted
ntegrated system exchange of information
(1990's)
Transfer
files e Independent entry
to each system
¢ Restricted information
Linked exchanged (e.g. 1-way)
systems
(1980's)
tone o
Stand alone links)
Cc
(1970's)
FIG. 3.
rial properties. Consistent data definitions (e.g. uniform to diminish the need for custom integration for new sys-
part identification numbers) are essential to sharing data tems.
across the enterprise.
Two important communication protocols are Manu- The CIM Hierarchy in Plants and Mills The
facturing Automation Protocol (MAP) and Transmission computational devices in a manufacturing plant are typi-
Control Protocol/Internet Protocol (TCP/IP). The manu- cally organized as a three-tier hierarchy. In this model,
facturing industry in general is steadily pursuing more each device serves a particular level: process control, cell
standards in order to create a “plug and play” capability, control, or area/plant control (see Fig. 5). The lower-level
Production Production
operations planning
FIG. 4.
COMPUTER-INTEGRATED MANUFACTURING (CIM) 309
Functions
Plant/area
¢ Scheduling
computer
¢ Material management
¢ SQ
* SQC Cell Cell
controller controller
¢ Supervisory control
DCS
+t
——_—_———_ Sensors, actuators ——_—_—_—___________>
ae PV
SUG CALAN CACO DAS
FIG. 5.
devices are most intimately involved with the actual han- cally controlled (CNC) machines, material handling sys-
dling and transformation of materials into finished goods. tems, and machine vision systems. Cell controllers typi-
At the lowest level, process-control sensors assess cally contain an operator interface for a worker to
proximity, temperature, and other physical conditions monitor cell activities and intervene when necessary. An
and feed the information up the hierarchy. In a comple- example of a cell controller would be a paint cell in an
mentary but opposite direction, control information orig- automobile factory. There the cell controller would direct
inating higher in the hierarchy determines instructions the paint robot, check the paint job afterwards with a
sent to actuators at the process-control level that start machine vision system, and then signal that the cell was
and stop motors, open and close valves, and control ready to paint another car. Cell control duties can be done
other physical actions. on minicomputers (g.v.), workstations (q.v.), or personal
The two most important types of programmable computers (q.v.).
machines that gather sensory data, interpret this data, The highest level in the CIM plant hierarchy are the
and send control signals back to actuators are pro- area or plant-wide computers that coordinate work
grammable logic controllers (PLC) and distributed con- among the lower-level cell controllers and serve as the
trol systems (DCS). PLCs are more prevalent among interface to the external world. These area and plant-wide
discrete manufacturers such as automotive and aero- systems manage the overall flow of materials by assigning
space firms. DCSs are commonplace in process and labor and machinery to specific production orders and by
batch industries, such as petroleum refineries and food monitoring the production process. Traditionally, the
manufacturers. Both PLCs and DCSs are special-purpose, larger plants have used mainframes and minicomputers
digital devices designed expressly for manufacturing as area and plant managers, but networked personal com-
environments. They are industrially hardened and op- puters are beginning to serve this top level as well.
timized to handle considerable input/output traffic in
a deterministic manner. Future Trends Higher speed networks (in excess of
Next up the hierarchy are cell controllers. They coor- 100 megabytes/sec) are flattening the CIM hierarchy, and
dinate the functions of multiple PLCs, DCSs, and other are ushering in an era of client-server architectures (see Fig.
automated devices, such as robots, computer numeri- 6). Sensors and multi-microprocessor hardware are be-
310 COMPUTER-INTEGRATED MANUFACTURING (CIM)
Shop floor
controller
CAD
system
Cell
controller
Workstation
controller
Cell
controller
Workstation
controller
Network
FIG. 6.
coming ubiquitous, leading to highly distributed, redun- bolt would automatically alert another engineer responsi-
dant, fault-tolerant systems (q.v.). ble for the engineering of the companion part, a nut; the
The manufacturing industry is moving toward univer- suppliers of raw materials would be notified; product
sal access to a firm’s data, regardless of the data’s geo- managers incorporating that bolt in their products would
graphical location or the role it plays. By standardizing be alerted to the proposed change; etc. Currently, such
the definitions of data, higher-level objects, and proto- coordination and administration is relegated to humans
cols, manufacturers will be able to add new systems who move far more slowly and less accurately than a
quickly with little customization required. For instance, a computer-driven management system.
firm’s engineering and manufacturing groups each have Totally automatic “lights-out” factories are not going
their own bill-of-materials (BOM) descriptions indicating to predominate within this century. More probable are a
a product’s subassembly structure. Traditionally, manu- growing number of “hands-off” factories that are main-
facturing firms have created BOM software with little tained by a few highly skilled technicians. These individ-
regard for sharing that data either internally or externally. uals will monitor and control the plant through an
In adopting industry-standard data structures for BOMs, intelligent, integrated computer network. Indeed, as the
an industrial firm could more easily move information plant equipment becomes more integrated, the entire
between these two BOMs, as well as facilitate integration plant will function essentially as one large computer sys-
with other CIM subsystems. tem, with all the manufacturing devices serving as periph-
More data sharing between customers, suppliers, erals.
and governments will lead to product model-centered
databases that manage multi-company data. The U.S. De-
fense Department-initiated Computer-Aided Acquisition References
and Logistics Support (CALS) effort is promoting this
capability. The intent is to manage centrally all the com- 1985. Rembold, U., Blume, C, and Dillmann, R. Computer-Integrated
mon data pertaining to a product over its entire life Manufacturing Technology and Systems. New York: Marcel Dek-
ker.
cycle—from product conception to the final termination
1985. Savage, C. A Program Guide for CIM Implementation. Dear-
and disposal of the product.
born, MI: The Computer and Automated Systems Association
Greater intelligence will also be embedded in manu- of the Society of Manufacturing Engineers.
facturing information systems. Changes made to data in 1986. Noble, D. Forces of Production. A Social History of Industrial
any area will automatically ripple through to other parts Automation. New York: Oxford University Press.
of the company. For instance, an engineering change to a 1987. Jurgen, R. (ed.) Computers and Manufacturing Productivity.
COMPUTER-MANAGED INSTRUCTION (CMI) 311
MARTIN PISZCZALSKI
COMPUTER-MANAGED
INSTRUCTION (CMI)
For articles on related subjects see COMPUTER-ASSISTED IN-
COMPUTER LITERACY STRUCTION; COMPUTER-ASSISTED LEARNING and TEACHING; and
NETWORKS FOR LEARNING.
For articles on related subjects see COMPUTING IN SOCIETY;
and HUMAN FACTORS IN COMPUTING. Computer-managed instruction (CMD) refers to the use
of computer assistance in testing, diagnosing, prescrib-
A computer literate person is one who has acquired ing, grading, and record keeping. Some writers prefer
the skills needed to use computers effectively. More im- “computer-aided management of instruction” in order to
portant, the computer literate person is comfortable in emphasize computer assistance fo the human teacher or
the computer age. Technical expertise is not required. counselor, in contrast with management by the computer.
Familiarity, experience, and understanding create com- Computer assistance has been made available in
fort. many ways to those managing instruction, including aids
Computer literacy has four characteristics: for students managing their own instruction. The teacher
of a large class finds assistance in scoring tests, keeping
1. The ability to use the computer as a tool for records, checking on which students need what kind of
problem solving. work, and computing grades. A manager of a self-instruc-
2. An understanding of what computers can and tion group uses the computer to obtain summary records
cannot do (the function of hardware and soft- showing where each student stands. A student or teacher
ware). may call upon the computer files and procedures to gen-
3. Non-technical experience with computer soft- erate a test at random but according to set rules. The
ware. procedure may select from an item pool and plug in
4. The ability to evaluate the societal impact of variations on standard question forms to obtain the spe-
computers. cific test items so that they appear fresh each time. Com-
puter-based information systems are used by students
When the only effective way to use a computer was to and teachers to locate instructional materials in various
program it yourself, programming knowledge was consid- media according to needs, interests, and the limitations
ered an integral part of computer literacy. With today’s of course time and instructional budget.
vast array of off-the-shelf software products, such knowl- Major projects using the computer for assistance in
edge is unnecessary. For many students, learning to pro- the management of instruction are based on a large
gram is a negative experience. They feel ill-equipped to amount of curricular materials, probably in modular
handle this task due to a poor background in mathemat- form, and a convenient testing and record-handling sys-
ics, and, as a result, they have only limited success that tem. The arguments for CMI instead of CAI include: lower
translates into a fear of computers. cost of operation, since students spend less time at com-
An understanding of and experience in using readily puter stations; more flexibility in learning formats, since
available software is just as important as knowing how to students are referred to materials in a variety of media
program. The computer literate person should have expe- and learning settings apart from the computer; lower cost
rience with computer software tools for writing, commu- of development, since existing materials can be used for
nicating, and processing information. While a knowledge instruction. CMI and CAI may be used together; the man-
of programming might be useful in these endeavors, it is agement aids associated with CMI can refer the student to
by no means a requirement. selected exercises that are presented by the computer
Most people become computer literate through (CAD as well as to many others that do not benefit from
courses in schools, colleges, and community centers; presentation in the computer medium.
however, such formal training is not required. Many indi-
viduals choose to learn on their own. They study the References
documentation that accompanies the machine and the 1985. Coburn, Peter et al. Practical Guide to Computers in Educa-
software they have access to, and learn by experimenta- tion. Reading, MA: Addison-Wesley.
tion. More and more, our youngsters amass considerable 1987. Bluhm, Harry P. Administrative Uses of Computers in the
knowledge in just this way and, for all intents and pur- Schools. Englewood Cliffs, NJ: Prentice-Hall.
poses, are computer literate by the time they leave gram-
mar school. KARL L. ZINN
312 COMPUTER MUSIC
model is the synthesis algorithm described in 1983 by during the mid 1980s. Initially conceived as a set of indus-
Karplus and Strong; this algorithm exploits the analogy try standards for communicating performance data be-
between digital delay lines and harmonic resonators such tween synthesizers, MIDI was quickly exploited as a
as strings and tubes. means of bringing synthesizers under computer control.
Fourier theory suggests an alternative way of gener- The key to this control has been the MIDI sequencer,
ating instrumental timbres, known among electronic mu- software that enables musicians to record, play back,
sicians as additive synthesis. In this approach, each splice, overdub, and otherwise manipulate performance
harmonic of a pitched tone is generated with its own data. The MIDI sequencer does more than co-opt tasks
independent envelope. Full-blown additive synthesis gen- that formerly could be undertaken using only expensive
erates extremely realistic tones, but it is computationally multitrack recorders. With a MIDI sequencer, one can, for
intensive, and it provides few “handles” for timbral ma- example, selectively change tempo without affecting
nipulation. transposition and vice versa.
Analog-to-digital convertors provide the option of Among other things, MIDI established a simple but
incorporating “real-world” sources into computer music versatile encoding system for performance gestures. Cen-
compositions. The most straightforward approach—di- tral to this is the notion of the MIDI channel, the digital
rect sampling—treats a source signal very much like a equivalent of a keyboard on a multi-keyboard pipe organ.
digital oscillator with an extremely long waveform. Theo- Notes are initiated by key down commands, indicating
retically, direct sampling has been possible from the ear- channel, chromatic pitch, and velocity (loudness); the
liest days of computer sound synthesis, but it became note sustains until the synthesizer receives a key up com-
practical only with the introduction of large-memory mand with a matching channel and pitch. (The original
computers. Source signals may be reduced 4nd reconsti- MIDI specification did not concern itself with timing; how-
tuted using Fourier methods; however, most of the re ever, the introduction of MIDI sequencers quickly led to
quirements that once led computer musicians to consider supplementary negotiations among the industry so that
Fourier methods can now be satisfied much more effi- recorded performances could be saved in a standard file
ciently by direct sampling. A more subtle way of reducing format.) Also included among MIDI’s repertoire of com-
real-world sources is linear predictive coding (LPC), which mands are the program change—equivalent to a stop
effectively strips the pitch information from a signal; leav- change on an organ—a control command, used for send-
ing only the timbre. LPC simulates the effect of a phase ing specialized information, such as relative speaker bal-
vocoder by using a digitized signal to “predict” a set of ances, and two continuous commands: pitch bend and
coefficients for an N-pole filter (an Nth-degree recursive channel pressure. The latter two commands permit MIDI
difference equation). By analyzing segments of short du- to transcend its keyboard origins, to some extent.
ration (say 50 msec), one can extract evolving formant Supplementing MIDI sequencers in computer music
information from a rich source signal, such as a whis- studios are graphic score-editing programs. With today’s
pered poem. In a process sometimes referred to as cross commercial score editors, a musician can enter score
synthesis, this extracted formant information may subse- data in a variety of modes, ranging from note-by-note
quently be used to make an instrumental source, such as descriptions to automatic transcription of MIDI perfor-
a string orchestra “sing” the poem. mance data. The quality of the graphic output is compet-
Several synthesis methods bypass psychophysical itive with scores produced by traditional engraving, with
models of tone production, but nonetheless yield com- much less time investment. Additionally, the fact that all
plex, evolving timbres. The most famous is Chowning’s of the score data is retained in disk files means that parts
method of synthesis: by frequency modulation, based on can be extracted automatically and also that revisions
the happy coincidence that when sinusoidal carrier and can be easily effected. As of this writing, the only serious
modulating waves are tuned in small-integer ratios, the drawback with graphic score editors is the automated
resulting sound will itself have a harmonic spectrum performance of score data. Score editors still do not have
whose bandwidth varies roughly with the index of modu- sufficient expertise to fill in nuances of articulation that
lation. Another method, Kaegi’s vosim system (for VOice human performers insert instinctively.
SIMulator), exploits graphic and aural similarities be- A trend that has generated much enthusiasm is the
tween sine-squared waveforms and the waveforms gener- real-time processing of MIDI performance data. Perfor-
ated by the human vocal tract. A third method is called mance-processing software builds upon the postwar idea
nonlinear processing or waveshaping;, this method extends of an “open score,” in which details of a composition are
the principle of “clipping” on an overdriven amplifier. filled in anew with each performance. In a program such
Since the late 1970s, mainframe programs like as Spiegel’s MUSIC MOUSE, complex passages generated
MUSIC4 have gradually given way to real-time digital syn- by the computer are predicated entirely upon simple
thesis systems. These real-time systems implement oscil- actions taken by a performer. Other programs, such as M
lators, adders, multipliers, etc., using dedicated and JAM FACTORY by Zicarelli, et al, permit the computer
processors or specialized digital-signal-processing (DSP) to undertake random choices conditioned by statistical
chips. All commercial synthesizers on the market today tendencies deduced through analysis of captured MIDI
use digital technology. sequences. (The same techniques had been used earlier
in automated composing programs (see below). What is
The Midi Studio MIDI, or musical instrument digital significant here is the real-time implementation.) Still
interface, was established by the synthesizer industry other programs, such as Levitt’s HOOKUP and Puckette’s
314 COMPUTER MUSIC
PATCHER, assume no specific generative paradigm; decision; the most underused options receive the great-
rather, they provide repertoires of fundamental perfor- est priorities of selection.
mance-processing units within an iconic programming In the author’s view, the most important innovation
environment (see OBJECT-ORIENTED PROGRAMMING). The en- for composing programs during the 1980s was the
vironment permits users to link units together, however adoption of AI (see ARTIFICIAL INTELLIGENCE) search tech-
they see fit. niques. Instances include Ebcioglu’s 1980 program for
species counterpoint, the programs for Ames’s 1981
composition Protocol, Ebcioglu’s 1984 chorale harmoni-
Automated Composition and Analysis De- zation program (which has duplicated Bach’s own har-
spite a tradition of rigorous (and often explicitly mathe- monizations on a few occasions), Hiller and Ames’s
matical) musical theory dating back to antiquity, the idea tune-writing program MIX OR MATCH (exhibited in the
of delegating compositional decisions to a machine re- U.S. Pavilion at Expo ’85), Thomas’s 1985 VIVACE,
mains controversial, even among computer music profes- Schwanauer’s 1986 MUSE, and Ames’s 1987 CYBERNETIC
sionals. COMPOSER. Such programs make a significant leap by
The first generation of composing programs, pro- formalizing not just compositional procedures, but also
duced during the 1960s by composer/programmers such the principles underlying these procedures. Such prin-
as Hiller, Tenney, and Brun in the U. S. and Barbaud, ciples can be expressed either as constraints (e.g.
Xenakis, and Koenig in Europe, emphasized two general downward resolutions of dissonances are traditionally
approaches: (1) serialism, in which basic motifs are sub- mandatory) or heuristics (e.g. upward resolutions of
jected to a variety of systematic manipulations (e.g. inver- traditional leading tones are not mandatory, but still
sion, retrograde, transposition, and rotation), and (2) desirable). Only Al composing programs are capable of
random selection, including ball-and-urn-type statistical prioritizing options; only Al composing programs can
procedures and Markov-style conditional probability. consider alternative solutions, should their decision
The introduction of online computer systems early in making lead them into an impasse.
the 1970s inspired hybrid computer-synthesizer environ- Much effort has also been directed toward formulat-
ments, such as Mathews and Moore’s GROOVE, Truax’s ing generalized utilities that facilitate implementation of
POD, and Buxton’s SSSP. Such hybrid facilities greatly automated compositional processes. Examples include
enhanced the rate of interaction between musicians and Polansky, Rosenboom, and Burk’s 1985 HMSL, Pope’s 1986
computers, permitting composers to evaluate a composi- DOUBLETALK, Desain and Honig’s 1988 LOCO, Ames’s
tion aurally at each stage in its genesis. Serialism and 1989 COMPOSE, Camurri, Canepa, Frixione, and
randomness were augmented by interactive score-pro- Zaccaria’s 1990 HARP, in addition to the previously men-
cessing and score-editing tools—the direct forerunners of tioned HOOKUP and PATCHER. Many of these utilities are
today’s MIDI sequencers and graphic score editors. object-oriented. In effect, they do for composition or per-
During the late 1970s, computer composers began formance what MUSIC4 and its descendents did for sound
looking for new ways to generate material automatically. synthesis: they provide a repertory of instantiable units,
One of the first alternatives to first-generation serialism each designed to perform one basic compositional task
and randomness was top-down recursion. Recursive con- (e.g. note creation, note-parameter generation, score
cepts of musical structure had been advocated by musical splicing, layering, transposition), along with standard
theorists (e.g. Lorenz and Schenker) since the early twen- communication protocols so that units can be freely
tieth century, and this internal tradition received added linked into elaborate music-processing networks. Some
impetus from three external influences: Chomsky’s formal writers cite utilities such as these as instances of musical
grammars (applied to composition by Smoliar, Roads, Al, but the utilities implemented to date do not accommo-
Holtzman, Jones, and Langston), Gestalt psychology (ap- date search-based strategies.
plied by Tenney and by Ames), and fractal geometry Automated musical analysis has been pursued, both
(applied by Wuorinen, Austin, Vaggione, and Dodge) (see as a rigorous way of verifying speculations by musical
FRACTALS). theorists and as a means of acquiring “real-world” exper-
The ball-and-urn procedures employed by first-gener- tise for composing programs. The most outstanding of the
ation programs treated randomness and distributions as analysis-only programs include the harmony analysis pro-
dual consequences of a single paradigm, when, in fact, grams of Winograd and Maxwell. Winograd’s 1968 EX-
Statistical distributions are equally characteristic of non- PLAIN parses block-chord harmonies in order to discern
random phenomena. Musically, randomness and distribu- key schemes; Maxwell’s 1988 program extends this capa-
tion address entirely different concerns: randomness bility to freely contrapuntal music. Both programs use
affects a listener’s expectations, while distribution affects searches to seek out “better” key interpretations. Efforts
the listener’s sense of compositional balance. The palette have also been made to parse melodic phrase structures
of behaviors used to “shape” musical expectations em- automatically. A 1980 program by Tenney and Polansky
braces not just conventional random number generation, employs a “perceptual distance metric,” while Scarbor-
but also Brownian, 1/f, and chaotic processes. Discrete ough, Jones, and Miller’s 1988 program applies discrete
Statistical balances can now be realized deterministically, note-grouping rules. Atternpts to analyze music by means
using Ames’s method of statistical feedback. Briefly, statis- of neural nets have to date yielded much less reliable
tical feedback maintains statistics detailing how much conclusions than rote, rule-based, or heuristic (g.v.) ap-
each available option has been used up to the present proaches.
COMPUTER SCIENCE 315
The five “Strophe” movements of Hiller and Baker’s other data collection projects studying the state of the
1963 Computer Cantata were generated as Markov chains, field. It publishes Computing Research News, which is
using transition probabilities acquired through statistical distributed to nearly 8,000 researchers and policy mak-
analysis of a composition by Ives, and much the same ers around the world. CRA also organizes the biannual
approach underlies Zicarelli’s 1986 JAM FACTORY. Cope’s Snowbird conference of department chairs, sponsors
1987 EMI scans musical input for musical patterns, which workshops and seminars on research priorities and
EMI compiles into an augmented transition network; the trends, and maintains contact with government policy-
accumulated knowledge base can then be used to gener- making groups.
ate new compositions in the “same” style. Although its CRA members are academic departments and indus-
stylistic matches are not yet entirely convincing, EMI’s trial laboratories that conduct research in computing-
sensitivity to formal structure gives Cope’s synthetic ex- related fields. The ACM and AAAI are affiliate members.
amples a long-term coherence that has been entirely lack- CRA is administered by a board of directors, most of
ing in older Markovian approaches. whom are elected by member departments and labora-
tories. The ACM has two appointed members. CRA main-
References tains a professionally staffed permanent office in
Washington, D.C.
Journals The CRA grew out of the Computer Science Board, an
informal group of chairs of computer science depart-
Computer Music Journal. Cambridge, MA: M.I.T. Press Journals.
The primary source for articles on computer music. ments that formed in 1972 and organized the first Com-
INTERFACE: Journal of New Music Research. Lisse, The Nether- puter Science Conference, which is now the annual
lands: Swets Publishing Service. Emphasizes computer appli- national conference of the ACM.
cations to composition and analysis. Articles are typically For further information, write to the Computing Re-
more detailed than in CMJ. search Association, Suite 110, 1625 Massachusetts Ave-
nue, N.W., Washington, DC 20036-2212.
Books and Articles
FRED W/, WEINGARTEN
1969. Mathews, M. V., et al. The Technology of Computer Music.
Cambridge, MA: MIT Press. The classic book on digital sound
synthesis, still valuable for its discussion of basic principles.
1983. International MIDI Association. MIDI: Musical Instrument
Digital Interface Specification 1.0. North Hollywood, CA.
COMPUTER SCIENCE
1985. Dodge, C., and Jerse, T. Computer Music: Synthesis, Composi- For articles on related subjects see ALGORITHMS, ANALYSIS
tion, and Performance. New York: Schirmer’s. OF; ARTIFICIAL INTELLIGENCE; AUTOMATA THEORY; COMPUTER AL-
1987. Ames, C. “Automated Composition in Retrospect: 1956-
GEBRA; COMPUTER ARCHITECTURE; COMPUTER ENGINEERING; COM-
1986.” LEONARDO: Journal of the International Society for Sci-
PUTER GRAPHICS; COMPUTER SYSTEM; COMPILER CONSTRUCTION;
ence, Technology, and the Arts 20(2):169.
COMPUTATIONAL COMPLEXITY; CONCURRENT PROGRAMMING; DATA
1989. Mathews, M. V., and Pierce, J. R., (ed.) Current Directions in
Computer Music Research. Cambridge, MA: M.I.T. Press. STRUCTURES; DATABASE MANAGEMENT SYSTEM; EDUCATION IN
1991. Balaban, M., Ebcioglu, K., and Laske, O. (Ed.) Musical Intelli- COMPUTER SCIENCE; FORMAL LANGUAGES; IMAGE PROCESSING; IN-
gence. Palo Alto, CA: AAI Press. FORMATION PROCESSING; INFORMATION RETRIEVAL; INFORMATION
SCIENCE; LIST PROCESSING; NUMERICAL ANALYSIS; OPERATING SYS-
CHARLES AMES TEMS; PARALLEL PROCESSING; PROGRAMMING LANGUAGES; SIMULA-
TION; and SOFTWARE ENGINEERING.
ASSOCIATION (CRA)
lt is also concerned with relationships between informa-
tion processes and classes of tasks that give rise to them.
For articles on related subjects see ASSOCIATION FOR COM-
PUTING MACHINERY; COMPUTER SCIENCE; COMPUTER SCIENCE, AC- The Domain of Computer Science Eventhough
ADEMIC; EDUCATION IN COMPUTER ENGINEERING; and EDUCATION the domain of discourse in computer science includes
IN COMPUTER SCIENCE. both human-made and natural information processes, the
main effort in the discipline is now directed to human-
The purpose of the CRA is to represent the interests made processes and to information processing systems
of computing research (i.e. computer science and en- that are designed to achieve desired goals (i.e. machines).
gineering and computational science) in North America. The reason lies in the phenomenal growth of the com-
The CRA is responsible for the annual Taulbee surveys puter field, its rapid penetration into almost all aspects of
of Ph.D.-granting computer science departments and contemporary life, the resulting pressure to bring some
316 COMPUTER SCIENCE
order into what is being done in the field, and the need to information processing tasks, procedures for handling
educate the people behind the computing machines and them, and a variety of related representations. The sec-
to provide intellectual guidance for new developments in ond part is mainly concerned with a variety of structures,
computer design and applications. Thus, the bulk of em- mechanisms, and schemes for processing information.
pirical material currently available to computer science From the point of view of the practitioner in the computer
consists of systems, processes, and operational experi- field, the first part corresponds to computer applications,
ence that grew in the computer field during the past four and the second corresponds to computer systems. There
decades. Clearly, the empirical corpus in the science is are significant connections between the two parts. In-
not stationary. It is growing with new developments in the deed, it is a major goal of computer science to elucidate
computer field. Some of these developments are them- the relationships between application areas and com-
selves stimulated by the ongoing activities in computer puter systems.
science. Computer applications can be broadly subdivided
The main objects of study in computer science are into numerical applications and non-numerical applica-
digital computers and the phenomena surrounding them. tions. Work in numerical applications is mainly oriented
Work in the discipline is focused on the structure and toward problems and procedures where numerical data
operation of computer systems, on the principles that are dominant, such as problems in the areas of numerical
underlie their design and programming, on effective analysis, optimization, and simulation. These areas are
methods for their use in different classes of information important branches of computer science. Work in non-
processing tasks, and on theoretical characterizations of numerical applications is primarily concerned with
their properties and limitations. Also, a substantial effort processes involving non-numerical data, such as repre-
is directed into explorations and experimentation with sentations of problems, programs, symbolic expressions,
new computer systems and with new domains of intellec-
language, relational structures, and graphic objects.
tual activity where computers can be applied. Branches of computer science with major activities in
The central role of the digital computer in the discipl-
non-numerical applications are artifical intelligence, in-
ine is due to its near universality as an information pro-
formation storage and retrieval, combinatorial processes,
cessing machine. With enough memory capacity, a digital
language processing, symbol manipulation, graphics, and
computer provides the basis for modeling any informa-
image processing.
tion processing system, provided the task to be per-
Computer systems can be partitioned into software
formed by the system can be specified in some rigorous
systems and hardware systems. The emphasis of work in
manner. If its specification is possible, the task can be
software systems is on machine-level representations of
represented in the form of a program that can be stored
programs and associated data, on schemes for controlling
in computer memory. Thus, the stored program digital
program execution, and on programs for handling com-
computer enables us to represent conveniently and im-
puter languages and for managing computer operations.
plement (run) any information process. It provides a
methodologically adequate, as well as realistic, basis for
Branches of computer science with major concern in
the exploration and study of a great variety of concepts, software systems are programming languages and proces-
schemes, and techniques of information processing. sors, operating systems and utility programs, and
There exist, in nature, information processes that are programming techniques. Computer architecture is con-
of great interest to computer science (e.g., perceptual and cerned with software systems as well as with hardware
cognitive processes in humans, and cellular processes systems. Other major branches of computer science with
that are controlled by genetic information). An under- a main focus on hardware systems are machine organiza-
standing of these processes is intrinsically important, and tion and logical design.
it promises to enrich the pool of basic concepts and Generally, applications-oriented activities in com-
schemes that are available to computer science. In turn, puter science are also concerned with related systems
application of the current approaches and techniques of problems (e.g. with high-level languages and their com-
the discipline to cognitive psychology and to bioscience puter implementation). Similarly, systems-oriented activ-
promises to result in important insights into natural infor- ities are also concerned with the task environments (e.g.
mation processes. To date, most of the work on these classes of applications and modes of human-machine in-
processes has proceeded either by modeling them on dig- teraction) in which the systems operate.
ital computers and studying these models experimentally, We can identify two major types of activities in com-
or by using existing theoretical models in computer sci- puter science:
ence (e.g. in automata theory) for the analysis of certain
properties of these processes. There is still little contribu- 1. Building conceptual frameworks for understand-
tion from the study of natural information systems to the ing the available empirical material in the discipI-
design and use of computing machines, or to the develop- ine via an active search for unifying principles,
ment of theoretical concepts in computer science. general methods, and theories.
2. Exploring new computer systems and applica-
tions in the light of new concepts and theories.
Scope and Nature of Activities in Computer
Science The subject matter of computer science can The first type of activity is analytic in nature; the second
be broadly divided into two parts. The first part covers is oriented toward syntheses, experimentation, and prob-
COMPUTER SCIENCE 317
ing for new empirical knowledge. A continuous interac- component of a science. Computer science and mathe-
tion between these activities is essential for a vigorous matics have acommon concern with formalism, symbolic
rate of progress in the discipline. The situation is analo- structures, and their properties. Both put emphasis on
gous to the interaction between theoretical and experi- general methods and problem-solving tools that can be
mental work in any rapidly developing natural science. used in a great variety of situations. There are subjects,
At present, the theoretical underpinnings of com- such as numerical analysis, that are being studied in both
puter science are at an early stage of development. In disciplines. These are some of the reasons why computer
some areas, theoretical work is mainly oriented toward science is widely considered a mathematical science.
bringing elementary order into a rapidly accumulating Computer science is also considered to be an engi-
mass of experience via the introduction of broad concep- neering science. The structure of a computer system con-
tual frameworks and analytic methodologies. In a few sists of physical components (the hardware) in the form
areas, theoretical work is concentrating on comprehens- of electronic or electromechanical building blocks for
ive analysis of specific classes of phenomena for which switching, storage, and communication of information,
formal models exist. Branches of computer science in- and programs (the software) for managing the operation
volved in this type of work are the theory of computation, of the hardware. In the logical design and the system
complexity theory, analysis of algorithms, automata the- design of a computer system, the designer is concerned
ory, theory of formal languages, and switching theory. In with the choice of hardware and software building blocks,
general, theoretical work in computer science has been and with their local and global organization in the light of
diffused over a large number of fairly narrow phenomena. given operational goals for the overall system. These
Much of this work has not yet had an appreciable impact design activities have strong points of contact with work
on the complex problems of systems and applications in electrical engineering and in the emerging field of soft-
that are encountered in the computer field. There is a ware engineering. They are also important subjects of
growing concern, however, with the development of uni- study in computer science.
fying principles and models that are appropriate for un- Every transition from the specification of an informa-
derstanding and guiding the major constructive and tion processing task to a system for implementing the
experimental activities in the field. The work in the area task involves a design process. In many cases, these
of analysis of algorithms (which includes important ap- processes are highly complex, and their effectiveness is
proaches to the study of computational complexity) strongly dependent on the availability of appropriate
promises to contribute significant theoretical insights methodologies and techniques that may be used to guide
into problems that are in the mainstream of the computer and support them. This is one of the reasons why com-
field. As computer science continues to grow, theoretical puter science is concerned with methodologies of sys-
work on the discipline is also likely to grow, not only in tems analysis and synthesis and with general tools for
relative volume to the other activities in the discipline, design. This concern is shared not only with engineering,
but also in relevance to the significant problems in the but also with other decision-oriented disciplines, such as
domain of computer science. business administration and institutional planning. There
Experimental work in computer science requires ex- is a more fundamental reason for a close coupling be-
tensive use of computers, and it often stimulates new tween computer science and a science of design. It comes
developments in computer design and utilization. Typical from the concern of computer science with the informa-
experimental activities may involve the development and tion processes of problem solving and goal-directed deci-
evaluation of anew computer language or the testing of a sion making, which are at the core of design: Processes of
procedure for a new class of problem. Theoretical work in this type are objects of study in artifical intelligence, a
the discipline relies on several branches of mathematics branch of computer science.
and logic. A typical theoretical problem may focus on the Several other disciplines are recognized as having
characterization of a class of computer procedures (e.g. domains of interest that overlap with computer science.
procedures for sorting data), the analysis of their struc- One of these is library science. The problems of organiz-
ture, and the establishment of bounds on the storage ing and managing knowledge and of designing systems for
space and time that they require for execution. The ob- its storage and retrieval (in the form of documents or
jects of study in this example are computer procedures facts) are shared between computer science and library
and their properties. The theoretical treatment of these science (see LIBRARY AUTOMATION.). The activities at the
objects is conducted within mathematical systems that interface between these two disciplines are often identi-
provide the analytical framework needed to obtain de- fied as part of information science. The main concern of
sired insights and specific results. Just as mathematics is information science is with process of communication,
used in chemistry (say, to develop theories of certain storage, management, and utilization of information in
chemical processes), mathematics and logic are used in large database systems. Thus, the domain of information
computer science to study information processes. science is included in the broader domain of computer
science.
Another discipline whose domain of interest over-
Relationships Between Computer Science laps with computer science is linguistics, which shares
and Other Disciplines The bond between com- with computer science a concern with language and com-
munication. The study of linguistic processes and of re-
puter science and mathematics is stronger than the nor-
lated phenomena of “understanding” establishes a
mal bond between mathematics and the theoretical
318 COMPUTER SCIENCE
special bond between computer science and psychology. overlap between work in computer science and work
Psychological research in information processing models in other disciplines. Mathematics and electrical engi-
of cognition, perception, and other mental functions has neering have this type of interface with computer sci-
a substantial overlap with work in computer science. ence, To a lesser extent, such an interface exists between
The study of certain theoretical questions about pro- computer science and the decision-oriented disciplines
cesses of reasoning by computer (performing deductions, (e.g. business administration, institutional planning),
forming hypotheses, using knowledge effectively in prob- library science, linguistics, psychology, and philosophy.
lem-solving processes) is beginning to create points of The second type of interface includes disciplines in
contact between certain parts of philosophy (logic, epis- which new computer applications are being explored.
temology, methodology) and computer science (see Coc- The main role of computer science in these activities
NITIVE SCIENCE.). is to support and enhance work in a discipline. Practically
The development of computer science has been all disciplines that involve some kind of intellectual
strongly stimulated by demands for the application of activity have this type of interface with computer sci-
computers in a wide variety of new areas. The challenges ence.
created by new computer application and the construc-
tive attempts to meet them are important factors in the Major Areas of Study in Computer Science
growth of computer science. The exploratory activity in The conception, formulation, computer implementation,
the discipline, as it interacts with other disciplines in the analysis, and evaluation of procedures (algorithms) for a
development of computer applications, results in both a broad variety of problems constitute a major part of the
better understanding of the power and limitations of cur- activities in computer science. Closely associated with
rent knowledge in the computer field, and the identifica- these activities are efforts to develop schemes, means,
tion of new problems of information processing that and tools for building and executing procedures, such as
require further study. At a more practical level, the explor- languages, major principles for structuring procedures,
atory work on computer applications is contributing to programming mechanisms, computer architectures, and
the solution of significant problems in various disciplines design aids to facilitate these efforts.
that could not be approached without the introduction of The second part of this article concentrates on the
computer methods. internal structure of the discipline, and on the various
There is a large surface of contact between computer types of technical activity in computer science. In what
science and the disciplines where new computer appli- follows, we highlight a few of these internal activities that
cations are being developed. Virtually all disciplines are being stimulated by challenges from other disciplines,
are involved in this contact. The nature of the contact by the recognition of special needs in the use of comput-
is similar to the relationship between mathematics and ing, or by the desire to understand and exploit new tech-
the physical sciences; this relationship involves the nological developments in the field.
representation of scientific problems in mathematical Currently, there are a growing number of efforts in
systems wherein the problems can be studied and various specific domains of computational science and
solved. In the case of computer science, the contact engineering (e.g. computational fluid dynamics, computa-
involves the representation of knowledge and problems tional genetics, computational algebra) that are offering
of a discipline in forms that are acceptable to computers, new challenges to computer science, and they are stimu-
and the development of computer methods for the lating the development of new computational methods.
effective handling of these problems. Since computers Recent developments in parallel computer architectures
can be made to represent and manipulate problems of are generating pressures for the development of compu-
enormous variety and complexity, it is likely that the tational paradigms and algorithms for handling various
extent of fruitful contact between computer science and problem classes in parallel computing environments (see
other disciplines will be much larger than the contact PARALLEL PROCESSING.).
between mathematics and the disciplines that use math- Work in the area of software methodologies and tools
ematics. In particular, it is likely that the role played deals with methods and principles for the design of pro-
by computer science in behavioral and social sciences, grams and software systems that meet specifications, and
the professions, and the humanities will be similar to are safe, reliable and maintainable. In recent years, this
that played by mathematics in the growth of the physical work has focused mainly on the development of program-
sciences. ming environments and on software evaluation methods.
An important application for computers that is of An important goal in this area is to automate (large parts
special interest to computer science is in the design of of) the program design process—from the formulation of
more powerful, efficient, and easy-to-use computer sys- specifications to the creation of running code. Efforts in
tems. The use of computers in the study of computers and this general area are related both to representations of
in their improvement is a powerful means for gaining the computational processes in various application domains,
knowledge and insights that computer science seeks at and also to computer systems. In effect, this area consti-
the same time the field is being bootstrapped. tutes a bridge between application domains—through
Computer science has two types of interface with software systems—to specific computer architectures.
other disciplines. The first type is characterized by a Current work in the general area of computer archi-
shared concern with subjects of study that are of intrinsic tecture deals with such design questions as how to opti-
interest to computer science. Here there is an area of mize instruction sets for various computational models
COMPUTER SCIENCE 319
and workloads. It deals with control mechanisms (and dependability, robustness, integrity, security, and modifi-
their hardware/software implementation) that allow mul- ability of computer systems. It hides the social and histor-
tiple resources to be coordinated efficiently in the execu- ical context of the field, and the values of the people who
tion of programs. It is concerned with distributed practice in it.
computations and with problems of computer network- Part one of this article examines the larger context of
ing. It is also concerned with human-machine interfaces, applications, technology, research, and society in which
with related problems of visualization and monitoring, the discipline of computing is situated. What follows is a
and with various issues of coupling computers with other discussion of the major technical components of the dis-
systems (e.g. robotic effectors, industrial processes). It cipline.
includes research efforts towards automating the design
of computers, and it is strongly related to professional
activities in computer system design. Recent efforts in Paradigms Work in the discipline of computing tends
this area have been focusing on the exploration of very to be conducted within one of three major paradigms:
high performance computing through parallel computa-
tion. There is close coupling between work in this area 1. Theory—Building conceptual frameworks and
and the exploration of new physical devices and micro- notations for understanding relationships
structures (e.g. VLSI circuits) for the efficient im- among objects in a domain and the logical conse-
plementation of switching, memory, and communication quences of axioms and laws.
functions in computer systems. 2. Experimentation—Exploring new systems and
Computer science is a young and rapidly expanding architectures and models within given applica-
discipline. In a period of less than 30 years, it has suc- tion domains and in the light of new concepts
ceeded in establishing its distinct identity in universities and theories. (This paradigm is sometimes called
and laboratories throughout the world. One of its recog- abstraction or modeling.)
nized roles is to provide the intellectual guidance needed 3. Design—Constructing computer systems that
for the understanding and development of the computer support work in given organizations or applica-
field. Another role, which is likely to grow in significance tion domains.
in the coming years, is to contribute to an understanding
of the impact of computers on other disciplines and on These three paradigms come from the historical roots of
society in general. the discipline of computing. Theory comes from applied
mathematics; experimentation comes from the scientific
SAUL AMAREL method; design comes from engineering. All three are im-
portant. Continuous interaction between people in the
three paradigms is important for vigorous progress in the
discipline. Many controversies in the field are associated
DISCIPLINARY STRUCTURE
with someone in one paradigm criticizing the work of
The computing profession is the aggregate of people and someone in another without being aware of the difference.
institutions concerned with information processing. The The theory paradigm consists of the four broad steps
profession contains various specialties such as computer that should be followed in order to develop a coherent,
science, computer engineering, software engineering, do- valid theory:
main-specific applications, computer system designers,
and systems architecture. These diverse specialities Characterize objects of study (definition).
share a common base of knowledge, which is called the Hypothesize possible relationships among them
core of computing. The discipline of computing consists of (theorem).
the core plus the standard practices, questions, contro- e Determine whether the relationships are true
versies, and speculations used by computing profession- (proof).
als in their work. e Interpret results.
The discipline of computing is usually characterized
as the systematic study of algorithmic processes that A mathematician expects to iterate these steps when, for
describe and transform information: their theory, analy- example, errors or inconsistencies are discovered. In
sis, design, efficiency, implementation, and application. many areas of computing, theory has been used primarily
The fundamental question underlying all of computing is, to bring order into a rapid accumulation of experience,
“What can be (efficiently) automated?” This discipline and in some it has produced new methods and models
was born in the early 1940s with the joining together of that have been used to improve practice.
algorithm theory, mathematical logic, and the invention The experimentation paradigm consists of four
of the stored-program electronic computer (see STORED broad steps that are followed in the interpretation of a
PROGRAM CONCEPT). phenomenon:
This common characterization is too narrow to cap-
ture the full richness of the discipline. It does not call Form a hypothesis.
Construct a model and make a prediction.
attention to the connections between specific elements of
Design an experiment and collect data.
knowledge and the concerns of people to whom these
Analyze results.
elements contribute, notably the concerns for reliability,
320 COMPUTER SCIENCE
Ascientist expects to iterate these steps when, for exam- (q.v.), an electronic analog computer for solving general
ple, a model’s prediction disagrees with experimental ev- systems of differential equations. In the same period,
idence. This paradigm is most conspicuous in the electromechanical calculating machines capable of addi-
interactions with other scientific disciplines (computa- tion, subtraction, multiplication, division, and square
tional science), in performance evaluation of computers root became available. The electronic flip-flop provided a
and networks, and in testing heuristics (g.v.). It nonethe- natural bridge from these machines to digital versions
less appears in all areas of computing. with no moving parts.
The design paradigm consists of four broad steps Logic is a branch of mathematics concerned with
followed in the construction of a system (or device) to criteria of validity of inference and formal principles of
solve a given problem: reasoning. Since the days of Euclid, it has been a tool
for rigorous mathematical and scientific argument. In
State requirements. the nineteenth century, there began a search for a
State specifications. universal system of logic that would be free of the
Design and implement the system. incompletenesses observed in known deductive systems.
Test the system. In a complete system, it would be possible to determine
mechanically whether any given statement is either true
An engineer expects to iterate these steps when, for exam- or false. In 1931, however, Kurt Gédel published his
ple, tests reveal that the latest version of the system does incompleteness theorem, showing that there is no such
not satisfactorily meet the requirements. Design can be system. In the late 1930s, Turing explored the idea of a
seen in all areas of computing. universal computer that could simulate any step-by-step
procedure of any other computing machine (see TURING
The Internal Structure of Computer Science MACHINE). He discovered a result similar to Gédel’s: some
The roots of computing extend deeply into mathematics well-defined problems cannot be solved by any mechan-
and engineering. Mathematics imparts analysis to the ical procedure. The importance of logic was not only
field; engineering imparts design. The discipline em- its deep insight into the limits of automatic calculation,
braces its own theory, experimental method, and engi- but also its insight that strings of symbols, perhaps
neering. This contrasts with most physical sciences, encoded as numbers, can be interpreted both as data
which are separate from the engineering disciplines that and as programs.
apply their findings as is the case, for example, in the This insight is the key idea that distinguishes the
distinctively different fields of chemistry and chemical stored program computer from calculating machines. The
engineering. The science and engineering of computing steps of the algorithm are encoded in a machine represen-
are inseparable because of the fundamental interplay be-
tation and stored in the memory for later decoding and
tween the scientific and engineering paradigms within the
execution by the processor. The machine code can be
discipline.
derived mechanically from a higher-level symbolic form,
For several thousand years, calculation has been a
the programming language.
principal concern of mathematics. Many models of phys-
It is the explicit and intricate intertwining of the an-
ical phenomena have been used to derive equations
cient threads of calculation and logical symbol manipula-
whose solutions yield predictions of those phenomena—
tion, together with the modern threads of electronics and
for example, calculations of orbital trajectories, weather
electronic representation of information, that gave birth
forecasts, and fluid flows (see SCIENTIFIC APPLICATIONS).
to the discipline of computing.
Many general methods for solving such equations have
Computing has grown from infancy in the 1940s to a
been devised, among them, for example, algorithms for
broad discipline in the 1990s. Table 1 divides the field into
systems of linear equations, differential equations, and
nine subareas. Each of the subareas has an underlying
integrating functions. For almost the same period, calcu-
unity of subject matter, a substantial theoretical compo-
lations that aid in the design of mechanical systems have
been a principal concern of engineering. Examples in- nent, significant experimental methods, and substantial
clude algorithms for evaluating stresses in static objects, design and implementation issues. Significant industries
calculating momenta of moving objects, and measuring and institutions have been established in each of these
distances much larger or smaller than our immediate areas.
perception.
One product of the long interaction between engi-
TABLE 1. Nine Subareas of Computing
neering and mathematics has been mechanical aids for
calculating. Some surveyors’ and navigators’ instruments
Algorithms and data structures
date back a thousand years. Pascal and Leibniz built Programming languages
arithmetic calculators in the middle 1600s (see CALCULAT- Computer architecture
ING MACHINES). In the 1830s, Babbage conceived of an ana- Numerical and symbolic computation
lytical engine (q.v.) that could mechanically and without Operating systems
error evaluate logarithms, trigonometric functions, and Software engineering
other general arithmetic functions. His machine, though Databases and information retrieval
Artificial intelligence and robotics
never completed, served as an inspiration for later work.
= Human-computer communication
WOONODUNhWNH
In the 1920s, Bush constructed a differential analyzer —————S
EEE EEE EE eee eee
COMPUTER SCIENCE 321
Theory deals with the underlying mathematical de What constitutes an efficient machine instruc-
velopment of the subarea and includes supporting theory tion set? How do we design and control large
such as graph theory (¢.v.), combinatorics (q.v.) and for- computational systems and_ convincingly
mal languages (q.v.). Experimentation deals with models demonstrate that they work as intended despite
of potential implementations; the models are abstrac- errors and failures? What types of architectures
tions that suppress detail, while retaining essential fea- can efficiently incorporate many processing ele-
tures, and provide means for predicting future behavior. ments that can work concurrently on a computa-
Design deals with the process of specifying a problem, tion? How do we measure performance?
deriving requirements and specifications, iterating and
testing prototypes, and system implementation. Design . Numerical and symbolic computation (see Nu-
includes the experimental method, which in computing MERICAL ANALYSIS and COMPUTER ALGEBRA).
includes measurement of programs and systems, valida-
This area deals with general methods for effi-
tion of hypotheses, and prototyping to extend abstrac-
ciently and accurately solving equations result-
tions into practice. ing from mathematical models of systems.
Although software methodology is essentially con- Fundamental questions include: How can we ac-
cerned with design, it contains substantial elements of curately approximate continuous or infinite pro-
theory and abstraction. For this reason, we have identi- cesses by finite discrete processes? How do we
fied it as a subarea. On the other hand, parallel processing cope with the errors arising from these approxi-
(g.v.) and distributed computing (qg.v.) are issues that mations? How rapidly can a given class of equa-
pervade all subareas and all of their components (theory, tions be solved for a given level of accuracy? How
abstraction, and design); accordingly, they have been can symbolic manipulations on equations, such
identified neither as subareas nor as subarea compo- as integration, differentiation, and reduction to
nents. minimal terms be carried out? How can the an-
What follows is asummary of the principal questions swers to these questions be incorporated into
and concerns dealt with in each of the nine subareas. efficient, reliable, high-quality mathematical soft-
ware packages?
1. Algorithms and data structures (q.v.)
This area deals with specific classes of problems . Operating systems (@.v.)
and their efficient solutions. Fundamental ques- This area deals with control] mechanisms that
tions include: For given classes of problems, allow multiple resources to be efficiently coordi-
what are the best algorithms? How much storage nated in the execution of programs. Fundamental
and time do they require? What is the trade-off questions include: At each time scale in the oper-
between space and time? What is the best way to ation of a computer system, what are the visible
access the data? What is the worst case of the objects and permissible operations on them? For
best algorithms? How well do algorithms behave each class of resource (objects visible at some
on average? How general are algorithms—i.e. level), what is a minimal set of operations that
what classes of problems can be dealt with by permit their effective use? How can interfaces be
similar methods? organized so that users deal only with abstract
versions of resources and not with physical de-
2. Programming languages (q.v.) tails of hardware? What are effective control
This area deals with notations for virtual ma- strategies for job scheduling, memory manage-
chines that execute algorithms, with notations ment, communications, access to software re-
for algorithms and data, and with efficient trans- sources, communication among concurrent
lations from high-level languages into machine tasks, reliability, and security? What are the prin-
codes. Fundamental questions include: What are ciples by which systems can be extended in func-
possible organizations of the virtual machine tion by repeated application of a small number of
presented by the language (data types, opera- construction rules? How should distributed com-
tions, control structures, mechanisms for intro- putations be organized so that many autono-
ducing new types and operations)? How are mous machines connected by a communication
these abstractions implemented on computers? network can participate in a computation, with
What notation (syntax) can be used effectively the details of network protocols, host locations,
and efficiently to specify what the computer bandwidths, and resource naming being mostly
should do? invisible?
and programming systems? How does one prove be minimized? How can graphics and other tools
that a program or system meets its specifica- be used to understand physical phenomena
tions? How does one develop specifications that through information stored in data sets? (see
do not omit important cases and can be analyzed COMPUTER-AIDED DESIGN/COMPUTER-AIDED MANUFAC-
for safety? How do software systems evolve TURING; HUMAN FACTORS IN COMPUTING; and USER IN-
through different generations? How can software TERFACE. )
be designed for understandability and modifi-
ability? Each of the nine subareas is represented by at least one
and usually several major articles in this encyclopedia.
. Database management systems (DBMS - q.v.) The subareas also correlate to some degree with the
and information retrieval (g.v.) major categories used in the classification of articles
This area deals with the organization of large sets given in the front, but since taxonomy is not an exact
of persistent, shared data for efficient query and science, correspondence is not precisely one-to-one.
update. Fundamental questions include: What Nonetheless, the totality of the concerns and questions
modeling concepts should be used to represent listed under the foregoing nine subareas should serve to
data elements and their relationships? How can illustrate and define the limits of what we have called the
basic operations such as store, locate, match, disciplinary structure of computer science.
and retrieve be combined into effective transac-
tions? How can these transactions interact effec- References
tively with the user? How can high-level queries 1968. National Academy of Sciences. “The Mathematical Sci-
be translated into high-performance programs? ences: A Report,” Publication 1681. Washington, DC.
What machine architectures lead to efficient re- 1969. Hamming, R. W., “One Man’s View of Computer Science,”
trieval and update? How can data be protected 1968 ACM Turing Lecture, Journal of the ACM 16, ] (January),
against unauthorized access, disclosure, or de- 1-5.
struction? How can large databases be protected 1970. Wegner, P. “Three Computer Cultures—Computer Technol-
from inconsistencies due to simultaneous up- ogy, Computer Mathematics, and Computer Science,” in Ad-
date? How can protection and performance be vances in Computers 10 (W. Freiberger, Ed.). New York:
Academic Press.
achieved when the data are distributed among
1971. Amarel, S. “Computer Science: A Conceptual Framework for
many machines? How can text be indexed and
Curriculum Planning,” Communications of the ACM 14, 6
classified for efficient retrieval? (June).
1980. Arden B., (Ed.) What can be automated?—The Computer
. Artificial intelligence (AI - g.v.) and robotics Science and Engineering Research Study. Cambridge, MA: The
q.v.) M.L.T. Press.
This area deals with the modeling of animal and 1989. Denning, P., Comer, D. E., Gries, D, Mulder, M. C., Tucker, A.,
human (intelligent) behavior. Fundamental ques- Turner, A. J., Young, P. R., “Computing as a Discipline,” Commu-
nications of the ACM 32, 1 (January), 9-23.
tions include: What are basic models of behavior
and how do we build machines that simulate
PETER J. DENNING
them? To what extent is intelligence described by
rule evaluation, inference, deduction, and pat-
tern computation? What is the ultimate perfor-
mance of machines that simulate behavior by
these methods? How are sensory data encoded COMPUTER SCIENCE
so that similar patterns have similar codes? How EDUCATION. See Epucarion IN CoMPUTER SCIENCE.
are motor codes associated with sensory codes?
What are architectures for learning systems, and
how do those systems represent their knowledge
of the world? How can computers be designed to COMPUTER SCIENCE, ACADEMIC
see, hear, and speak? For articles on related subjects see COMPUTER SCIENCE;
COMPUTING RESEARCH ASSOCIATION; EDUCATION IN COMPUTER EN-
. Human-computer communication GINEERING; EDUCATION IN COMPUTER SCIENCE; and WOMEN AND
This area deals with the efficient transfer of infor- COMPUTING,
mation between humans and machines via vari-
ous human-like sensors and motors, and with The first academic computer science departments
information structures that reflect human con- in the U.S. were formed in the mid 1960s. Some 25
ceptualizations. Fundamental questions include: years later, in 1991, there are 137 departments of
What are efficient methods of representing ob- computer science that grant Ph.D.’s in North America
jects and automatically creating pictures for (123 in the U. S. and 12 in Canada). In addition, 32
viewing? What are effective methods for receiv- other departments offer a Ph.D. in computer engineering;
ing input or presenting output? How can the risk many of these are electrical engineering departments.
of misperception and subsequent human error It is estimated that another 850 colleges and universities
COMPUTER SYSTEM 323
award undergraduate or masters degrees in computer less-well-known departments are suffering from too few
science. students. In some places, the decrease has stopped, and
In September 1991, the Ph.D.-granting departments enrollments are rising again.
had 2,724 faculty members: 979 assistant professors, 774 Data in this article are taken from the Taulbee sur-
associate professors, and 971 full professors. The greater veys of computer science, which are essentially complete
number of assistant professors than full professors is surveys of the Ph.D.-granting departments. The 1990-91
characteristic of a young discipline. This youth has made Taulbee survey appeared in Computing Research News 4,
it difficult for computer science in several ways. There is 1 January 1992); the surveys also appear in Communica-
more administration for younger and less-experienced tions of the ACM each year. The surveys are performed by
faculty members. There are relatively few people with a the Computing Research Association (CRA), which serves
computer science background in policy-making positions to represent research in computer science and engineer-
in the state and federal governments, so the opinions of ing. Further information can be obtained by writing to the
the computer scientist are not always heard. Also, as in Computing Research Association, Suite 110, 1625 Massa-
any new field, computer science changes rapidly, making chusetts Avenue, N.W., Washington, DC 20036-2212.
it difficult to stabilize the curriculum.
Ph.D. production in computer science grew substan- DAVID GRIES AND DOROTHY MARSH
tially in the 1980s, with the field producing 862 in 1990-91
(see Table 1). In the past ten years, the field has produced
over 4,000 Ph.D.’s, with about half of them remaining in
academia. +
COMPUTER SECURITY. See Computer CRIME;
With the current level of Ph.D. production, supply is
and DATA SECURITY.
approaching or exceeding demand, which means that
new Ph.D.’s are now available in more satisfactory num-
bers to the smaller and newer Ph.D.-granting departments
and to the non-Ph.D.-granting departments. Previously, COMPUTER SYSTEM
these departments had trouble filling faculty positions
and have often hired people with master’s degrees or For articles on related subjects see ARITHMETIC-LOGIC UNIT;
from other disciplines. CACHE MEMORY; CENTRAL PROCESSING UNIT; CHANNEL; COMMU-
Between 10 and 14 percent of the new Ph.D.’s are NICATIONS AND COMPUTERS; COMPUTING CENTER; DISTRIBUTED
women; but this percentage has been essentially constant SYSTEMS; INFORMATION SYSTEM; INPUT/OUTPUT CONTROL SyYS-
for 10 years. The field does far worse with regard to blacks TEM; INTERRUPT; MEMORY; NETWORKS, COMPUTER; OPERATING
and hispanics: out of the 862 Ph.D.’s granted in 1990-91, 7 SYSTEMS; PROCESSING MODES; SOFTWARE; and STORAGE HIERAR-
went to blacks and 19 to Hispanics. Since 1985, 40 to 45 CHY.
percent of the Ph.D.’s have been awarded to foreign na-
tionals. A modern computer system is one of the most won-
At the undergraduate level, computer science saw derful and complex achievements of humankind. This is
steady growth in both service courses and majors from due to its incredible speed, very high reliability, and al-
the early 1970s to about 1985. This growth was so strong most limitless versatility. For example, in the year 1990 a
that departments had difficulty keeping up with it. In large mainframe computer could execute over 100 million
some departments, the faculty taught two to three times instructions per second (MIPS) when processing busi-
as many credit hours per faculty member as in other ness workloads, and certain “supercomputers” (q.v.) de-
fields. From 1985, there was a precipitous decrease in signed to handle numerically-intensive scientific and
enrollments for several years. Some viewed this as a engineering work can perform close to 1,000 million arith-
metic operations per second. Even small personal com-
welcome technical correction that brought enrollments
puters (q.v.) can execute millions of instructions per
down to a manageable level. However, some smaller and
second.
The versatility accompanying this processing power
is due to programming, meaning that a single machine,
TABLE 1. Computer science Ph.D. production and its with appropriate programs (software) can do such di-
growth verse tasks as complex engineering computations per-
eee
a
taining to the design of high-speed aircraft, preparation of
No. of Ph.D.
the payroll for thousands of employees, or keeping track
Year granting depts. No. of Ph.D’s
oe ll ei of inventory for a whole chain of retail stores. The term
- 230 “general purpose” is then a fair one to characterize the
1980-81
103 326 capabilities of most computers, although of course not
1984-85
1985-86 117 412 every particular machine is actually used for such a wide
1986-87 123 466 variety of tasks.
1987-88 127 577 Because it is most easily visualized, a description of
1988-89 129 625 the equipment or hardware subsystem will be discussed
1989-90 135 734 first, followed by the software subsystem and how it
1990-91 137 862
ee
ee ae appears to users.
324 COMPUTER SYSTEM
CRT or TV-type
Keyboard Keyboard Terminals
Processor
Complex
Magnetic
Tape
FIG. 2.
COMPUTER SYSTEM 325
The operation performed by each instruction is usu- and the CPU. The control circuitry generates timing sig-
ally quite primitive. The repertoire of instruction types nals in various arrangements that specify at what times
(e.g. add, subtract, test-for-sign), is called the machine’s which information is moved from place to place in the
instruction set (q.v.) or instruction repertoire and typically system.
contains about 200 instructions. But some machines have Another classification scheme divides the hardware
as few as say 64 instructions in their set, and even this is subsystem into “internal” and “external” items. The inter-
larger than is theoretically required. The design of a nal ones are the CPU, with its registers, instruction-execu-
machine’s instruction set is an arcane subject with many tion and control units, main storage and cache storage,
speed, cost, and even esthetic factors involved (see RE- and I/O channels. This “internal computer,” which may
DUCED INSTRUCTION SET COMPUTER). The instruction-set and contain several CPUs sharing access to common main
associated items constitute the native “machine lan- storage and sets of channels is sometimes called the
guage” of a computer. “processor complex” (see Fig 1). All other hardware de-
Some CPU circuitry is responsible for execution of the vices, such as transducers and file-storage disks and
instructions; this includes an adder, augmented by shift tapes, are referred to as the peripheral, or input/output,
and control circuits that together implement the system’s or //O, subsystem.
arithmetic and processing operations. The ability to exe-
cute all instructions, while necessary, is not sufficient. General Hardware Organization How do the
Also needed is a control mechanism to sequence from one constituents of these hardware categories work together?
instruction to the next in a program of instructions stored The reader is advised to trace the following description
in the computer’s main storage. Programs (i.e. specific through the paths and facilities of Fig. 2. The program
instruction sequences) express the required function of (say, as a sequence of keystrokes entered by the program-
the program (payroll, inventory, etc.). mer) must first be physically translated into electric-sig-
Although not an exact analogy, the instruction-set is nal form, which is done by the terminal keyboard, a
akin to a set of musical notes, as is found ona piano, anda transducer. Once in electrical form, the typed information
program is like the score for a particular song. In the case is stored as a file on nonvolatile disk storage for future
of music, the human performer “reads” the next note from use. Accordingly, it is moved by an I/O channel to disk
the score, then invokes that note from the instrument, storage (briefly passing through main storage in the pro-
then repeats the process for the next note, etc. In the cess), where it is held until it is to be executed.
computer case, the CPU contains program control circuitry To be executed, the program must satisfy two main
that automatically reads or accesses the stored program’s requirements: it must be in machine-language (object-
next instruction, and then invokes the computer’s execu- code) form, and it must reside in main storage. As to the
tion circuitry to execute the instruction. This cycle is then first, the typed form of the program (source code) must
repeated automatically. During execution, many instruc- almost always be translated and then typically stored as
tions call for data, which are held in the same main storage an object-code file. Assume for the moment that this has
as the program. Main storage appears as a long list of been done, so it remains to move the object-code file from
memory cells, each with a unique location-number called disk storage to memory via an I/O channel and routing
its address. So main storage is addressed for instructions circuits.
that in turn address it for data. Once in memory, the object-code program is execut-
Also essential for program control are provisions for able by the CPU. During execution, most storage access-
testing conditions on input or computed data and, de ing is to the memory (main store). However, the running
pending on the test-outcome, branching or jumping in the program is capable of directing movement of data, includ-
stored program sequence from strict progression to a ing final results between memory and peripheral storages
new program segment. Using branching, a single segment (disk or tape) via the I/O channels. Later, such results can
of stored program may be used repetitively thousands of be moved, again via channels to a transducer (display
times in the same program, with certain necessary pro- terminal or printer) for human inspection.
gram-modifiable differences in each such use. Until about 1968, most computers were mainframes
All CPU functions use the fastest (but expensive, and (q.v.) that were expensive and required considerable
hence small) kind of storage—the CPU registers—usually floor space, electric power, and air conditioning. How-
built from the same circuitry used for processing. The ever, due to rapid advances in the computer technologies,
registers are a sort of scratch pad for the CPU to jot down especially semiconductor circuitry, by the late 1960s a
results, especially those used frequently in local parts of genre of small-size machines termed minicomputers (q.v.)
the program. Some register contents are later transferred started to be produced that occupied only the space of an
to main storage and even to file storage. office desk, and were inexpensive enough to be used for
the solution of a single problem, such as the control of
particular industrial process as well as a variety of shared
Routing and Control Circuitry Routing circuits include
the networks and “buses” that direct the flow of informa- uses.
By about 1973, further rapid advances in technology
tion between various functional parts of the hardware
led to another class of even smaller, cheaper systems
subsystem (see Bus). For instance, the I/O channels con-
trol the flow of information between the transducers, based on the microprocessor, a complete CPU contained
peripheral storage devices, and main storage. Other rout- ona single or very few semiconductor chips. This method
ing circuits control communication between main storage of manufacture eliminated most hand-wiring and sepa-
326 COMPUTER SYSTEM
rate-component manufacture of the CPU with substantial The following discussion concentrates on system soft-
improvements, not only in cost but also reliability. ware, which is part of the system itself.
This great advance in technology was matched by The operating system is usually the most complex
corresponding advances in semiconductor memory that software in a computer system. Two of its basic purposes
allowed compact, high-capacity main storage to be offered are: 1) to supply common functions or “services” for
at a price hundreds of times cheaper per unit of stored use by other. software, and 2) to control the orderly
information than was available only a decade earlier. By sharing of the system’s hardware and software resources
1990, several million microprocessor-based systems, by several users where such sharing is done. Most of
called personal computers (PCs - q.v.) or workstations (q.v.) the types of system programs below are part of the
were in common use in homes, offices, and businesses. operating system:
Each supplied to an individual user computation power
and main storage that had been available in shared form 1. Device drivers (DD)—There is one per device
only from large, expensive systems a few years earlier. that controls device-specific details of a video
Furthermore, the progress in technology that has given us screen, a printer, a disk storage, etc. Most other
the microprocessor has also enhanced the cost effective- software will, as needed, call on a DD when it
ness of the larger minicomputer and general-purpose interacts with the device. Such software sees the
mainframe systems. device as a much simpler logical unit than is seen
Here, only a very brief account has been given of by the DD itself, and in this way most software is
three main classes of computer system: mainframe, mini- shielded from onerous device-sensitive details.
computer, and microprocessor-based. These are not pre- 2. Data management programs (DMP)—These keep
cise categories. Thus, many minicomputers are shared by track of the named storage items such as files, i.e.
several users and applications in the same way as are where each is located and the means to store and
mainframe systems. Although each PC/workstation is typ- access the data efficiently. For instance, when a
ically used by only one person, some are being intercon-
user’s program calls for data, a DMP locates and
nected via local area networks (LANs - g.v.) that also
fetches the data to the requesting program. (In so
contain servers that use microprocessor-based technol-
doing, the DMP may well call on the DD part of
ogy to permit access to large shared disk storage by the
the operating system described earlier). For
many PCs and workstations on the LAN (see FILE SERVER).
each file, the DMP may maintain information as
to who is permitted to use the data, who is cur-
rently using it, what is being done with it,
The Software Subsystem Unlike hardware, soft-
whether or not the data should be retained in the
ware (q.v.) is not tangible. Software, although held in a
physical medium, say on a disk storage unit, is composed system after the job ends, etc. Some parts of DMP
of programs and data arranged in logical, not physical, software are called access methods (q.v.).
structures (see DATA STRUCTURES). 3. Linkers/loaders—These programs do the final
Software is usually described in two major catego- preparation of object code programs prior to
ries, application software and system software, with sub- initiation of execution. Included may be “bind-
categories: ing” or linking of references in one program with
another using machine-language naming (ad-
1. Application software: dresses).
a. Programs written by users for a particular pur- 4. System control program (SCP)—This complex
pose, such as payroll, inventory control, de- part of operating system software is found in
sign of a product, etc. shared systems, as is common in most mainframe
b. “Packaged” programs written and supplied by and minicomputer systems, but not in many per-
vendors for end-users, each for a wide but sonal computers or workstations that serve sin-
restricted range of purposes. Examples: word gle users only.
processors for creating text documents; 5. Language processors (translators/compilers)—
spreadsheets (q.v.) for financial analysis work; Programs that are executed by the computer
database packages for creating, maintaining, must be in machine-language form, which is ex-
and searching large structured data collec- ceedingly tedious for humans to use when creat-
tions; statistical analysis packages, etc. ing programs. Accordingly, modern computer
c. Installation libraries, containing programs of systems support much more convenient higher-
types a. and b. and databases that are particu- level languages (HLL) for human use, along with
lar to several users at a site or an enterprise. language translators, usually compilers, to deal
Increasingly, a central “repository,” or “data with them. These translate user-written pro-
dictionary,” itself an item of complex software, grams (source code) from such HLL source lan-
is used to manage access to these objects. guages as Cobol or Fortran or C (q.v.) into
2. System software: machine-language object code, the only form the
a. Operating system. machine can execute.
b. Language processors (compilers). 6. Utilities—These are programs that perform fre-
c. Utilities. quently required tasks, such as sorting (q.v.) and
COMPUTER SYSTEM 327
merging two or more files, copying or moving 1. Program creation—Start by creating a program,
files within the system, etc. expressing it in one of the system’s designated or
“supported” programming languages, say C. Cre-
A computer system is best understood as a collection ating a program is a profound intellectual pro-
of two interrelating subsystems—hardware and software. cess, but beyond the scope of this discussion.
There are, however, certain aspects that do not fall into Mechanically, at creation time, we use a pencil
either subsystem: an example is a microprogram, which and paper.
has been termed firmware (q.v.). Microprogramming . Program entry—The next task is to enter the text
(g.v.), as the name implies, is a type of programming of this program into the computer system. Me-
but a highly specialized one. Microprograms directly chanically, this is a document creation and edit-
control the sequencing of the computer circuits at the ing process (editing is to help us correct certain
detailed level of the single instruction. Organizing the errors, such as mistakes in typing), so we use
control hardware in a microprogrammed structure rather software called an editor, which is much like a
than as wired circuitry has several advantages. First is word processor. As in the case of 1. above, our C
economy of circuitry if the machine must have complex language source program is stored as a file, say
instructions. A second advantage is that it is possible, “EXAMPLE.SRC”, on a disk storage device.
by microprogramming, to produce an emulator, a set of
. Compile time—Since C is not a machine lan-
microprograms that makes a given machine have the
guage, our C program must be translated from C
same appearance to object code software as some other
into machine language by a packaged program
machine (see EMULATION). This permits the same machine
called a C compiler. We order this done by again
to run programs written for either itself or the machine
using the operating system command to “call” a
it is emulating at reasonable efficiency. Yet another
program into execution; in this case, that pro-
advantage is to produce faster operations of the special
gram is the C compiler. Naturally, we must also
functions that are microprogrammed rather than pro-
specify the name of our source code file (EXAM-
grammed in the usual manner. There are, however, some
PLE.SRC) as its data input. The C compiler then
negative aspects of microprogramming, such as the
starts to run on the CPU, and translates each C
highly specialized knowledge needed and the great te-
source statement from the EXAMPLE.SRC file to
dium of writing microprograms. For these and other
machine language object code.
reasons, microprogramming is almost always confined
As it attempts to translate, the compiler may
to the staff of computer vendors. Also, although micro-
discover syntax errors in the program due to
programs are faster than doing the same functions with
typing errors or other reasons, and will then
software, they are slower than using wired control cir-
notify us by a message on the screen. (We can
cuitry.
then correct the errors on the EXAMPLE.SRC file,
using processes like 2. above, and then call the
The Users View of a Computer System Con-
compiler again.)
sider now how the system appears to a user. Suppose we
While translating, the compiler is “aware”
are at the keyboard and screen of a small single-user
not only of the machine instructions it must sup-
system such as a personal computer (PC) or workstation.
ply for the translation, but also of the operating
Its hardware consists of a keyboard, video screen and
system’s many service programs. The compiler
printer (transducers), a CPU, memory (main storage),
will, as appropriate, insert calls on such services
and disk storage for files. The software subsystem con-
as access methods, device drivers, etc., as need-
sists of an operating system and application packages: a
ed into the object code.
word processor, an editor, and, say, a C-language com-
The compiler typically stores the translated
piler. The operating system, through a set of commands
program (object code) on the disk as a file named
that may be offered in “menu” fashion, provides the
EXAMPLE.EXE for later use.
means to select from a list of particular services.
. Load time—The next step is to prepare to run or
In the first and simplest case, we wish to type and
execute the object code. The same command is
edit a report. We start by issuing a command to the
used as in 3), except now we specify EXAM-
operating system (by typing or selecting it from a menu).
PLE.EXE as the program to be run rather than the
In this case, the command is to start to execute the word
compiler. To start to run this program, the oper-
processor program. Good software of this kind requires
ating system moves the object-code file from the
minimal user knowledge of the system or software, and as
disk into main storage since programs must be in
we use it we mainly see a collection of editing facilities
main storage in order to execute. The Linker/
that allow us to enter our document into the system by
Loader system program then does some neces-
typing, then to edit (change) it, and eventually to print it.
sary final processing of the object code, and then
The word processor software allows the document to be
starts it executing.
stored as a named file on disk storage for later reference
. Run time—As the program EXAMPLE.EXE exe-
or further editing. We name this file “EXAMPLE.TXT”.
Afar more interesting case is where we wish to create cutes, much of its action is determined by the
machine instructions in its object code produced
and then run our own program. Then we typically proceed
as follows: by the compiler. But recall that the compiler also
328 COMPUTER SYSTEM
inserted calls to operating system services, say due to the dependence of the great bulk of user-developed
for access to data files previously stored on disk, software on the specific interfaces of a particular system
and also to new ones to hold results for later architecture. Thus, the great user investment in such
viewing or printing or for access by other pro- software and related items, such as training of staff, is
grams. Such a service call to the operating sys- preserved only if the user buys compatible products
tem activates a service subroutine (which may when expanding or replacing the system.
call other subroutines), which then becomes, Compatibility dictates a product’s external behavior
during this time, part of the running object code. but not its internal (non-interface) structure. Thus, com-
patible-substitutable products are not usually copies or
All during the above process, the user hardly needs to be “clones” and are typically very different in technology,
aware of the hardware subsystem, or even much of the circuitry, and design. They also often differ in speed,
detail of the software subsystem, such as the operating capacity, reliability, and price, and may be offered by
system services available to the compiler. different vendors. For example, S/370-compatible proces-
sors and disk storages are offered by IBM, Amdahl Corp.,
Shared Systems “Shared systems” refer to a mode of and Hitachi Data Systems, and all are of different internal
operation whereby several users share the CPU time, designs. Customers of S/370 systems can then choose
main storage space, and peripheral devices of a single between competing products and vendors on a product
system. Mainframe and minicomputers typically work as basis while retaining their typically large software invest-
shared systems, while personal computers and work- ments that depend on S/370 architecture.
stations typically do not unless networked through use of
a local area network (g.v.) or file server (g.v.).
Sharing has two motivations: 1) to provide a means Summary A computer system is characterized by its
of inter-user communication, and 2) to bring the process- high speed, high reliability, and great versatility. Since its
ing power and storage capacity of a powerful but expen-
commercial beginnings in 1950, there has been remark-
sive system to many users in an economically justifiable
able improvement in the cost per unit computation and
way. Shared systems are covered in the articles DISTRIB-
per unit storage. This is due to rapid advances in the
UTED SYSTEMS; MULTITASKING; NETWORKS, COMPUTER; and TIME
technologies of semiconductor circuits and storage de-
SHARING.
vices. The 1970s saw the maturity of mainframes and
minicomputers, as well as the emergence of the personal
Interfaces, Architecture, and Computability
computer and workstations based on microprocessor
From the viewpoint of a purchaser of computers, a
technology. The 1980s saw explosive growth of micropro-
system appears as a coherent collection of products,
cessor-based systems with millions in use by individual
both hardware and software. To work in a system, every
workers in businesses and schools of all sizes.
product must comply with precise rules governing its
Structurally, acomputer system is best considered as
intended relationships with other products, with user
a collection of resources of two broad classes: hardware
software, and even with user interactions. Such relation-
and software. Both are served and managed by a carefully
ships are called interfaces. The totality of the interfaces
of a specific product is called its architecture, and the
designed collection of system programs, including an op-
erating system.
totality of the architectures of a system’s products plus
any system-system interfaces such as gateways (q.v.) From a business perspective, a computer system is a
governing relationships with other systems, is the system collection of hardware and software products with pre-
architecture. cise interfaces between products and with users, espe-
In many ways, interfaces and architectures are funda- cially their software. The great user investments in their
mentally standards, but, unlike other systems such as self-developed software are usually dependent on com-
electric power or home entertainment, there are few uni- patibility with the interfaces of the specific systems for
versal standards in computer systems, so there are many which such software was developed. In some cases, com-
computer architectures (g.v.), not just one. patible products with different prices, capacities, and
One important example is the hardware-software in- qualities are available from competing vendors.
terface specification that precisely describes all of the
instructions in the CPU’s repertoire. Another interface
specifies the precise relationships between I/O channels References
and peripheral devices.
1980. Stone, H. S. (Ed.). Introduction To Computer Architecture (2nd
A product whose interfaces all comply with those Ed.). Chicago: Science Research Associates.
of a given system is said to be compatible with that 1984. Hamacher, V. C., Vranesic, Z. G., and Zaky, S. G. Computer
system and will work as intended in that system. Con- Organization (2nd Ed.). New York: McGraw-Hill.
versely, a product incompatible with a system cannot 1986. Bach, M. J. The Design of the Unix Operating System. Engle-
be used in that system. For example, disk storage prod- wood Cliffs, NJ: Prentice-Hall.
ucts compatible with IBM S/370 will not work in DEC 1989. ___ , Intel Corp. i486 Microprocessor, Santa Clara, CA: Intel
VAX systems and, conversely, even if the disk products Corporation, 44, 92, 120.
are of comparable capacity, speed, and function.
The economic significance of compatibility (g.v.) is HERBERT HELLERMAN
COMPUTER VIRUS 329
and fined $10,000. In addition, he was ordered to perform ing, remote sensing, navigation, microscopy, medical im-
400 hours of community service. aging, and the development of visual protheses for the
On 6 March 1992, the Michelangelo virus (so named blind.
because 6 March is Michelangelo’s birthday), although
widely heralded as a worldwide threat to computer sys- Terminology Thereare various terms used to refer to
tems, actually did little damage. the field of computer vision: machine vision, computa-
tional vision, image understanding, robot vision, image
Defenses The obvious, but generally impractical, de- analysis, and scene analysis. Each of these terms has a
fense against viruses is never to use anyone else’s different historical perspective, and some retain a differ-
software and never to connect with anyone else’s com- ence in emphasis. For example, the term “machine vision”
puter. Another is to implement a check in the operating is most commonly used in engineering disciplines and
system that queries users whenever a program they thus has more of an engineering and applications flavor.
have invoked attempts to write to disk. In practice, The term “computational vision” arose from interdiscipli-
however, this imposes an intolerable burden because nary research by computer scientists, visual psychophys-
users do not generally know which files their software icists, physicists, and neuroscientists. There are two goals
writes legitimately. Given a particular virus, one can of computational vision: one concerns the creation of
write an antibody program that spreads itself in the same computer systems that can “see,” and the other concerns
way, removing the original virus from infected programs, understanding biological vision. The unifying principle of
and ultimately removing itself too. However, this ap- computational vision is the concept that it is possible to
proach cannot protect against viruses in general, since understand vision independent of whether it is im-
it is not possible to tell whether a particular piece of plemented in computer hardware or in_ biological
code is a virus or not. Digital signatures have been “wetware.” More specifically, the goal of computational
suggested to prevent the corruption of files. Each file vision is to express the process of vision in terms of com-
as it is written is sealed by appending an encrypted putations. This sense of computation is not limited to the
checksum. Also, before it is used, the checksum is numerical computations performed on a calculator, but
decrypted and checked against the file’s actual includes all the more abstract computations that can be
checksum. Such a scheme may engender unacceptable performed by an abstract algorithmic processing system.
overhead, however, both in execution time and in the
logicistics of handling encryption keys. Related Fields There are several fields to which
The only really effective defense is eternal vigilance computer vision is closely related: image processing,
on the part of users, and, above all, education of users to which involves image to image transformations; computer
the possible consequences of their actions. graphics (q.v.), which involves description to image trans-
formations (the inverse of computer vision’s image to
References description transformations); and pattern recognition,
which involves pattern to class transformations. Com-
1989. Spafford, E. H. “The Internet Worm: Crisis and Aftermath,”
puter vision is a subfield of artificial intelligence (AI - g.v.)
American Scientist (June).
1989. Stoll, Clifford. The Cuckoo’s Egg: Tracking a Spy Through the and the process of extracting information from images
Maze of Computer Espionage. New York: Doubleday. requires the same types of knowledge acquisition and
1991. Hafner, Katie and Markoff, John. Cyberpunk: Outlaws and cognitive reasoning as other Al subfields. However, vision
Hackers on the Computer Frontier. New York: Simon and Schus- requires in addition significant perceptual preprocessing
ter. of the visual input before the cognitive analysis.
IAN H. WiTTEN
Levels of Computer Vision Processing Com-
puter vision processing is generally divided into two lev-
els: early vision and scene analysis. Early vision, otherwise
COMPUTER VISION known as low level vision, involves the first stages of pro-
cessing required for a visual task. One aspect of this first
For articles on related subjects see IMAGE PROCESSING; NEU- stage is feature analysis, whereby information about color,
RAL NETWORKS; MEDICAL IMAGING; PATTERN RECOGNITION; and motion, shape, texture, stereo depth, and intensity edges
ROBOTICS. are extracted. Another aspect of early vision is image seg-
mentation, whereby the featural information is used to seg-
Computer vision is the process of using computers to ment the image into regions that have a high probability of
extract from images useful information about the physical having arisen from a single physical cause. For example,
world, including meaningful descriptions of physical ob- suppose a scene consisted of a single orange resting upon
jects. For example, if an image sensor, such as a digitizing an infinitely large flat white surface that is illuminated bya
video camera, captured an image of a physical scene, and diffuse light source. An image of this scene could be seg-
the digital image was input to a computer vision system, mented based on color information alone to form two re-
the desired output would be a description of the physical gions—one corresponding to the orange and the the other
scene in terms that would be useful for the particular task corresponding tothe flat surface.
at hand. Computer vision has many applications, includ- The second level of processing, scene analysis, in-
ing robotics, industrial automation, document process- volves taking the featural descriptors generated by early
COMPUTER VISION 331
Viewpoint
FIG. 1b.
Statistical Approach to Determining Constraints Sta- statistics used to find image features that can be used to
tistical analysis provides the second approach to deter- provide the necessary constraints on image interpreta-
mining image constraints. The basic idea is that it is tion. This approach can be successful when the input
possible to design a system that can “learn” what the stimuli can be recognized from descriptions that are di-
constraints are simply by observing the world through rectly constructed from the image. However, in most vi-
sensory input. This is the approach used in statistical sion problems, the direct descriptions are further
pattern recognition, and more recently in artificial neural processed into higher-level descriptions, which are then
networks. In the statistical approach, the relevant aspects further processed into even higher-level descriptions,
of the visual environment are sampled, and the sample etc., and only after several such intervening levels of
Viewpoint
FIG. Ic.
COMPUTERS, MULTIPLE ADDRESS 333
successively more derived descriptions does recognition points on a curve in three-space. This will not always be
occur. It is not yet clear how such complex structure true: if an arc of a circle exists in three-space, there will be
could emerge in an artificial system that must “learn” its a limited number of viewpoints such that the points on
structure. One solution would be to design such structure the arc project onto a straight line in an image, but for the
into the network, but this then begs the question of what vast majority of possible viewpoints this will not be true.
image features are important, as at least the basic level Vision constraints often have the property of being true
features would have to be predetermined. So, although only in general, yet they can be important in providing
the statistical approaches may produce interesting re- inferences useful for the correct interpretation of an
sults for early vision, they are not well suited for scene image.
analysis.
References
Biological Approach to Determining Constraints The
1982. Marr, D. Vision. San Francisco: W.H. Freeman.
third approach to finding useful image constraints in-
1982. Ballard, Dana H., and Brown, C.P. Computer Vision. Engle-
volves studying biological vision systems with the aim
wood Cliffs, NJ: Prentice Hall, Inc.
of uncovering the constraints that they use in image
1986. Horn, Berthold. Robot Vision. New York: McGraw-Hill.
interpretation. In some cases, the biological solution 1987. Fischler, Martin and Firschein, Oscar. Readings in Computer
may be constrained by the neurophysiological im- Vision: Issues, Problems, Principles and Paradigms. Los Altos,
plementation mechanisms, and in such cases the biolog- CA: Morgan Kaufmann.
ical approach may fail. However, in other cases the
biological solution may be constrained by the general DEBORAH WALTERS
problem of vision and may provide useful insights for
computer vision.
In one sense, all computer vision uses the biological
approach, as vision is defined in terms of the human COMPUTERS, HISTORY OF. see Dict
visual sense. But as mentioned previously, most stages of COMPUTERS: HISTORY.
visual processing are not open to conscious introspec-
tion, so in order to use systematically the biological ap-
proach, other means of determining how the mammalian COMPUTERS, MULTIPLE ADDRESS
visual system functions must be used. This is possible
using techniques from the disciplines of visual percep- For articles on related subjects see ADDRESSING; COMPUTER
tion, psychophysics, neurophysiology, and neuroanat- ARCHITECTURE; INDEX REGISTER; INDIRECT ADDRESS; INSTRUCTION
omy. Over the past ten years there has been an increasing SET; and MACHINE AND ASSEMBLY LANGUAGE PROGRAMMING.
degree of interaction between those interested in biolog-
ical vision and those primarily interested in machine vi- In addition to an operation (command) specification
sion, and the contributions from each side enhance the and other information (e.g. indexing), a computer instruc-
research of the other. tion may contain from zero to four addresses. An address
usually points either to a location in the memory that
Physical Approach to Determining Constraints In the stores the value of the operand or to a location involved
physical approach, the basic idea is to determine proper- in the control process.
ties of the physical world that can be used to constrain Computers may be classified according to the num-
image interpretation. This has been a very successful ber of addresses in most or in common (e.g. arithmetic)
approach and has led to many useful constraints. For instructions: zero, one, two, three, and four having been
example, David Marr (1982) frequently used continuity as used. The number of addresses depends on both the
a constraint. The continuity constraint makes use of the register structure and central processor organization.
fact that the physical world is basically continuous; thus
neighboring image points have a high probability of hav- Zero-Address Instructions Zero-address instruc-
ing arisen from the same physical entity. This constraint tions do not require access to memory for operands.
has been used in a simple cooperative algorithm to com- Examples include HALT and RESET OVERFLOW INDICA-
pute the relative depth of different image regions. An- TORS. Arithmetic zero-address instructions occur in
other example of a frequently used constraint is the stack-type organizations in which arithmetic expressions
assumption of a general viewpoint. This assumption is are conveniently evaluated by conversion to Polish form.
based on the fact that for a given scene, as the viewpoint For example, ADD would cause the two top stacked oper-
changes slightly, there will generally be only slight ands to be replaced by their sum, thereby shortening the
changes in the projected image, and thus many proper- stack by one item.
ties of the projected image will remain constant over most
viewpoints. So, if it is possible to determine which image One-Address Instructions For many years, the
properties are invariant over viewpoint, except at a lim- high cost of hardware led to systems wherein the arithme-
ited number of viewpoints, it may be possible to make tic operations were all associated with one particular
useful inferences about the scene based on these proper- register called an accumulator. Thus, the instructions to
ties. For example, if several points in an image are co- evaluate C = A + B were LOAD A, ADD B, STORE C, with
linear, there is a high probability that they depict co-linear a natural instruction format of
334 COMPUTERS, MULTIPLE ADDRESS
erable shift in the style of computer/human interaction. between individuals and groups on a non-profit basis.
Using technology pioneered at the Xerox Palo Alto Re- These include such national networks as PeaceNet or the
search Center in the late 1970s, Apple Computer’s intro- Well (Whole Earth ’Lectronic Link). Certain cities, most
duction of the Macintosh led the way to widespread notably Santa Monica, California, have made networks
acceptance of a new user-interface (q.v.) paradigm empha- available to the public in order to improve communica-
sizing extensive graphics, mouse-oriented interaction, tion between citizens and elected officials. As the cost of
and ease of use. As this style of interaction has been computer and network technology drops, such systems
adopted by the designers of other systems (as in the should become even more widespread.
Microsoft Windows product for the IBM-PC and PC-Com-
patibles - g.v), computers have become accessible to the The Integration of Computers into Other Products As
average citizen. microchip processors became smaller, cheaper, and more
Strategies for software development have also been powerful, it began to make economic sense to incorporate
affected by the growth of personal computing. As the them into a wide variety of products, from microwave
product base for the dominant personal computer sys- ovens to automobiles, from children’s toys to high-tech
tems expands, there is an ever greater premium on com- military weapons. The addition of computing technology
patibility and integration. A software application that to such systems means that they can perform a more
doesn’t integrate well with the existing base of tools avail- sophisticated set of functions and be more flexible in their
able on a particular platform is less likely to survive in the operation. It also means that the systems increase in
competitive marketplace. This emphasis on integration complexity, in the sense that their detailed operation is
and compatibility has led to de facto standardization of much less transparent to their users.
certain operating systems and user-interface paradigms,
at the expense of others. Some industry observers have Reliability and Risk Increasing reliance on sophisti-
expressed the concern that this standardization threat- cated computer technology, particularly when such tech-
ens future innovation, but it has also certainly improved nology is employed in life-critical applications, carries
the quality and usability of the systems emerging at the with it the significant social risk that such technology will
top of the heap. fail, in potentially catastrophic ways. In much of society,
The widespread availability of computers to individ- the idea that computers always.give the correct answer is
ual programmers has also led to the development of a strongly embedded in the cultural mythology. Given re-
sizable cottage industry in computer software. Private cent advances in computer engineering, this perception
system designers have in some cases had significant suc- is now substantially correct for the hardware itself. Ma-
cess developing and marketing computer applications. chines rarely give incorrect results through any sort of
The fact that such individual entrepreneurs lack access to physical failure, and the reliability of computing hardware
the large-scale distribution mechanisms of large compa- has been increasing steadily. Nonetheless, hardware fail-
nies has led to the development of shareware, software ures do occur, and the results can be particularly fright-
distributed freely over computer networks, with users ening. In June 1980, the failure of a multiplexer chip at
encouraged to send in voluntary contributions if they are NORAD led to two false nuclear alerts in four days.
satisfied with the products. Computer systems, however, are much more com-
plex than the hardware alone. In order to perform any
The Communications Explosion Another aspect of the useful tasks, computers must be programmed; they need
enormous changes in computing over the last two de- software to control the hardware. While engineering ad-
cades, and one that has significant social impact, is the vances have led to dramatic improvements in hardware
growth of communications technology in general and reliability, the problems involved in the development of
computer networking in particular. In 1968, Bolt Beranek reliable software have proven much more difficult to
and Newman Inc. of Cambridge, MA, won a contract from solve. Software systems are complex, and the opportuni-
the Defense Advanced Research Projects Agency (then ties for error are myriad. These errors may be simple
identified as ARPA, but later as DARPA) to build a network oversights or typographical mistakes, or they may repre-
that would connect computer systems at various univer- sent more serious failures in the conceptual design. Often,
sities, corporate research centers, and government agen- software errors are manifest only when the system en-
cies. In late 1969, the first four nodes of this system were counters some unexpected or unlikely situation, or when
in operation, and by 1977 the Arpanet system had grown several individually innocuous events occur in concert. In
to include 111 host computers. In the next decade, net- such cases, it is common for the errors to remain unde-
work growth in both the public and private sector grew tected despite years of use.
enormously. The Arpanet became the Internet, its struc-
ture became much more sophisticated through the cre- Examples of Software Failures In 1962, a single-charac-
ation of domains and subdomains, and by 1989 there were ter error in the controlling software for the Mariner 1
over 60,000 computers connected to the network. Venus probe sent the booster off course and forced mis-
The last decade also saw the development of several sion controllers to destroy the launch vehicle, at a cost of
commercial networks, such as CompuServe and Prodigy, $18.5 million. On 15 January 1990, the AT&T long-distance
most of which offer additional services beyond standard system suffered a catastrophic failure in which much of
network communications. In addition, a number of net- the national telephone network was out of service for nine
works have also been created to further communications hours. The problem was eventually traced to a problem in
COMPUTERS IN SOCIETY 337
the routing software. In each of these instances, more- that software errors are inevitable in any large system.
over, the error occurred in a part of the program respon- When the U.S. Department of Defense convened the
sible for failure recovery. These systems worked under Eastport panel in 1985 to study the feasibility of the
“normal” operating conditions and had therefore passed software required for a ballistic missile defense system,
most tests successfully. It was only when a special condi- they concluded, “Simply because of its large size, the
tion occurred, and the system needed to respond to that software capable of performing the battle management
condition, that the software failure was triggered. task for strategic defense will contain errors. All systems
Many “computer problems” are not necessarily the of useful complexity contain errors.” In effect, errors are
fault of the computer itself. Computers are most often a consequence of the complexity of the problems that
used as parts of larger systems that involve both people computers are directed to solve.
and technology. In such systems, a common source of risk ‘In one important respect, software engineering dif-
is the human/computer interface. If a computer system is fers from other engineering disciplines in which techno-
designed in such a way that it is difficult to use or so that logical advances and the development of appropriate
people are likely to make mistakes when using it, this is in standards have made it possible to eliminate the major
itself a risk. One instance is the failure of the first test of causes of catastrophic failures. Computers are discrete
the accuracy of ground-based laser stations as a candi- systems, whereas most engineering is concerned with
date architecture for the Strategic Defense System. An continuous ones. A continuous system usually degrades
operator entered the height of the ground station in feet, in a predictable and continuous way: small changes have
but the programmer had intended that this value be en- small effects. This property is not at all true of a compu-
tered in nautical miles. Comically, when the space shuttle tational system. A single character change in a program
received this value, it turned upside-down so that its or its data may be completely innocuous, but on the other
mirror pointed out into space toward the top of a hypo- hand, it led to the loss of the Mariner I spacecraft. Small
thetical mountain more than 10,000 miles high—well changes can, and do, have catastrophic effects. A related
above the shuttle’s orbit. problem is that most technologies permit the designer to
But this type of failure has had tragic consequences overengineer a system in case of uncertainty. If a bridge
as well. In 1985 and 1986, several malfunctions of the designer is unsure whether a particular number of rein-
Therac 25 X-ray machine left one patient dead and several forcing supports will be sufficient to withstand an earth-
others paralyzed. In later analysis, it was discovered that, quake, it is usually reasonable, for example, to double the
although the user interface included some safety check- predicted number of supports “just for good measure.”
ing to avoid excessive doses, changing previously entered The same strategy is not available to the software de-
data in a certain way caused the program to bypass these signer. If that designer is unsure whether errors are lurk-
safety checks. Poor user-interface design has also been ing in a 10,000 line program, doubling the number of lines
implicated as a major contributing factor in the incorrect will decrease rather than increase confidence in the prod-
identification of a radar image by the USS Vincennes—an uct. As we use computers to solve problems of increasing
error that resulted in the downing of Iranian flight 655 and complexity, we need to accept a corresponding increase
the death of its 290 civilian passengers. in risk. This observation has led some well-informed crit-
Finally, many failures are caused by unanticipated ics, including David Parnas, Charles Perrow, and Joseph
interactions between the computer system and its envi- Weizenbaum, to conclude that there must be limits on the
ronment. In 1980, a hospital patient was receiving treat- level of risk that we, as a society, can accept. Moreover,
ment on a microwave-based arthritis therapy machine limiting these risks imposes a parallel] limitation on the
that had previously been used successfully on many pa- complexity of systems that we should be willing to deploy
tients. In this case, however, the patient died when the in life-critical applications.
therapy machine inadvertently reprogrammed his pace-
maker. And since 1982, there have been five crashes of the Software Liability That computer systems are prone to
Air Force Blackhawk helicopter, resulting in 22 deaths. failure has not been lost on software developers.
Each of these crashes have been traced to radio interfer- Throughout much of its history, software development
ence affecting the helicopter’s computerized control sys- has not been subjected to the same standards of strict
tem. liability as have other engineering disciplines, and soft-
These examples are not isolated instances or occa- ware vendors have gone to considerable pains to avoid
sional flukes. Computer systems have been implicated, liability for products that cause damage through software
for example, in the near-meltdown of the Three Mile Is- error. Almost every piece of software sold includes a
land nuclear power plant, in the stock market crash of standard disclaimer indicating that the product is sold
October 1987, and in at least two crashes of the Airbus “as is,” with no responsibility whatever accruing to the
A320 fly-by-wire aircraft. vendor should the product fail to operate as advertised.
The legal status of such blanket disclaimers is open to
The Inevitability of Software Risk It is interesting to question, and the entire issue of liability for software
speculate as to why the discipline of software engineering errors is likely to become a central legal concern in the
(q.v.) has not advanced to the point at which software 1990s.
designers can avoid software errors and their attendant
risk. For the foreseeable future, such a goal is unlikely to The Risk of Malicious Attack The enormous prolifera-
be reached. Most experts in software engineering believe tion of computing technology and the degree to which
338 COMPUTERS IN SOCIETY
computers interact, either through networks or the shar- posed by authorized users who exploit their authoriza-
ing of software, has led to a new concern. The hazards tion with criminal intent. White-collar crimes, such as
described in the previous section are caused by errors, embezzlement and fraud, are familiar problems in busi-
oversights, or a failure to understand the complexities of ness. In the computer age, however, these age-old prob-
a problem. In all of these cases, the results were unin- lems can expand in magnitude because reliance on
tended, even if they should have been foreseen. They are computers creates new opportunities for economic
not deliberate assaults. crime.
In the last decade, however, several serious incidents It is very difficult to assess the actual impact of com-
have occurred in which the perpetrator was intentional, puter crime within the U.S. or world economies. Possibly
or at least reckless. Computer networks have been prime out of fear that disclosure of losses might weaken the
targets. In the summer of 1986, an astronomer-turned- confidence of consumers or investors, few companies are
computer-operator named Cliff Stoll discovered that willing to prosecute computer crimes, preferring instead
someone was breaking into the computers at Lawrence to handle such cases internally. In any case, losses are
Berkeley Laboratory and acquiring special privileges on certainly high. A 1984 report by the American Bar Associ-
that system. After more than a year of investigation, de- ation (ABA) surveyed 278 companies and public agencies,
scribed in Stoll’s book, The Cuckoo’s Egg, the intrusion concluding that “if the annual losses attributable to com-
was traced through an astonishing array of networks and puter crime sustained by the relatively small survey are,
computers to Germany, where a group of computer “hack- conservatively estimated, in the range of half a billion
ers” was selling U.S. military computing secrets to the dollars, then it takes little imagination to realize the mag-
Soviet KGB. In November 1988, Robert Morris, a graduate nitude of the annual losses sustained on a nationwide
student at Cornell, unleashed a worm that exploited three basis.”
different holes in the Unix operating system to replicate A few cases of computer fraud have drawn wide-
itself across the Internet computer network, eventually spread attention. In 1979, a computer consultant to the
affecting more than 6,000 machines. The worm’s author Security Pacific Bank, who had acquired in the course of
evidently did not intend his program to cause real dam- his work the access codes to the electronic funds transfer
age, but a software error in the program caused it to (EFT) system, was able to shift more than 10 million
replicate itself much more rapidly than intended, over- dollars to his account in Switzerland. One of the largest
whelming many of the machines it reached. computer fraud cases known is the Equity Funding scan-
In the personal computer world, the dominant prob- dal, uncovered in 1972. In this case, computers at Equity
lem has been the computer virus. A virus is a program that Funding were used to generate fraudulent insurance poli-
can copy itself into other programs, which then will create cies that were then resold to other insurance carriers. As
further copies of the virus, etc. They may or may not have a result of the scam, losses to investors and legitimate
malicious consequences. Viruses are usually spread from insurance companies may have been as much as 2 billion
one personal computer to another when a piece of soft- dollars. In 1987, the German Volkswagen corporation re-
ware is copied. If the source machine is infected, it is likely vealed that it had lost about 260 million dollars through a
to infect the diskette used to make the copy, and then to computer-based foreign exchange contract scheme.
go on to spread the virus to the new machine. Since the
appearance in 1986 of the first virus to be transmitted Software Piracy The examples of computer crime cited
outside of the laboratory (the so-called “Brain” or “Paki- in the previous section are those in which computers are
stani” virus), the problem quickly became increasingly the instruments of crime. Computers and their software
severe, so that by 1990 over 100 identifiable viruses and are also the objects of crime. Theft of computer hardware
virus variants had been detected. has grown in importance as the size of the computers
The proliferation of viruses and worms, and the themselves (and the concomitant difficulty of moving
threat of additional attacks by computer hackers have led them) has diminished. Even so, the economic impact of
to an increase in emphasis on system security. Some hardware theft is certainly dwarfed by that of what is
response to this threat is indeed necessary, but there is often referred to as software piracy—the act of copying
also concern that defending against such attacks may proprietary software without payment of any licensing
adversely affect research. The existence of relatively open fees. Particularly after the development of the personal
computer networks and the widespread availability of computer opened up the home computing market, such
software have both contributed to the successes of the copying of software has become enormously widespread,
computer age by making it far easier than it has ever been to the point that software vendors estimate that two to
to build upon the work of others. As these channels are three copies are made for every program that is sold.
restricted, some fear that the advantages of an open envi- Once again, the actual extent of such copying, or the
ronment will also be lost, to the ultimate detriment of the attendant economic costs, are difficult to assess. Ironi-
field. cally, one of the best indicators of the scope of the prob-
lem is the proliferation of computer viruses (as discussed
Computer Crime While computer hackers have cap- above), because such viruses are most often spread
tured most of the headlines in recent years, most observ- through software copying. The extent of the problem was
ers believe that the real threat of malicious attack lies vividly illustrated by the “Peace Virus,” which was de-
elsewhere. The danger represented by unauthorized signed so that on 2 March 1988, it would display a mes-
users is probably small in comparison to the danger Sage promoting peace. According to Richard Brandow,
COMPUTERS INSOCIETY 339
publisher of the Canadian MacMag magazine and one of Computers and the Workplace For many people in
the creators of the virus, the virus was transmitted to modern society, the greatest impact of computing tech-
350,000 Macintosh computers within two months. nology has been in the workplace. As technological inno-
There is considerable debate as to the ethics of such vation produces computing equipment that is faster,
unauthorized copying. Many computer users simply do more powerful, and less expensive than its predecessors,
not regard such copying as theft, pointing out that classi- there is an increasing impetus toward using computer
cal theft denies the original owner possession of an object systems in an enormously wide variety of work environ-
of value, whereas software copying does not. An organiza- ments. In the office, typewriters have been almost entirely
tion of programmers called the League for Programming replaced by word processing systems or workstations
Freedom, originally formed by Richard Stallman, opposes (q.v.). On the shop floor, technology has led to the devel-
software patents and copyrights. Critics counter that opment of significantly more sophisticated tools, such as
some form of protection analogous to copyright is essen- computer-aided design and computer-aided manufactur-
tial in order to protect the intellectual property rights of ing systems (CAD/CAM -q.v.). Computers have made their
inventors. In recent years, particularly with the introduc- mark even in the fast-food industry, with systems that
tion of lawsuits asserting protection for the “look and allow workers to ring up orders by pushing buttons with
feel” of a particular product, this debate has quickly pictures of hamburgers, french fries, and the like.
grown in importance so that it is now the foremost legal In each of these environments, the introduction of
question facing the computing community. computers has profoundly transformed the nature of the
work process. One of the principal effects of computeriza-
tion on the labor force itself has been to increase the
The Security of Electronic Vote Tabulation. ‘While most
polarization of job categories with respect to skill levels.
of the concern about the threat of fraud or data tampering
Some jobs require increased skill levels on the part of
is focused on economic crime, there are other concerns
employees, so that they can handle the new, more sophis-
as well. For example, computer experts have expressed
ticated tools; office jobs that require the use of word
increasing concern that the proliferation of electronic
processors are one example. Many other jobs, such as
vote-counting systems could threaten our democratic
that of the fast-food clerk pushing picture buttons, re-
rights. A small number of vendors supply the vast major-
quire less skill as a result of computerization. Some jobs
ity of voting systems for the country at every electoral
can be eliminated entirely through the introduction of
level. There are many opportunities, both inside and out-
computing technology, although the extent to which this
side those companies, to sabotage the vote tabulation
has occurred has been less than either its proponents or
software, and there are few safeguards to prohibit such
critics predicted. Thus, while there are more jobs requir-
tampering or even to detect it if it occurs. In most cases,
ing highly skilled workers and more requiring essentially
election officials are not even able to review the vendor-
no special skills, there are fewer jobs for workers with
supplied voting software, since the companies providing
intermediate skill levels who nonetheless seek rewarding
that software regard it as a proprietary trade secret.
work that validates their talent and intelligence.
Although the possibility of fraud exists, most of the
It is also difficult to assess precisely the economic
known problems in electronic vote counting have to do
impact of the massive introduction of computers into the
with computer failures and undetected software errors,
workplace. Initially, one of the goals of management was
and not with actual fraud. In the 1985 mayoral race in
to reduce the size of the required labor force through the
Dallas, for example, there was a momentary power outage
introduction of new technology. While employment has
during the tabulation process. When power was restored, decreased in some job categories, it has increased in
the candidate who had been leading up to that time
others, and the overall effect on employment is unclear.
quickly fell behind, which aroused enough suspicion that
Moreover, many of the computer systems have proven to
the problem was investigated. That investigation deter- be far less effective than was originally anticipated. In
mined that the software supplied for the election system some cases, the failure of computer systems to meet the
was incorrectly reporting vote totals for the so-called needs of the work environment into which they were
“split precincts” lying partly inside and partly outside of introduced has been traced to a failure on the part of their
the city limits. Still other problems were detected during designers to understand the precise requirements of the
further investigation. This election fiasco, which The New job. Understanding this source of failure has led to anew
York Times reported in five separate articles, eventually philosophy of software development, participatory de-
led the Texas legislature to amend the state election law sign, which encourages greater participation by employ-
and forced Dallas County to replace its entire vote-count- ees in the design of the systems they will eventually use.
ing system. _ One of the work environments in which the impact of
computers has been most heavily studied is the elec-
Computers and the Changing Social Order tronic office. According to a 1987 report prepared ‘by the
The preceding section focused on how computers affect Office of Technology Assessment of the U.S. Congress, 20
society when they are either misused or fail to function as million office workers in the U.S. use a computer as part
intended. This, however, is only one aspect of the social of their job. Of these, somewhere between 4 and 6 million
impact of computers. It is at least as interesting to con- are evaluated on the basis of monitoring data collected by
sider how computers affect individuals and society when the computer system they use. This practice has raised
they operate entirely as advertised. new concerns. Electronic monitoring—the process of col-
340 COMPUTERS IN SOCIETY
lecting performance statistics automatically as part of the right to privacy. An enterprising reporter managed to
standard operation of the computer system—is quite obtain and publish the list of videotapes Bork had rented,
widespread. Although such performance statistics can be which were maintained in the computer system of the
a useful tool for management in evaluating employee pro- video rental store. In response, Congress passed a Video
ductivity and can help workers improve their own perfor- Privacy Protection Act, but has yet to deal with many
mance, several studies have shown that monitored more substantial questions that arise.
workers often experience substantially increased levels of The question of privacy is compounded by the fact
job stress. Moreover, electronic monitoring emphasizes that it is easy to use electronically stored data for pur-
those aspects of a job that are easily quantifiable, often at poses other than that for which it was collected. A partic-
the expense of more subjective measures of the quality of ularly dramatic example occurred when a restaurant
job performance. Electronic monitoring has become a chain offered free ice cream cones to children on their
central question of labor policy at all levels of govern- birthdays, keeping records on those customers, presum-
ment, and is likely to become more important as this ably to ensure that only one birthday was recorded for
practice becomes more widespread. each child per year. Allegedly, this data eventually made
In recent years, new concerns have been raised about its way into the Selective Service system, which used the
possible health and safety consequences of the growing information to determine when those children had
use of computers on the job. The most significant prob- reached draft age. Amore common example concerns the
lem for the computerized workforce has been the devel- sale of mailing lists between companies or organizations.
opment of an astonishing number of cases of repetitive Ordering a magazine, for example, may result in an ava-
strain injuries, a debilitating condition that usually affects lanche of unsolicited mail if that magazine sells its list of
the hands and wrists (“carpal tunnel syndrome”), caused subscribers to other companies. In 1990, this problem
by repeated keyboard motions over extended periods of caused a new level of concern when the Lotus Corpora-
time. Such conditions now account for almost half of the tion announced that it would offer to sell companies a
total occupational safety and health claims in the state of product called Household Marketplace containing infor-
California, which led the city of San Francisco in 1990 to mation—including home addresses, buying habits, esti-
pass new legislation mandating special health precau- mated income, “lifestyle” classification, and other
tions for computer workers within the city limits. In addi- information obtained from credit histories—on over 120
tion to these problems, workers who use computers million Americans. Public pressure based on privacy con-
extensively also appear to have serious problems with cerns forced Lotus to cancel the product.
eyestrain, headaches, and back pain. Two studies have
also found evidence linking heavy use of video display Data Accuracy Civil libertarians are not only concerned
terminals (VDTs) with increased miscarriage rates. As yet, that the collection of personal data may threaten individ-
the data on these health problems remains somewhat ual privacy, but also that inaccuracies or errors in the data
inconclusive, but there is certainly cause for concern and may harm the affected person. As more and more data is
need for additional study. collected and stored in computerized form, it has become
increasingly difficulttoensure that the stored information
Privacy in the Information Age Historically, one of the is correct and up to date. In 1982, the Office of Technology
principal applications for computer systems has been Assessment (OTA) undertook a study of the files main-
recordkeeping. Computers provide an ideal mechanism tained in the National Crime Information Center (NCIC)
for storing large quantities of data in a way that makes maintained by the FBI. Of the records in the wanted person
that data easy to retrieve or to manipulate. And because file, the OTA study found that 11.2% of the warrants were
it is so convenient to maintain computer databases, the no longer valid, 6.6% were inaccurate, and 15.1% were
amount of information stored in computers has grown more than 5 years old. The FBI undertook its own study in
enormously over the last few decades. For example, in 1984, and found error rates of 6.0%. An internal review of
The Rise of the Computer State, David Burnham reports agency operations improved the data quality somewhat,
that the U.S. maintains four billion records about its citi- but a second study undertaken in 1988 continued to show
zens in the form of IRS tax data, Social Security and an error rate of 3.6%. While this error rate may seem small,
Medicare records, criminal justice data, etc. Private com- the impact of those errors on innocent citizens can be
panies also record data about individuals, most com- high. A certain Terry Dean Rogan of Michigan was arrested
monly in the form of credit records. Credit-reporting for crimes committed by another man using that name,
companies, such as TRW and Equifax, maintain records and because the NCIC records indicated that the suspect
on the majority of U.S. citizens. was armed and dangerous, the arrest was made at gun-
The existence of this vast amount of data raises im- point. Even after the error was discovered, it proved to be
portant questions of privacy. Since the 1880s, the Su- difficult to correct the erroneous entries, and Rogan was
preme Court has recognized some constitutional arrested four more times in the next two years.
protection for the right of privacy, and there is consider-
able concern that these rights are being eroded by the Computers and the Security State For some critics of
enormous growth in electronic databases. An ironic ex- privacy policy, the increasing use of computing technol-
ample of the danger was provided during the 1987 confir- ogy by law enforcement agencies raises the danger of a
mation hearings for Supreme Court nominee Robert Bork, police state. Courts have ruled that electronic informa-
who disagreed with the idea of a constitutionally-based tion is not subject to the same protection against wiretaps
COMPUTING AND THE HANDICAPPED 341
that have traditionally safeguarded telephone communi- 1984. Perrow, Charles. Normal Accidents: Living with High-Risk
cation, for example. This raises fears among some people Technologies. New York: Basic Books.
that the government may undertake extensive surveil- 1985. Howard, Robert. Brave New Workplace. New York: Elizabeth
lance of electronic communication. A request submitted Sifton Books/Viking Press.
1985. Johnson, Deborah. Computer Ethics. Englewood Cliffs, NJ:
by Computer Professionals for Social Responsibility
Prentice-Hall.
under the Freedom of Information Act revealed that the
1987. Bellin, David and Chapman, Gary. Computers in Battle. New
Secret Service has monitored electronic transmission York: Harcourt Brace Jovanovich.
over computer networks, and that the agency has even 1987. Forester, Tom. High-Tech Society. Cambridge, MA: The M.1.T.
set up special bulletin boards that they hope will entrap Press.
hackers who openly boast of their illegal activities. 1989. Stoll, Clifford. The Cuckoo’s Egg: Tracking a Spy through the
Maze of Computer Espionage. New York: Doubleday.
Computers and Social Power Finally, there is some con- 1990. Denning, Peter J. (Ed.). Computers Under Attack: Intruders,
cern that the proliferation of computers will affect the Worms, Viruses. New York: Addison-Wesley.
1990. Forester, Tom. Computer Ethics: Cautionary Tales and Ethical
distribution of power in society, although opinions are
Dilemmas in Computing. Cambridge, MA: The M.LT. Press.
divided as to whether the eventual result will be greater
democratic participation or the reinforcement of existing Eric ROBERTS
imbalances between social classes. Those who see the
computer as a democratizing force point out that per-
sonal computers have brought considerable computa-
tional power into the economic reach of common citizens. COMPUTING AND THE
With a relatively small investment, for example, any indi-
vidual or organization can use desktop publishing soft-
HANDICAPPED
ware to produce a high-quality newsletter or magazine. For an article on a related subject see COMPUTERSIN SOCIETY.
Others counter that computers are essentially a tool, and
power will accrue disproportionately to those who have The legal mandate to mainstream the disabled in the
the economic resources to buy the biggest and best tools. public school system and efforts to increase the employ-
There is little quantitative data available to indicate ability of the disabled occurred at about the same time as
which of these perspectives is more likely to be correct in the development of personal computers. This serendipi-
the long run, but there are some disturbing trends. Access tous coincidence has fostered considerable effort in ap-
to computers in the educational system, out of which will plying personal computers to improve the education and
certainly come the future programmers and software en- employability of the disabled. Widespread interest in the
gineers, is clearly related to economic class. Students in subject was focused at the 1980 workshop on “The Appli-
private schools or those in well-funded public systems cation of Personal Computing to Aid the Handicapped,”
have much greater access to computers than do students held at Johns Hopkins University and cosponsored by the
in poorer districts, an imbalance of access that reinforces IEEE (Institute of Electrical and Electronic Engineers).
existing inequalities based on social class. As initially designed, the personal computer itself
presented hardware and software barriers to use by the
Conclusions Although computers still qualify as a disabled. The hardware barriers were:
new technology in a historical sense, they are no longer
the novelty they were two decades ago. In the intervening e Having the keyboard attached to the processor,
years, computers have become integral to the functioning which precluded the optimal positioning of the
of society as they demonstrate their enormous promise. keyboard to make use of the disabled person’s
At the same time, we have become more aware as a abilities.
culture that the use of computers, and particularly reli- e The requirement to strike several keys simulta-
ance on them, also involves significant risk. That risk is in neously.
part due to the fact that computer systems are suscepti- e Multiple character input due to accidental bounc-
ble to failure, usually as a result of software or design ing of the keys.
errors. Moreover, the very complexity of the tasks that e Incorrect key selection due to poor motor control.
these computer systems are used to solve makes it un-
likely that we can eliminate such risks. But computers Software barriers consisted of
also have a profound, and possibly negative, effect on our
lives, even when they operate as advertised. e Educational software with time constraints that
could not be met by the disabled, or with refer-
References ences to life experiences not familiar to the dis-
abled.
1976. Weizenbaum, Joseph. Computer Power and Human Reason: e Software that could not be accessed due to modi-
From Judgment to Calculation. San Francisco: W. H. Freeman fications made to the input system (keyboard), in
and Company.
order to eliminate input difficulties.
1983. Burnham, David. The Rise of the Computer State. New York:
Random House.
London: Solutions to the hardware problems have consisted of
1983. Pool, Ithiel de Sola. Technologies of Freedom.
Belknap Press. devices as simple as plastic keyguards that fit over the
342 COMPUTING CENTER
look to find out what it is waiting for, and finally how to fix These requests for improvements come from the installa-
it. Similarly, the operator must locate and mount tapes in tions using the equipment and from the manufacturer’s
the correct sequence for both reading and writing, etc. own sales organization. Regardless, if an installation does
not make any changes in the operating system it receives
Systems Programming Systems programming deals from the manufacturer, it can expect a much more sympa-
with the writing and maintenance of programs that are thetic hearing if the system supposedly fails to perform in
part of the computer operating system. The amount of some area. Just as in manufactured goods, the manufac-
systems programming skill required in a computing cen- turer feels much less compelled to support a device that
ter is dependent probably as much on its management has been “tampered” with (even by competent people)
philosophy as on its size. Most general-purpose comput- than for one that is still in its delivery state.
ers are made available by their manufacturers, complete Principally for this reason, systems programming
with operating systems. The earliest machines had none or tends to be an all-or-nothing proposition. Either a shop
only very rudimentary operating systems, whereas mod- has no systems programming talent or it has enough to
ern machines have very sophisticated ones. These oper- become completely familiar with and substantially pro-
ating systems (or just systems) are designed for use by a vide overall support for its operating systems.
typical installation and provide parameters that can be The argument for no systems programming talent is
varied to meet that installation’s needs. that the costs of inefficiency or incapacity in some areas
For example, one parameter in most operating sys- are less than the costs of learning about and maintaining
tems is the number of files that will be maintained on an operating system. The opposite point of view is that if
permanent mass-storage media (e.g. rotating magnetic the operating system needs work that the manufacturer
disks). This parameter is important because space must is not inclined to supply, then work on many marginal
be allocated to catalog all the attributes of each file (such areas may as well be done too. This is usually the policy
as its name and number of records it contains). Since of the larger shops with specialized work loads not en-
these are permanent files, these names must be stored countered by most users of the equipment. Systems pro-
somewhere for ready access by the operating system. gramming, because of the relatively high level of
The point is that some large installations with very large sophistication of the programs, is usually staffed with the
numbers of files will have to allocate much space to store more experienced programmers. For this reason the sys-
filename tables, whereas a small installation will not wish tems programming function often serves as a consulting
to tie up a lot of valuable space for only a small filename function to the applications programming staff, as well as
table. performing the functions mentioned above. Finally, in
Many such installation parameters are set to help some of the largest installations, small systems program-
tailor the operating system to fit a variety of needs. Often, ming staffs are recruited to monitor system performance
however, the operating system, even with all of its param- and establish parameter settings (to assure adequate re-
eters set, still falls short of the installation’s needs. The sponse times and other performance according to pol-
usual case is that it can meet most needs, but meets some icy), but without actually modifying the operating system
critical need only marginally or with low efficiency. For programs themselves. These professionals also install
example, a computing center whose purpose is to run new releases of the manufacturer’s operating system.
applications that simulate nuclear reactors will typically
run a few very long jobs (on the order of hours of running Application System Development Applications pro-
time each) in a day. On the other hand, a programming gramming is concerned with the writing and maintenance
school might run a very large number of very small jobs of programs that accept as input the information supplied
(each taking only a second or two to run). Even with a by-the users and possibly combine it with information on
well-designed operating system, some functions are un- file to produce output for the user. In that context, applica-
likely to be adequate for both installations. In such a case tions programming is at the heart of the purpose of a
the installation management must decide between the computing center: making machines do what people want.
costs of inadequate or inefficient operating system per-
formance in some functional area, and the costs of sys- Data Control, Quality Control, and Scheduling In some
tems programming talent to modify the operating system cases, users will provide their own data, validate and
to meet its specific needs. control it themselves, schedule their use of the machine
This decision is not nearly as simple to make as it to coincide with the availability of the latest data, and
seems on the surface. Since the computer manufacturer check their own reports. In that case, no service of this
provides the operating system with the computer, and sort needs to be offered by the computing center. In other
since such systems are made up of very sophisticated cases, a great deal of data handling prior to the produc-
programs (even for relatively rudimentary systems), they tion run will often be required. Thereafter, if the reporting
are almost never fully debugged. Accordingly, the manu- system is complex, or if many reports are routed to sev-
facturer provides software support (or operating system eral destinations, staff must be provided by the comput-
maintenance) to fix the bugs as they crop up. ing center to handle all those chores.
Since the manufacturer has a support group of sys- For example, in an application where hours worked
tems programmers, this group is the target of many re- are accumulated and posted for a department each week,
quests for improvements and enhancements to parts of somebody has to verify that each person submitted a
the system that perform their published tasks properly. time card. All the time cards must be checked to see that
344 COMPUTING CENTER
employee numbers are correct, that legitimate charge latest file when one is updated, care must be taken in the
numbers were used, and that the hours charged are rea- case of a rerun to update the second-from-latest file. Fur-
sonable. Some of this checking can be done using com- ther care must be taken to destroy the former latest file
puter programs that compare those numbers to sets of so that it will not be confused with the one produced by
numbers on file. But that does not verify that the correct the rerun. For these reasons, several generations of files
numbers were used, only that legitimate numbers (..e. are kept on hand at all times: the latest, the one before
numbers that are permissible to use) were used. Some that (from which the latest was made), the one before
parts of the checking are best done in the department. For that, and so on. Typically, four such copies are kept as
instance, in a department with large fluctuations in per- backup to the latest file, but fewer are kept in applications
sonnel, somebody familiar with everyone present might not prone to error, and more are kept (up to six or eight)
most efficiently check that a time card was collected from on applications subject to high error rates or many up-
each person. dates in a short time period. The shorter the period, the
Keeping track of what has been received and pro- more backups are required. For example, three update
cessed by the computing center can be done only by runs, all in the same shift and all performed by the same
the computing center staff. This service may be divided operator, may be handled incorrectly. If all the backups
into two categories: checking that the center processes were created using the same bad technique, the file would
all the data it receives and checking that it receives all be in danger of being wiped out (destroyed or rendered
the data sent by the using department. Obviously, it will useless for purposes of making an update run).
do little good to check that every person in a department Notice that each time a file is brought up to date (or
submits a time card if the computing center cannot updated), an entirely new copy of the file is made, to which
determine if it got all the time cards. Accordingly, much the new information has been added. At the end of such
of the checking about amounts of data is handled by an update run, the old file is intact, exactly as it was prior
both the user and the computing center. Then, before to the run, and the new copy contains everything from the
a production run is made, the user and computing center preceding file plus all the new material. On the surface,
reconcile their separate control records to be sure there this may seem extravagant, especially when compared to
is agreement. Frequently, for example, in an application manual file maintenance. Imagine the cost to copy an
such as the time-card system, both the center and the entire file of letters every time a new one was added to the
user keep a written record with batch numbers, numbers file! But it would certainly insure that there would be
of time cards, and total hours in each batch. The user adequate copies of the correspendence.
counts the cards and totals the hours manually before In computing, the cost of updating is nearly negligible
sending the time cards to the computing center for by contrast. If the file is kept on tape, for example, a new
processing. Upon receipt of the cards, the computing copy can be made as each record is read, in substantially
center converts the information into machine-readable the same time as that required to simply read the file.
form. Such recording equipment sometimes accumulates Since there are always at least two tape drives available,
record counts and total hours as the data is recorded. the updated tape can contain a copy of the preceding
More commonly, a special computer program is used to generation of the file at essentially zero cost. This tech-
read each batch of time cards, count the number of nique insures against operator, equipment, and program
entries, total the hours, and verify that legitimate num- failure, since it allows for reproducibility of any update
bers are used, etc. Inspection of the counts and totals run. All that is needed to re-create any edition (or genera-
verifies (or contradicts) the manual counts and totals tion) of the file is the previous edition and the new mate-
sent by the user. Once these are reconciled, the pro- rial that was added. Contrast that with the case where the
duction run can be made. new edition is created by reading the old edition up to the
Concern that all the information received is properly end and then adding the new material to the end of the old
processed lies exclusively with the computing center. file, thus making it the new one. Such a practice is not
Typically, when each batch is added to the master file, a reproducible because the “end” of the old information is
report is generated to display the total number of entries no longer identifiable. Accepted practice is to keep
and total number of hours (using again the preceding enough previous generations of files on hand so that any
example) on file at the start of the run, added as a result operator, equipment, or program error can be detected
of the run, and on file at the end of the run. In addition to and corrected (by running the reproducible run that re-
file-labeling and checking by the programs, a manual re- creates the faulty generation), all before either the backup
cord is frequently kept to show counts and totals before or current information is discarded.
and after every run made to add time cards to the file. In Occasionally, of course, errors are not detected in
that way, in the case of reruns, when file-label checking time, especially programming errors that introduce sub-
sometimes needs to be bypassed, files can still be tle errors into the files at each update. In such cases, files
checked for completeness. Curiously, one of the biggest need to be regenerated from scratch. For this reason,
headaches in the data control area is not in making sure current data is often stored for very long periods of times.
that all data has been added to the file, but that it has not Such a practice is called archiving, wherein either the
been added more than once. This occurs most frequently cards themselves, microfilm images, or separate files on
when a file is updated with bad information, requiring a magnetic tape are stored in case it is necessary to go back
rerun. to a version of the file beyond the usual backup period. To
Since the references in all the programs are to the reduce the incidence of having to regenerate a file from
COMPUTING CENTER 345
scratch, sometimes year-end or quarter-end copies are age to hold files for all those jobs being processed, includ-
stored separate from the usual backups. In addition, hard- ing one holding input and output for each job.
copy reports are sometimes used as a starting point in the Some overhead in switching from job to job is re-
case where all file information is destroyed. At any rate, quired, of course, and the operating system must be
even though the data control function is supposed to much more sophisticated if it is to keep track of what
keep these problems from occurring in the first place, it portions of memory are in use and by what jobs (espe-
must be aware of how best to detect and recoup any cially since jobs are finishing and new ones starting all the
foul-ups well before the last good copy of the file is re- time), and what files are in use in what positions and by
tired. what jobs. This arrangement might be referred to as a sort
of simultaneous batch, but it is, in fact, called multipro-
Kinds of Computing Centers Computing centers gramming (more than one program in execution at once).
provide service to a variety of constituents, using a vari- Although computer efficiency is greatly improved, turn-
ety of equipment and personnel configurations. Comput- around is still far from instantaneous. Since there are only
ing workload can be classified into two categories: batch a few input and output devices on such systems, and
and time sharing. Historically, the first general-purpose since it is desirable to have input and output on disk or
computers were batch machines. In that kind of comput- tape whenever possible (so it can be read and written
ing, jobs are processed in serial fashion, one after the faster), a job cannot be a candidate to start until all of it
other. Each job had exclusive use of the computer and all is on disk, nor can its output be started on the printer
its peripheral devices (card reader, printer, magnetic-tape until all of it has been written out to the output file (called
drives, disk drives, etc.) during the timeit was being the output queue). If there were many I/O devices, one
executed. But the batch arrangement made very ineffi- could be associated with each job. Then the execution of
cient use of some resources most of the time. As faster that job could be carried out piecemeal as the input was
computers evolved, ways had to be found to improve the available and as any output could be printed.
efficiency of the computer use. As n&8ted above, the term multiprogramming origi-
One fairly early solution was tape-oriented batch sys- nated to describe the situation in which the central
tems with two computers: The main computer and a memory is shared by many applications at the same
smaller machine. All tape drives in such a system are time, with the central processor alternating attention
wired to the main computer. At least one, and sometimes among them. Thus, with careful scheduling, several
two, of them are also switchable to the smaller machine, applications are perceived as receiving attention from
to which the card reader, punch, and printer are also the central processor simultaneously. When two or more
attached. Input jobs are loaded onto tape by the smaller of the applications being given simultaneous attention
machine from cards. The tape is then rewound and are in communication with (usually remote) users at
switched to the main computer, which is programmed to simple graphical display terminals, we say that the
read that tape for all card input. Another tape drive is system is providing time sharing (q.v.). Some early time-
used by the main machine to write out all output destined sharing applications followed the usual sequence pre-
for the printer and the card punch. After a batch of jobs viously employed in batch processing applications;
has been run, that output tape is rewound and switched namely, the reading of all the input, followed by the
to the smaller machine to be read and listed and/or checking of the input, followed by the processing, and
punched. Using this technique, processing times on the finally the preparation of reports. This sequence lent
main computer are speeded up, because tape can be read itself conveniently to the preparation of exhaustive error
faster than cards, but additional time is required to load reports, for example, that allowed the user to correct
a batch of jobs to tape. Of course, the first job cannot be all of the errors in the data at once. A more convenient
started until the last job is loaded and the tape rewound arrangement quickly emerged, however, in which each
and switched to the main computer. line of input is accepted, checked for errors, and some-
This apparent paradox of a reduction in service (i.e. times partially processed, with error messages and pre-
longer turnaround) with faster processing led to a search liminary output reported as soon as all of the necessary
for a solution that allowed the latter without the penalty components are available. Using this arrangement, the
of the former. A number of schemes were developed, user receives error messages following the input of the
including the use of common disk files and two computers line in which the error occurs. The error may be in
hooked together so that one could stoke the other’s mem- syntax (such as a spelling error or misplaced decimal
ory directly (called, variously, direct-coupled systems and point); or it may be an error in logic (such as the use
attached support processors). These methods preserved of a number that results in an attempted division by
the batch nature of a main machine and improved both zero). The former is referred to as line-by-line syntax
efficiency and turnaround by providing faster transfer of checking; and the latter is referred to as partial compi-
information in and out of the main computer and by lation. In either of these arrangements, the user is said
reducing the waiting time of information in the input and to be “interacting” with the computer (i.e. the computer
output streams. But the main computer efficiency was is examining each line of data, testing, or doing some
still low, and turnaround far from the instantaneous ideal. calculations using the input, and often providing a re-
With a great deal of oversimplification, what was needed sponse); hence, this arrangement is referred to as inter-
was a main computer that had a large enough memory to active or conversational or on-line computing.
hold several jobs, and enough random access mass stor- In so-called computing networks, the equipment that
346 COMPUTING CENTER
is located remotely from the central computer has some, by the business users into much more sophisticated re-
perhaps quite substantial processing capability. This re- cord keeping (involving a greater need for better arithme-
mote equipment is referred to as intelligent or smart; and, tic performance) and an increasing requirement by the
in some cases, the power of the remote devices rivals the engineers and scientists in their applications for large
power of the central or host computer. In these applica- amounts of data, particularly input data. Thus, the dis-
tions, some error checking, for example, or response to tinction between what was known as scientific computing
the user, can be undertaken by the processor at the re- and business data processing has become blurred. The
mote location, and information that has been partially result is that the machines of today need many fast,
processed or summarized can then be transmitted to the reliable peripheral devices with plenty of mass storage
central computer. Since there is processing capability and main computers with large memory capacity and
both at the remote locations and at the central location, sophisticated instruction sets.
this arrangement is referred to as distributed processing
(q.v.). With the advent of moderate- and low-priced, lim- Physical Characteristics Depending on _ the
ited-processing computers, distributed processing has amounts and kinds of services provided, a typical com-
become the dominant processing arrangement of the puting center consists of a computer room (or machine
1990s. room), a data preparation/dispatching area, a file-storage
area, and offices for the personnel arranged in some logi-
Kinds of Computing Center Applications cal manner. The machine room is about a third of the
Early in the history of computing, and until about the space (with wide variations between installations), and
mid-1960s, computers tended to be specialized in the usually has a raised (or false) floor. This floor, usually tiled
kinds of applications they could handle. Some of those with 2 by 2 ft panels, rests on 8-14 inch pedestals above
machines were designed and built to meet the needs of the main slab. Air conditioning and heating ducts force air
business accounting and record keeping. These applica- under these panels, and power and control cables are also
tions require fast, reliable input-output devices of large housed there. The (usually) cooled air and the cables
capacity but with relatively small main memory and unso- come up through holes cut in the panels, often under the
phisticated arithmetic capability. Records are usually pro- equipment modules, thus allowing each module to stand
cessed sequentially one at a time, as when writing free of encumbrance by cabling or ductwork. In large
paychecks for one person after another. In contrast, for systems, chilled-water piping is also housed under the
engineering and scientific problem solving, machines panels and is hooked to the equipment through similar
were developed with an emphasis on their arithmetic holes in the panels.
units rather than on their input-output devices. In fact, The machine room is usually heated and cooled,
since most scientific problems used relatively small using equipment that is separated from all other areas of
amounts of data and produced limited amounts of out- the center. This is done primarily because of the control
put—but required extensive main memory space to store nightmare that is generated by heat produced by the
both the relatively large number of programmed instruc- equipment, and also as a fire safety measure. Even in
tions and all the intermediate numbers in the calcula- moderately cold climates, more heat is produced by the
tion—such machines were normally equipped with the equipment in a computer room than is needed to keep the
slower (and therefore less expensive) input-output de- room at a comfortable temperature. Humidity also must
vices. be regulated much more rigidly for reliable operation of
Until the mid-1960s, the two kinds of machines were the machine than is required for human comfort. Usually,
much more distinct than today’s machines. Scientific ma- the absolute values of temperature and humidity are not
chines were characterized by slow peripheral equipment, nearly as important to regulate as are their fluctuations
large memories, and sophisticated arithmetic instruction and their differences from one side of the machine to the
sets. Their arithmetic instructions often included floating- other. Once set in the human comfort zone, tolerances are
point instructions, a feature almost never required in relatively narrow, and are typically narrower for larger
accounting and record keeping because answers need be machines than for smaller ones. As computers are made
computed only to the nearest cent. Business machines, on faster and their components become smaller, the heat-
the other hand, were characterized by relatively limited dissipation problem stays about the same. The faster
arithmetic power, character rather than word ad- equipment requires narrower tolerances because of the
dressability and substantial I/O capability. increasing importance of timing electronic speeds in con-
Accordingly, computing centers tended to be divided ductors at certain temperatures; the smaller components
along the same lines. Programming and operating staff produce less heat and require shorter wires to connect
who understood the need of business users for fast reli- them, but this does not mitigate the problem.
able access to large files of information were required for The data preparation/dispatching area varies from a
the commercial or data processing centers; and techni- front counter in the input-output clerk’s office, in a small
cally trained programming staff who could converse with installation, to several rooms in a large organization for
and understand the requirements of engineers and scien- input preparation of data, file checking, and scheduling of
tists were required for the scientific and university cen- input; and for rows, bins, and counters for dispatching
ters. In recent years, however, an increasing need by output, checking updated files, and preparing the files for
scientists and engineers for exceptional amounts of very storage. The file-storage area is usually separated from
high speed calculations has coincided with the expansion the machine room, for security and fire protection, but is
CONCATENATION 347
close to the equipment with which it is used (tape storage sizes). In the case of pricing based on service, this job
near the tape drives; disk-pack storage near disk drives, should cost less because the turnaround time is worse.
etc.). Computing centers that are service centers (as op-
posed to profit centers) price their services on the basis
of either service or cost. Few of the special arguments
Pricing Pricing of computing services in the early days that apply to computing are not applicable to many other
of computing was a relatively easy task. Each job required services within a corporate, university, or government
exclusive use of the entire main processor and all periph- environment. When all is said and done, the processing
eral equipment for a certain length of time. Virtually every that can be handled most profitably by the computer is
job ran in exactly the same length of time if rerun with the what ought to be processed. For example, if the service
same data. Managers simply divided total costs plus mar- center that is newly installed must recover all costs from
gin for a period by the number of production hours they services rendered, it would have a high rate and an under-
could expect to run the machine during that period. This utilized system. The well-heeled departments could use
calculation produced a rate in dollars per hour of running its services, but those not so well off (and who might be
time, one that appeared fair to the user because it was able to use the machine more profitably) could not afford
reproducible; running time could be controlled by vary- the rates. The computer would be standing idle part of the
ing the amount of data submitted and by specifying (or time, and departments (which could use it to produce
writing) programs that were more or less efficient in considerably more return than the incremental cost to
processing those amounts of data. Program and system have it running) would be doing without it. On the other
development could also be fairly easily priced in dollars hand, a computing center whose costs are fully absorbed
per person-hour for various levels of talént. Until the into overhead, will be processing the unpopular chores
advent of time sharing and multiprogramming, pricing for user departments (not necessarily the profitable
was one aspect of computing that was a fairly conven- ones). Since the users cannot control the costs of comput-
tional procedure. ing, they might as well have the computing center do
When time sharing and multiprogramming became whatever work the using department would like to farm
available, however, the user could expect that any mem- out. As in any service, either pricing method has its
ory not needed by the program might reasonably be sold drawbacks. The problem is further complicated by the
to another customer. The problem in multiprogramming difficulty in allocating costs in multiprogrammed and
arrangements is complicated by the fact that many mea- time-sharing systems. The services are a little easier to
sures of usage are not reproducible. For example, if a job identify, but much harder to price. All things considered,
writes a disk file, in some multiprogrammed systems the computing center pricing presents about the same prob-
file may be written in either a large number of small blocks lem as that of any centralized service.
or a smaller number of large blocks, depending on how
CHESTER L. MEEK
busy the system is (how much space is available for
accumulation of large blocks, and how busy the disk
storage device is). Therefore, as a result of the variability
in the size of blocks that are accumulated before writing,
the job can use a variable amount of computing time
CONCATENATION
between writing each block. This, in turn, determines the Concatenation (or, sometimes, catenation) is an oper-
amount of time the job spends taking up memory. The job ation wherein a number of conceptually related compo-
may run in, say, 1 minute on an otherwise empty machine, nents are linked together to form a larger, organizationally
and use 3 seconds of processor time during that minute similar entity.
(the rest being taken up by the writing out of the informa- In the context of string processing (q.v.), concatena-
tion on the disk file). tion refers specifically to the synthesis of longer character
In a busy machine two effects are noticeable: There strings from shorter ones. In more recent implementations
is less space for large blocks, so more time is spent of Fortran, for example, string concatenation is indicated
writing a larger number of the smaller blocks; and the by a double slash (//) so that if W1 = CON’, W2 = ’CAT’,
processor does not switch back to a particular job with and W3 = ‘ION’, then W4 = W1//W2//’ENAT’//W3 is the title
any predictable regularity, since there is virtually no way of this article. Turbo Pascal and Basic use plus (+) for the
to control whatever other jobs are running concurrently. concatenation operator, APL uses a comma (,), and SNO-
The effect of both is to extend the amount of time that the BOL4 uses a blank.
job spends in main memory to perhaps 5 or 10 minutes. It Some high-level languages support string concatena-
still requires the same 3 seconds of processor time (be- tion by providing a library function. For instance, in the C
cause it still does exactly the steps it did before), but now programming language, if S1 refers to a string variable
they are spread over, say, 5 minutes. That is five times as having the value ’CAMP’, then strcat (Gl, ’SITE’) pro-
long as it would take on an otherwise idle machine. In the duces the value CAMPSITE’ for string S1.
case of pricing based on usage, this job should cost more Concatenation also refers to a specific technique in
when run on a busy machine (because it ties up memory defining macroinstructions (q.v.), where a designated sym-
and disk-file space longer, requires more overhead to bol may represent a character string consisting of fixed
write more blocks, and uses more overhead because it and variable segments. When such a macroinstruction is
uses the processor more often, due to the reduced block used in a program, a specified string constant is concate-
348 CONCURRENCY CONTROL
nated with the symbol’s fixed portion during the generalization of a lock is a semaphore. A semaphore, S, is
macroexpansion process to form a complete syntactic a non-negative integer on which two atomic actions are
component. (See MACHINE AND ASSEMBLY LANGUAGE PROGRAM- defined:
MING.)
In the context of file processing, concatenation refers
to the creation of a single, large (conceptual) file by link- [Obtain Lock] P(S): if (S = 0) then <failure>
ing together several smaller ones. The resulting collection else S = S — 1 ;/*success*/
can be processed as a single entity without relinquishing [Release Lock] V(S):S =S + 1;
the identities of its components.
If, to begin with, every item has an associated S = 1,
SEYMOUR V. POLLACK AND THEODOR D. STERLING then each semaphore S becomes an exclusive lock. When
the item is locked, S is 0. When there is a pool of N similar
resources, the entire pool is assigned a simple semaphore
with, initially, S=N. Every time a resource from the pool is
CONCURRENCY CONTROL requested and obtained, S is decremented. Every time a
resource is released back into the pool, S is incremented.
For articles on related subjects see CONCURRENT PROGRAM-
MING; DATA SECURITY; DATABASE MANAGEMENT SYSTEM; and Thus, S maintains a count of the number of available units
MULTITASKING. of the resource in the pool.
Consider the following situation: transaction A re-
Whenever two or more system processes coexist, quests resource P and obtains a lock on it, while transac-
there is a potential for mutual interaction. The manage- tion B requests resource Q and obtains a lock on it. Now
ment of such interaction is called concurrency control. In transaction A requests resource Q and transaction B re-
database management systems (q.v.), the units over quests resource P. Both transactions have their requests
which such control is exercised are known as transactions. denied on account of the other. Both transactions then
A transaction is a set of actions of which either all com- wait for their respective requests to be granted. Both wait
plete execution successfully or none do. For example, if forever, a situation called deadlock. Sometimes it is possi-
money is moved from one bank account to another at a ble to prescribe an order in which transactions request
teller machine, the withdrawal from one account and the resources, making it impossible for a deadlock to occur.
deposit in the other account are both part of one and the More commonly, deadlocks must be detected when they
same transaction, guaranteeing that it is never the case arise, and must be resolved by aborting one of the trans-
that money has been withdrawn from one account but not actions involved. Usually, there is a choice of transactions
deposited in the other. This concept of a transaction is that can be aborted to correct the deadlock. For instance,
now being adopted in other areas of computer science as in the example above, if either transaction is aborted, the
well, such as in operating systems. other can proceed. Which transaction to choose is a
The standard notion used for concurrency control is decision that depends on such factors as how time-criti-
serializability. The idea is that, even though multiple cal the transactions are and how much work they have
transactions could be executing concurrently, it should done until now. If transactions usually do not have to wait
be possible to define a serial ordering of the transactions very long for a resource, then, rather than trying to detect
that would have exactly the same effect in terms of the deadlock, a simple “time-out” mechanism may be used. In
values recorded in the database and the results produced general, however, a “wait-for” graph is constructed, with
by the transactions. For example, suppose transaction A a node corresponding to each transaction and an edge
writes a record into a buffer and transaction B reads from from node A to node B if and only if transaction A is
the buffer: irrespective of when transaction B reads, it waiting for a resource currently locked by transaction B.
must either find the entire record written by A (B is A deadlock occurs whenever this “wait-for” graph devel-
serialized after A), or must find none of it (B is serialized ops a cycle. The deadlock is resolved by deleting a trans-
before A). It must never find part of the record. action that corresponds to one of the nodes in the cycle.
A popular way of enforcing serializability is to use Thus far, we have used the term “resource” or “data
two-phase locking. When a transaction wishes to access a item” freely, without specifying exactly what it is; indeed,
resource, it places a “lock” on it. When it is done, it exactly what it is can depend on the particular system. We
releases the lock. In two-phase locking, the requirement is could be referring to a “large” resource like an entire
that each transaction obtain all the locks it needs before relation in a database or a buffer in memory, or we could
it releases any locks, thus having two phases to its execu- be referring to a “small” resource, such as an individual
tion: one in which it obtains locks, and another in which word of data. The larger the granularity used, the greater
it releases locks. If a resource required by a transaction is the loss of concurrency due to transactions being locked
locked by someone else, the transaction waits until the out. On the other hand, the smaller the granularity, the
lock becomes available. greater the overhead (both in terms of storage and in
There are many refinements of the above scheme. For terms of effort) to store, obtain, and release locks. An
example, a transaction that is reading a data item can appropriate trade-off is required. Some systems permit
“share” a lock on this data item with other transactions the granularity of the lock to be adjusted dynamically,
that also wish to read the item. An “exclusive” lock is adapting to current system conditions and the access
required only if a data item is to be written. Another pattern of a transaction. With a view to increasing con-
CONCURRENT PROGRAMMING 349
currency, weaker notions than serializability to ensure how they interact. However, anyone who implements a
correctness have been proposed for concurrency con- parallel application in a sequential language must write
trol, especially in applications where transactions can be code to simulate these concurrent facilities. The amount
of long duration. of work required to do this is non-trivial, and it requires
knowledge of the hardware, the operating system, and the
Reference interprocessor communication facilities. Moreover, the
code is likely to be difficult to port to different computer
1987. Bernstein, P. A. Hadzilacos, V. and Goodman, N. Concurrency
systems.
Control and Recovery in Database Systems. Reading, MA: Addi-
son-Wesley. To give the flavor of a concurrent programming lan-
guage, we briefly describe Concurrent C [Gehani and
H. JAGADISH Roome 1989], give a summary of its facilities, and show a
game-playing program written in Concurrent C.
File: bettor.h
File: bet-main.cc
process spec bettor(int first, int limit)
{ #Hinclude “bettor.h”
trans void playwith(process bettor player);
##tdefine BETTING_LMT 1000
trans void placebet(int bet); #tdefine FIRST_PLAYER 0
}; main()
The bettor processes are created with two parame- {
ters: the first specifies whether or not the process repre- process bettor a, b;
sents the first player, and the second specifies the player’s srand(time(0)); /* set seed for rand() */
betting limit. Each bet tor process has two synchronous a=create bettor(FIRST_PLAYER==0,BETTING
transactions: p] aywithand p]acebet. The first transac- eUMiIDEs
tion informs the bettor process of its opponent and the b=create bettor (FIRST_PLAYER==1,BETTING
second transaction, p]acebet, is used by the opponent JLMT)
to place a bet: a.playwith(b); b.playwith(a);
Here is the body of the bettor process: }
References
CONFERENCING, COMPUTER. See
1986. Stroustrup, B. The C++ Programming Language. Reading, COMPUTER CONFERENCING.
MA: Addison-Wesley.
1978. Hoare, C. A. R. Communicating Sequential Processes. CACM,
21, 8 (August), pp. 666-677.
1989. Gehani, N. H. and Roome, W. D. Concurrent C. Summit, NJ: CONSTANT
Silicon Press.
A constant is a value that remains unchanged during
a computation. Various types of constants are discussed
NARAIN H. GEHANI in this article—numerical, character, logical, location,
and figurative (symbolic) constants. While the reference
to an item of information is usually given in terms of its
location or address, it is more convenient to refer to
constants by their values, since these are intrinsically
meaningful in an algorithm. Consequently, high-level lan-
CONDITIONING guages allow the inclusion of actual values, specified di-
For an article on a related subject see DATA COMMUNICA- rectly in the program, rather than being read in.
TIONS: PRINCIPLES. The spectrum of items that may be expressed as
direct literal values transcends the numbers traditionally
Conditioning is the term used to describe the im- associated with the mathematical idea of a “constant.”
provements made in the signaling characteristics of Some of these serve as data items, while others may
provide operational information for the program.
leased telephone lines over those in the normal switched
telephone network. When a telephone connection is
leased, certain restrictions on the frequencies that can Numerical Constants Specification of numerical
be transmitted over the switched network because of constants closely follows conventional forms. Thus, the
attenuation and related problems no longer apply. Since constants in the familiar distance formula
a leased line uses the same path continually, special
S=v,t+0.5at?
equalizing filters insure that its attenuation and related
parameters have characteristics much closer to ideal require no special form in equivalent high-level langauge
square waves that can be guaranteed for switched statements:
connections. Standards are published of the character-
istics that a telephone company guarantees for lines (Fortran) S = VO#t + 0.5*axt**«2
that have been conditioned to variously different de (Pascal) S:= VOxt + 0.5*a*t+t
grees (for which there is an extra charge). In such (C) S = VO«t + 0.5*axtxt;
leased lines, it is also usual to have two pairs of
connections to the nearest exchange (a so-called four- A number of languages also recognize a form of sci-
wire line) so that the full bandwidth (q.v.) can be used entific notation for numerical constants. For instance, in
simultaneously in the two directions. Over the inter- languages like Basic, Fortran, Pascal, and C, the constant
exchange links, the conversations always go on different 0.00000513 can be expressed alternatively as 5.13E-6,
channels, but, between the local exchange and the 0.513E-5, or even 51.3E-7.
subscriber, the two directions of conversation share a The foregoing numerical constants (reasonably) as-
normal switched telephone line. sume an underlying base of 10. Many languages provide
Although the conditioning of a leased telephone line ways to specify other bases (2, 8, and 16) useful in com-
will considerably improve its characteristics, there will puter work. For instance, the C language recognizes
be time variations in the characteristics of the line. For OX3CF6 as the hexadecimal (base 16) integer 3CF6.
this reason, the modems (g.v.) in high-performance data
transmission systems will themselves add a further Character String Constants. Many langauges rec-
(variable) amount to equalization by use of adaptive ognize character string constants, distinguishing them
digital filters. These currently enable switched telephone from symbolic names through the use of special delimi-
lines to be used with analog transmission at up to 9.6K ters (g.v.). The most popular delimiter is the single quote
bits per second (bps) and leased telephone lines at up mark (’ ). (The double quote mark, “, is often used as an
to 19.2K bps. It is increasingly common to use digital alternative.) Thus, BELT’ or “BELT” refers to the four char-
transmission to achieve 64K bps over unconditioned acters B, E, L, and T, distinct from some item named BELT.
telephone lines. This should be possible over most local Note that the apostrophes are not part of the string; they
telephone lines as part of the Integrated Services Digital merely define its extent. Inclusion of an apostropheas part
Network (ISDN - g.v.). The use of digital filters, with the of a string is handled by specifying two apostrophes. For
powerful arithmetic facilities of microprocessors, allows instance, CAN”T’ specifies the five characters C, A,N, ’,T,
rapid compensation for differing transmission channel and’ ”TIS’ specifies the four characters ’,T,1,S.
characteristics.
Logical (or Boolean) Constants Many lan-
PETER T. KIRSTEIN guages offer facilities for describing and manipulating
352 CONTENTION
processes whose outcomes are either “true” or “false.” type peach, thereby empowering it to take on one of the
When such support is available, the programmer can five legitimate values. Accordingly, dessert can now re-
define logical (boolean) variables and use them in con- ceive a value via normal assignment, e.g.
junction with appropriate operators to form logical (bool-
dessert := redhaven
ean) expressions. As part of this support, these languages
recognize the two logical constants (.TRUE. and .FALSE. in Internal representation of such arbitrary constants is a
Fortran, true and false in Pascal, 1 and 0 in C). Thus, for separate issue from which the programmer is insulated.
instance, the following Pascal statements As far as he or she is concerned, the peach data type has
five values defined such that
var
switch : boolean; cling < stark < elberta < redhaven < mushchik
eee eee ee
switch := true
References
declare a variable named switch, and assign to it a (con-
1969. Sammet, J. Programming Languages: History and Fundamen-
stant) value of true.
tals. Englewood Cliffs, NJ: Prentice Hall (see especially Section
11.4).
Figurative (Symbolic) Constants There are spe- 1985. Jensen, K. and Wirth, N. Pascal User Manual and Report,
cial types of constants that represent fixed values that Revised Edition. Berlin: Springer-Verlag.
are unlike previously discussed types in that they are
not designated by their literal values. Instead, they are SEYMOUR V. POLLACK
identified by names intended to convey the constants’
meanings. Such figurative or symbolic constants may be
permanent parts of a particular high-level language, or
they may be defined for a specific program. Examples
of the former are seen in the Cobol language, in which
a value of zero has the preassigned names of ZERO, CONTENT-ADDRESSABLE
ZEROS, or ZEROES. Similarly, maxint in the Pascal lan- MEMORY. See Associative Memory.
guage refers to the largest expressible integer value on
the particular computer being used. In addition, many
high-level languages support the use of programmer-de-
fined symbolic constants. For instance, the PARAMETER CONTENTION
statement, available in Fortran beginning with the For-
tran 77 version, enables the programmer to establish a For articles on related subjects see COMMUNICATIONS AND
fixed association between a name and a particular data COMPUTERS; CONCURRENCY CONTROL; LOCKOUT; MULTIPROCESS-
value. To illustrate, the statement ING; MULTIPROGRAMMING; and MULTITASKING.
CONTROL APPLICATIONS
For articles on related subjects see ANALOG-TO-DIGITAL AND CONTROL
DIGITAL-TO-ANALOG CONVERTERS; AUTOMATION; COMPUTER-INTE-
GRATED MANUFACTURING; CYBERNETICS; EMBEDDED SYSTEM; Ro-
SYSTEM
nACUVZ—
BOTICS; and SIMULATION. n”xACVHC
SYSTEM
n+
CUZ.
CVHAC
AHA
OHABTOHAPFPAPUVEON AxdXSmMeEemrem
FEEDBACK OF OUTPUTS
LOAD
THROTTLE AUTOMOBILE
SETTING SPEED
TRANSMISSION
Note the important components of this system: the When we introduce a human driver into the system
inputs, the outputs, the comparators that determine the to adjust the gas pedal, we create a closed-loop system.
error from the difference between the inputs and outputs, Here the person plays the multi-part role of output sensor
the output sensing elements, and the feedback loop to the (measuring the change in speed and noting the approach
comparators. This diagram shows that the controlled sys- to a hill), the feedback loop, the comparator, and the
tem may have several inputs and outputs. The task re- actuator to adjust the gas pedal. The driver will note both
mains the same: the correct output is maintained by the hill and the start of the slowing process and can
driving the error to zero. depress the accelerator pedal further to maintain the
desired speed.
Applications We encounter many open-loop systems A number of years ago the automobile industry intro-
in everyday life. As the need for improved system perfor- duced automatic constant-speed control systems (“cruise
mance rises and the cost of microprocessors and micro- control”). These systems relieve the driver of one of these
computers decrease, it is possible to take greater tasks: maintaining constant speed. Such a system allows
advantage of closed-loop control systems. In environmen- the driver to bring the automobile to the desired speed, A
tal and safety contexts, the impetus for improvement is the set point, by pressing a button. The car’s actual speed,
driven by state and federal laws. Further, there has been S,, is measured by a sensor. The error is the difference
a growth in the number of devices whose operational between the two and becomes the measure for deciding
performance can be achieved only with closed-loop con- how to manipulate the accelerator pedal to maintain the
trol systems. Current systems for the control of automo- desired speed. This closed-loop system is sensitive only to
tive emissions and to achieve gasoline economy are the actual speed of the car and is unable to anticipate a hill
commonly seen examples. a mile ahead or another vehicle yards ahead. Therefore,
Two different approaches to controlling the speed means are provided to disengage the automatic speed con-
of an automobile serve to illustrate the distinction be- trol via a button or by depressing the brake pedal. On the
tween open-loop and closed-loop systems. Years ago other hand, if the driver wishes to accelerate for any rea-
there were hand throttles on automobiles. Setting the son, a temporary adjustment of the gas pedal is permitted
throttle on a level highway would result in a constant and the control system will resume its original setting
speed. The automobile would be running open loop (see when the driver “gets out of the loop.” The closed-loop
Fig. 3a). As one encountered a hill, the load on the version of this automobile speed control system is shown
engine would increase. Since the system had no capa- in Fig. 3b.
bility to anticipate the extra load that the hill presented, Early versions of automobile speed control systems
the car would slow down. were a combination of electromechanical gadgetry. The
SET SPEED
“process” control. The lower cost and high speed of this value of a given parameter in a chemical tank is always
type of controller found an existing, responsive market. maintained at a set point (see Fig. 5).
Numerous manufacturing processes were in place. In ad- The particular set point may have been determined
dition, many new regulations were being imposed upon by any one of a variety of reasons (e.g. the need for a
industries to reduce the adverse impacts of industrial particular mixture in the tank, a level in the tank, or a
processes on the environment. At the same time, compet- chemical concentration in the tank). We are controlling an
itive pressures were forcing these same processes to re- output parameter, as previously described. Again, the
duce costs while maintaining sufficient profit margins. difference between the set point value and the sensor,
The microcomputer provided a solution for these called the error signal, is passed to the control algorithm.
complex requirements. It was not difficult to find suffi- The microcomputer-based controller accommodates an
cient cost savings through a better-control of the process algorithm that can either perform a calculation or a table
itself to easily cost-justify the application of digital con- look-up. It establishes the required signal level that must
trol on all or parts of the process. Thus, process control, be sent to the flow valve to change the flow rate. This new
especially in those applications involving large quanti- flow rate adjusts the liquid level in the tank if a certain
ties, propelled the digital controller to its present cost- pressure head or specified level is needed, or it adds more
effective performance level. These applications are of compound A if the mixture needs to be adjusted, or it
typically found in those industries that have developed adds more of chemical B if the concentration of that
processes to produce chemicals, steel, aluminum, plas- chemical needs to be adjusted, etc. At this point the set
tics, food, beverages, petrochemicals, water, etc. These point has been reached (i.e. the process has been “con-
applications tend to be concerned with the automatic trolled”).
control of chemical, mechanical, and energy systems. This previous description is called a “control loop.”
The digital control systems are generally expected to In process control applications it is not unusual to have
achieve the necessary performance goals as well as numerous control loops operating at one time and inter-
adjust or compensate for inherent disturbances within acting with each other. This, of course, is a dynamic
the process or accommodate variations due to the input interaction. It is the microcomputer based controller,
of additional material. Digital controllers are used to with its cost advantage, that now allows the control engi-
monitor, adjust, and hold the operational level of indi- neer to address the dynamics of complex process control
vidual systems within the process as well as the overall effectively.
process. Finally, an ever-increasing reason for using The overall process tends to drive the system away
digital controllers in this application is the optimization from the set point, and the controller tends to drive the
of the overall process itself. system fo the set point. The rate at which this happens
To illustrate these objectives, consider a digital con- and the changes in the system around the set point is an
troller that sets the position on a flow valve such that the important design parameter. The control engineer must
CONTROLLER
SET POINT
NEXT PROCESS
a Saas
FLOW
B CONTROLLER
FLOW
VALVE
9) er
sensor
FLOW
FLOW
VALVE
FIG. 5. Chemical tank.
CONTROL APPLICATIONS 357
design for this dynamic in the selection of the computer process condition,” or an “emergency shutdown condi-
for the digital controller, the control methods that will be tion.” The control algorithm senses all inputs to the con-
used, and the algorithms that must be written. troller, continuously testing this signal, and, upon sensing
A block diagram of one system in an overall process a change in one of the inputs, it may exit from the main
can best demonstrate the interaction between the vari- control loop and go into a loop written for the above
ous elements in the process and the digital controller, conditions. In the simplest scenario it would shut off the
(see Fig. 6). Note the interaction and information flowing flow, turn on a light indicating a “standby” mode, and send
from neighboring systems. The process shown is for a a signal indicating the same to other controllers in the
chemical tank that has two inputs and one output. The process.
level of activity in the tank is a function of its inputs and During the normal operational mode, flow leaves the
its output. This tank is just part of the overall process. tank, which in turn forces the controller to make appro-
The output from the tank may be metered by another priate adjustments. A secondary but equally important
control system. The second input may also be metered by activity occurs when the flow from the second input into
another and different control system. It is expected that the tank may start, stop, and/or change. As in the normal
the digital control system on the tank will maintain the operation, the tank sensor would react to this new change
tank contents at the proper level/state/activity/etc. The in tank properties and produce an error signal. The con-
second input into the tank was chosen to illustrate an troller would take the proper action to bring that error
additional aspect that must be handled by a control sys- signal to zero, bringing the system back to the set point.
tem. This input introduces a disturbance or variance into Again, the process is controlled.
the system. This second flow is not metered by the con- With the advent of the microprocessor and (hence
troller; rather, this flow may be introduced into the tank the microcomputer), digital control systems are now the
at any time. The control system, or more particularly the norm. If the microprocessor is powerful enough in terms
control loop, must be able to compensate for this almost of its instruction set and its execution speed, it may be
random event. (In effect this is another reason why a able to handle numerous functions, including more than
control system has been placed on this tank.) one control loop. (It is this speed that allows one to use
The flow valve increases or decreases the flow into the computer in the controller for a variety of purposes
the tank. This action is in the direction to reduce the error other that servicing the control loops. In the past it was
signal. Once the error signal is zero, the tank conditions this aspect that helped justify the use of digital control-
have reached the set point and the flow will stop or be lers over conventional analog controllers when the latter
maintained in a steady state condition. (It is possible that had a cost advantage.) The computer measures input
the set point represent a condition of a continuous steady signals, computes error signals, performs ‘computations,
flow into the tank. In this case the controller is modulating services the control loops, senses and services external
the flow around this steady state flow value.) inputs, etc. In effect, the computer’s time is shared among
Further, a condition of no flow may be one of several these various functions.
special cases in the sense that the controller receives a The time between servicing of all these operations
signal from other systems in the overall process that is referred to as the sampling time. Inexpensive micro-
could represent a “starting-the-process condition,” a processors are leading the control engineer in the
“shutting-down-the-process condition,” a “service-the- direction of being able to use a single digital computer
CONTROL VALVE
ALGORITHM POSITIONER
Digital Controller
per control loop. That single digital computer will be In 1958, the company began to grow through acquisi-
servicing all outputs and all inputs, as well as performing tion. It acquired Cedar Engineering, which manufactured
any necessary computations. It still, however, is time- peripheral equipment for computers. Cedar Engineering
sharing various functions before it will again service eventually grew into Imprimis Technology, Inc., the larg-
that same function; hence, the sampling time becomes est supplier of high-performance data storage products
an important design consideration. The question to be for the original equipment manufacturers (OEM - q.v.)
asked is whether or not a given analog signal into the market..
computer (e.g. the feedback signal from the tank sensor) At about the time Control Data began marketing pe-
will change significantly between sample periods. If we ripheral products, it also moved into data services. There
expand this description to encompass all of the com- were many companies with the technical sophistication
ponents, all of the digital controllers, all of the control to use powerful computers, but at the time, only the
loops, etc., in the overall process, we will start address- largest and most prosperous could afford to invest in the
ing a current issue in process control applications: the computers Control Data offered or to keep that equip-
need for “distributed” control (Oshman, 1991). This now ment busy enough to make it cost-effective. In his words,
includes not only the digital computers in each con- Mr. Norris decided to “sell a little piece of a big computer
trolled process, but also a network tying all of these at a time.”
computers and control systems together, providing the Control Data’s involvement in computer-based ser-
basis for the beginnings of a study of process control vices expanded in 1967 when it acquired the Arbitron
optimization. Company as part of CEIR, a software company. CEIR is no
longer in business, but Arbitron has been a major finan-
References cial contributor to Control Data for many years.
Rapid growth began to strain Control Data’s limited
1988. Bollinger, J. G. and Duffie, N. A.Computer Control of Machines
resources. In addition, many computer systems were
and Processes. Reading, MA: Addison-Wesley.
leased rather than sold outright, and the debt that was
1989. Astrom, K. J. and Wittenmark, B. Adaptive Control. Reading,
MA: Addison-Wesley. incurred to finance lease buildup had an unfavorable
1989. Dorf, R. C. Modern Control Systems, 5th Ed., Reading, MA: impact on the Company’s balance sheet. Control Data
Addison-Wesley. determined that a possible solution to both problems was
1990. Franklin, G. F, Powell, J. D., and Workman, M. L. Digital the acquisition of a finance company. The Commercial
Control of Dynamic Systems. 2nd Ed., Reading, MA: Addison- Credit Company of Baltimore made overtures to which
Wesley. Control Data responded affirmatively, and Commercial
1990. Ogata, K. Modern Control Engineering. Englewood Cliffs, NJ: Credit became a wholly-owned subsidiary of Control Data
Prentice-Hall.
in 1968.
1990. Phillips, C. L. and Nagle, H. T. Digital Control Systems Analysis
and Design. Englewood Cliffs, NJ: Prentice-Hall.
In 1968, Control] Data filed an antitrust suit against
1991. Kuo, B. Automatic Control Systems. Englewood Cliffs, NJ: IBM that was ultimately successful. As part of the settle-
Prentice-Hall. ment, Control Data acquired the Service Bureau Company
1991. Oshman, K. “Distributed Control,” Computer Design, (July), from IBM. This organization was the forerunner of a num-
23-25. ber of successful Control Data businesses, the largest of
which is Business Management Services, a major provider
DONALD B. GEISTER AND BERTRAM HERZOG of payroll processing, tax filing, and other business ad-
ministration services. The acquisition of the Service Bu-
reau Company doubled the size of Control Data’s service
CONTROL DATA CORPORATION business, broadened its markets, and brought to the Com-
pany a first-rate management staff.
(CDC) COMPUTERS In 1967, Control Data began to found and promote
businesses in which computers were used to provide
For articles on related subjects see DiGITAL COMPUTERS:
education, training, and better management services to
HISTORY; and ENTREPRENEURS.
the disadvantaged. The largest of these businesses in-
volved computer-based education, job creation, and new
History Control Data Corporation (CDC) opened for business incubation. By the early 1980s, Control Data was
business in 1957 when co-founder William C. Norris and a perhaps best known by many people for these small busi-
handful of colleagues began to occupy rented warehouse nesses, even though computers and peripheral equip-
space in St. Paul, Minnesota. The corporation was the first ment accounted for the largest share of the Company's
computer company to be publicly financed. Initial capital- revenues.
ization was accomplished through the sale of 600,000 The computer industry underwent significant change
shares of common stock priced at $1 per share. in the early 1980s, due principally to intense competition
Mr. Norris and the associates who followed him from from the Japanese and small start-up companies in the
Sperry-Rand set out to design and build the most powerful United States, as well as the advent of the microcomputer.
computer in the world. After the release of the 1604 com- Some of Control Data’s competitors reacted to these
puter in 1958 and the introduction of two more computers changes more quickly than it did and, as a result, the
by 1960, Control Data became firmly established in scien- Company’s performance fell off sharply and it began to
tific computing. experience serious liquidity problems. It became clear
CONTROL DATA CORPORATION (CDC) COMPUTERS 359
that Control Data had become far too diverse and that it
needed to focus much more narrowly if it was to prosper
again.
Refocusing became the primary task of Robert M.
Price, who succeeded Mr. Norris as chairman and chief
executive officer in January 1986. When a successful pub-
lic debt offering removed the most immediate pressure on
the company in mid-1986, the sale of non-strategic and
non-performing assets began. The Company had deter-
mined that it would concentrate on the computer busi-
ness, so in late 1986 Commercial Credit was spun off as a
publicly-owned company. Control Data initially retained a
minority interest, but sold that to Commercial Credit a
year later.
Several small businesses were sold in 1987 and 1988.
In early 1989, Control Data decided to narrow its focus
even further, concentrating on data services and data
systems. Subsequently, Control Data has sold Imprimis
(its data storage products subsidiary), closed its super-
computer operation (ETA Systems), streamlined its main-
frame business, and shed its training and education
businesses and several other operations. FIG. 1. Control Data CYBER 960.
Today, Control Data is a data solutions company. Its
businesses integrate hardware and software compo-
nents, to meet complex customer needs. Its Computer els are binary-compatible and run Control Data’s version
Products Group is the largest of Control Data’s busi- of the Unix operating system (q.v.). The 4000 series offers
nesses. single-processor performance up to 55 MIPS for technical
Control Data Corporation’s Computer Products and commercial computing. The high-end Control Data
Group supplies computer systems and services for engi- 4680 system uses the MIPS Computer Systems R6000 CPU
neering, scientific, and other technical markets. The chip tightly coupled to a floating-point unit. Multiple inde-
group has a worldwide presence in the automotive and pendent VME buses provide a cumulative 200-MB-per-
aerospace industries, government, and higher education. second I/O bandwidth that can support hundreds of users
There are 1,400 customers around the world, with 1,500 simultaneously.
mainframes and more than 2,000 workstations installed. Control Data 4380, 4360, and 4340 models offer per-
The group’s mission is to provide high-performance formance of 18 to 20 equivalent VAX MIPS. The 4000 series
computer solutions for engineers and scientists and to models, based on VLSI semiconductor technology, offer
manage large and complex databases and distributed robust optimizing compilers, a tuned Unix port, and a
communications networks supported by task-specific wide range of third-party application software.
supercomputers, super-minicomputers, and work-
stations.
Workstations and Workstation Servers In high-end
workstations (q.v.), Control] Data offers a broad range of
CDC Computers compatible workstations and powerful graphics and nu-
meric-intensive computing capabilities.
Mainframes Control Data manufactures high-perfor- The CYBER 910-400 series (Fig. 2) provides real-time
mance mainframes that offer a balance of high input/out- three-dimensional graphics performance. The CYBER
put speed and capacity, very high central processor 910-600 and -700 series offer extremely high processing
performance, real- and virtual-memory (q.v.) capacity, power and graphics performance for users who need
disk capacity, and transfer rates. At the high end of its line exceptional computing power at the deskside. They pro-
are the CYBER 2000 supermainframe and the CYBER 990 duce computer visualizations that appear as realistic as
mainframe, both of which offer vector processing. In the photographs. The 700 series has a graphics architecture
midrange, Control Data offers the CYBER 960 series (Fig. that unifies geometric processing with high-speed image
1) and entry-level CYBER 930 series. All four mainframe processing (g.v.) in order to enhance its visualization ca-
series include single- and symmetrical dual-processor pability.
models. Control Data also offers CYBER 920 systems, a series
of Unix-based network servers designed to provide file
Departmental Computers Control Data 4000 depart- servers (q.v.) for workstations. CYBER 920 systems func-
mental computers are built upon reduced instruction set tion in multivendor networks, enabling users to distribute
computer (RISC) architecture (g.v.). They use systems their computation workloads, consolidate file storage,
software and networking components that comply with and share peripheral resources. There are single- and
open systems standards. The four Control Data 4000 mod- multiprocessor models. The CYBER 920 is optimized for
360 CONTROL DATA CORPORATION (CDC) COMPUTERS
knowing where that data resides, and they can ask ities for specifying such control. A simple and funda-
for information in natural language. For example, an mental, yet powerful and “complete,” set of execution
engineering manager can ask for “design drawings,” control facilities consists of the ability to (1) insert a
instead of using database terminology. EDL also lets label { L) at any point in the program, for identification
customers manage approvals, audit trails, security of that location:
checks, user profiles, application processes, and
network access and control. <>»
HE
(programming) tends to be significantly easier, and
more reliable, if these control structures are used for
most execution control, with gotos being used only in
those occasional instances where the needed control
has some unusual pattern.
case
( X)
{ V1) then(
$1 )
{ V2) then(
S2)
loop
(S)
endloop
often-encountered looping control patterns, however, it is control at the bottom of the loop rather than at the top
convenient to be able to include, in the loop header, (repeat - until).
specification of the loop control. This usually makes writ- Loop structures may be nested, and occasionally it is:
ing the loop significantly easier, and makes the loop much necessary to exit more than one level of repetition. This
more understandable in reading the program, both of may be done by using the goto statement, or by identify-
which are highly desirable in the development and main- ing loops with (the equivalent of) a label{ LZ ) and allowing
tenance of reliable software. Therefore, loop structures “multi-level” exit statements of the form:
often have the general form:
if( B) exit(
L)
loop
{ C)
A third way to achieve multi-level exits is to “cas-
(S)
endloop cade” the requisite number of single-level exits. This may
be done by setting a boolean “flag” and exiting one level
(e.g. if (Be) then MULTILEVEL < true; exit), then im-
mediately (after endloop) exiting again (e.g. if MULTI-
LEVEL exit).
Another facility occasionally provided in loop struc-
if( B) cycle( L)
where (C) specifies the desired control of repetition.
With loop control specified in this manner, the need for ( L) refers to the desired loop identification; as with exits,
exit statements in (S$) is typically much reduced (al- the (L) may be omitted for single-level cycling. Since
though exit statements may still be allowed in{ S)). Two cycling is not needed often in practice, and may be
of the more common types of control, {C), are: achieved using exit and selection control, cycle is not as
commonly implemented as is exit.
1. Indexed: for({ /) —( X1) to( X2 ) [by
( X3 )] A reasonably common occurrence (some studies
2. Conditional: while ( B ) have indicated for about 20% of all loops) is that of
multiple (more than one) single-level exits in a given
where (/) is an integer variable, the { X)s are integer loop. Normally, one can expect the post-loop processing
expressions, and ( B) is a boolean expression. The effect to be somewhat different for the different exits. For
of each of these control options is as follows (Z is an example, a search loop may contain two exits, one for
“internal” integer “hidden” from the programmer). when the search is successful and one when it is
unsuccessful. The action taken after the search is nor-
loop for( /) —(¢ X1 ) to( X2 ) by X3 ) mally dependent upon whether or not the search was
(S) successful, implying different processing at each of the
endloop two exits. Selection of the proper post-loop processing
(if(X3 ) option is omitted, + 1 is assumed) routine may be achieved by flagging each exit, just
prior to departure from the loop, for use in ordinary
Z<( X3 )/abs ( X3 )) selection control following the loop. Forms of the loop
(1)
4X1 )=CX3) control specification { C) exist that facilitate such exit
loop flagging.
(1) —(1) +¢(X3) A variation of the Zahn case selection structure, in
if Z*(I1)>Z*(X2)
exit which the pre-selection routine is the loop, integrates a
(S) loop and its various exit-processing routines into a single
endloop control structure. The form of such a structure is:
eee nl
CONTROL STRUCTURE
37aVL
| (panuyjuos)
CONTROL STRUCTURE
06
2)
RB
OISWa
)
7
*,
ae
[(
TWOSVd
(7)
vay axe
i11xa
NVULYOA
ainyeaydoo]
ee
yDasq
0108
day)
0\08
“g
en
ul
(7) )(
Uh
a
aaa
V/N
4ixa V/N
sxede
V/N
)
uaym
T0909 17 27
I )(
Ee
uy8eq
ar
“(Ig(%&
)uo)uo 2
Bul[puey
Da
uoljdaoxa
uoldeoxy
(% day
(Ig) (7%)
)e
(%
(17(27
asn pua
)
wondasxa
) day
uaym
(X
eene
(Ss
4ajpupy
[<
ye
Iu
pua
(Ig)
) may may]
puso
s13q}0
:saLON azenbs syayoeIq
[] ajouap [eUONdo*swa31 ————
4a]puDy
ay dIseg sAogeS! [SNV prepurjs
“oIseg
Y/N
= jou a[qeyfeae
Ul ‘asensuR]
) (gsi e ueejoog (Ted1Z0p) ‘uolssaidxa
) (¢sI ke (puNOdUIOD)*yUaUIa}e}s
) ¥ si e (dJaunu) “uolssaidxa
) (4 st e ajqeuea ‘JaljNUap!
(7)st e qe]
) (7 SI ue 18393U! e[qetzea ‘JaljUep!
) 7 sI( Ue UONWdeoxe UOMIpUOD
*B'a) [eo{80] *(uolsseidxe
a
a
COROUTINE 367
{ En), respectively. Within the loop body (S), a certain implementations allow the programmer to define addi-
exit may be specified with an exit statement of the form: tional exception values, and to specify explicitly that an
exception has occurred. Such programmer defined and
if( Be ) select exit(Fi). detected exceptions may be handled in the same manner,
and with the same handler control structure as intrinsic
Most programming languages do not provide a full exceptions. In terms of control structure considerations,
Zahn construct as such, but rely upon the programmer to the two main differences between case selection and ex-
use two consecutive simpler structures, such as a simple ception handling are (1) that exception handling involves
loop structure followed by a simple case structure, with some intrinsic exception values in addition to program-
appropriate variable communication between them, to mer-defined ones, and (2) that the location in the program
simulate the effect of a Zahn structure. of an exception handler is immaterial, with the necessary
branches to and from the handler taking place automati-
Exception Handling A number of things can hap- cally (whereas a case structure must be placed in the
pen during program execution that can prevent execution program at the point the selection is to be performed).
from successfully continuing. These include division by Exception handlers may also be implemented as proce-
zero, subscript out of bounds, numeric overflow, case dures.
value missing, unavailable read-only file, wrong data type In most instances, the logic of a problem can be
on input, insufficient storage available, and referencing an expressed in a relatively straightforward manner in terms
undefined value. Such exceptions, when detected, nor- of selection and repetition control structures. Arbitrary
mally result in program termination without further pro- sequencing and nesting of such structures is permitted,
cessing unless provision is made for some‘other action, as is allowing any {(S) to be empty. For example, loop
and possibly recovery. Such provision is called exception bodies may contain other loops and/or any type of selec-
handling and, since execution control is the issue, consti- tion, without restriction; selection statement groups may
tutes a form of control structuring. contain additional selection structures and/or loops,
The structural nature of an exception handler is es- without restriction. Although nesting can be carried to
sentially that of a case selection control structure. One of any level, the control logic tends to become difficult for
a predefined set of exception values is presented to the humans to read easily after about three levels of nesting.
handler, which then selects the routine that performs the Control structures are major features of high-level
action desired in the event that that particular exception programming languages, and a language’s control struc-
occurs. If corrective action is possible, then that routine tures play a major role in its effectiveness in software
may include such action, followed by resumption of nor- development. Table 1 shows the control structure fea-
mal processing; otherwise, program execution termi- tures of several popular general-purpose programming
nates after execution of the handling routine. The form of languages. A concise uniform syntax is used for all con-
such an exception handler is structs. Actual syntax used by particular languages will
differ, but the functionality is the same.
exception
( £1) then( S1) References
{ E2) then( S2)
1966. Bohm and Jacopini. “Flow Diagrams, Turing Machines, and
Languages with Only Two Formation Rules,” Comm. ACM 9, 5
(May).
1968. Dijkstra, E. W. “Goto Statement Considered Harmful,”
( En) then( Sn ) - Comm. ACM (March).
endexception 1974. Knuth, D. E. “Structured Programming with goto State-
ments,” Computing Surveys (December).
When an exception occurs, execution control auto- 1974. Kernighan, B. W. and Plauger, P. J. The Elements of Program-
matically is passed to the beginning of the exception ming Style. New York: McGraw-Hill.
handler, along with the identification( E ) of the exception 1975. Goodenough, J. B. “Exception-Handling: Issues and a Pro-
posed Notation,” Comm. ACM 18, 12 (December).
that has occurred. Selection is then made of the corre-
sponding routine( S) to be executed. Program execution JERROLD L. WAGENER
is terminated after execution of{S), unless (S) specifies
recovery and resumption of program execution. For ex-
ample, if the last statement in{ S) is
COPYRIGHTS. See Lecat Protection oF SoFT-
recover
WARE.
The coroutine resembles the more familiar subroutine program and without concern for the implementation of
or function of most programming languages in that it the other coroutines. These linear pipelines (with buffer-
encapsulates some computation and helps to break a ing) appear in the Unix (g.v.) command language (Ritchie,
large program into smaller parts. However, coroutines 1974).
differ from subroutines in that their lifetimes are not tied Another kind of coroutine is the semicoroutine. Semi-
to the flow of control. When a subroutine is called, a new coroutines have the restriction that when they are called,
instance of its activation record (i.e. its control informa- they must eventually return control back to the caller.
tion and local variables) is created. It is destroyed when Thus, semicoroutines resemble subroutines, except that
control is returned to the calling program. On the other their data and control state is preserved between calls.
hand, when a coroutine returns control, its execution is Semicoroutines are useful for the incremental generation
not finished and so its activation record is preserved. of sequences of items, especially when each item to be
Each time control reenters the coroutine, it resumes exe- returned depends in a complicated way on the items that
cution where it left off with its local control and data state were generated previously. Semicoroutines can be used
retained. to enumerate the items stored in data structures. As an
For the simple reason that a new activation record is example, a compiler might use a semicoroutine to pro-
not created on every call, coroutines can be more efficient duce, one at a time, the items recorded in a parse tree. The
than subroutines. This is true, for example, in the Mesa semicoroutine can traverse the parse tree recursively.
programming language (Mitchell et al, 1979). Further- Since it is a semicoroutine, it can directly record in its
more, because coroutines can be entered directly at the program counter where to resume the traversal each time
appropriate point to continue some computation, their it is reentered. The iterators of the programming language
use can simplify the implementation of some algorithms. CLU (Liskov et al., 1977) are semicoroutines that are in-
This is especially true when the processing to be done on tended to be used in conjunction with loop control struc-
a given call depends in a complex fashion upon previous tures. Iterators allow a program to process the items
calls. For example, a program that needs to compare the stored in a data object, such as a set, where details of the
corresponding elements stored in a tree and a linear list item generation and the data object’s representation are
might use a coroutine to traverse the tree. The coroutine hidden in the iterator (see INFORMATION HIDING.).
returns the next tree element each time control is passed
to it. Using a coroutine avoids the need to record in some
References
data structure where the tree traversal should restart.
Coroutines are often used to implement logically con- 1972. Dahl, O.-J. “Hierarchical Program Structures,” Structured
current processes (or threads) on a single processor. Programming. New York: Academic Press, 175-220.
These coroutine-based threads rarely pass control to 1974. Ritchie, D. and Thompson, K. “The UNIX Time-Sharing Sys-
each other directly with explicit transfer operations. In- tem,” Comm. ACM 17, 7: 365-375 (July).
stead, the transfer is normally indirect and is done as a 1977. Liskov, B., Snyder, A., Atkinson, R., and Shaffert, C. “Abstrac-
tion Mechanisms in CLU,” Comm. ACM 20, 8: 564-576 (Au-
side effect (g.v.) of acall on a library routine. For example,
gust).
the programming language Modula-2 (q.v.) provides a Pro-
1979. Mitchell, J. G., Maybury, W., and Sweet, R. “Mesa Language
cesses library module with procedures that support syn- Manual,” Xerox Palo Alto Research Center technical report
chronization and mutual exclusion for coroutine-based CSL-79-3.
threads (Wirth, 1985). These threads are often referred to 1980. Martin, C. “Coroutines: A Programming Methodology, a
as “coroutines” when people want to distinguish them Language Design, and an Implementation,” Lecture Notes in
from truly parallel threads. Computer Science No. 95. New York: Springer-Varlag.
Applications of coroutines include operating systems 1985. Wirth, N. Programming in Modula-2, Third Edition. New York:
(g.v.), compilers, and discrete event simulation programs. Springer-Verlag.
For example, the language Simula 67 supports discrete
event simulation with flexible coroutine mechanisms BRIAN T. LEWIS
(Dahl, 1972). Coroutines are also used in text manipula-
tion, artificial intelligence (g.v.), sorting (g.v.), and numer-
ical analysis (q.v.) programs. A survey of coroutines and
their uses appears in Martin (1980).
Coroutines are sometimes organized into linear pipe- CPM. See PERT/CPM.
lines. Linear pipelines are useful when the data transfor-
mation implemented by a program can be decomposed
into several simpler transformations that are applied one
after the other. The coroutines of the pipeline can be
envisaged as being arranged in a line: information flows CPU. See Centra PROCESSING UNIT.
through the line in one direction, with each coroutine
implementing part of the overall transformation. A
coroutine obtains input items by transferring control to
one neighbor (perhaps as a side effect of calling a read
procedure), and outputs results by transferring control to CRIME, COMPUTER. see computer Crime:
the other. Each coroutine is written as if it were the main and COMPUTER VIRUS.
CRYPTOGRAPHY, COMPUTERS IN 369
bit-wise exclusive-or of the right half and a 32-bit As a small example of the RSA method, the word “IT”
word, which is a complicated function fof the left can be encrypted as follows. Using the representation A =
half, the key, and the iteration number. The func- 01, B = 02,..., Z = 26, we obtain the number 0920 for IT.
tion f involves in part a number of substitutions Then with n = 2773 = 47-59 and e = 17, we obtain the
of short sub-blocks using specially constructed ciphertext:
substitution tables (S-boxes) and permutations
of the individual bit positions. The basic DES C = 920'"(modulo 2773) = 948.
function has been implemented by a large num-
ber of manufacturers on special-purpose LSI Using p = 47 and g = 59, a value of d = 157 can be
chips which can encipher at megabit per second derived, from which we can calculate 948!°’ (modulo 2773)
rates. = 920, the original message.
FIG. 1. Dataencryption using the RSA method.
Some applications (e.g. enciphering a line to a user’s
terminal) require that blocks shorter than 64 bits (e.g. a
byte) be individually enciphered. The basic DES block can
be used for this application in cipher feedback mode: each Since d depends on p and q (in a way too complicated to
message byte is enciphered by an exclusive-or with the explain here), it is provably as hard to compute d from e
left-most byte of the result of taking the last eight and nas it is to factor n. When nis more than roughly 400
ciphertext bytes and using them as input to the DES to bits long, this becomes a prohibitively time-consuming
obtain another 64-bit block of ciphertext. task. Although the enciphering operation itself is quite
Conventional cryptosystems (including DES) use the complicated, enciphering rates of 1-10 kilobits/second
same key at both the enciphering and deciphering sta- are possible with a special-purpose LSI chip. An example
tions. In 1976, Diffie and Hellman proposed public-key of the RSA method is shown in Fig. 1.
cryptosystems in which the deciphering key was different The theoretical foundations of cryptography were
from, and not computable from, the enciphering key (and vigorously developed during the 1980s, and the security
vice versa). A person might create a matched pair of such of various encryption and signature schemes have been
keys and distribute copies of the enciphering key to evaluated with respect to powerful new formal definitions
friends, while keeping the deciphering key secret. The of security. See Rivest (1990) for a survey of these devel-
friends can send to the creator of the enciphering key opments.
enciphered mail that only the creator can read. (Even if a
cryptanalyst obtains a copy of the enciphering key, it does References
no good.) This demonstrates the flexibility of a public-key
cryptosystem for key distribution, an area where conven- 1967. Kahn, D. The Codebreakers. New York: Macmillan.
1976. Diffie, W. and Hellman, M. “New Directions in Cryptogra-
tional cryptosystems are awkward because all keys must
phy,” /EEE Trans. Information Theory IT-22, 644-654 (Novem-
be kept secret. Public-key cryptosystems can also be used
ber).
to provide digital signatures: A user can create a signature 1977. FIPS Publication 46. Specifications for the Data Encryption
for a message by enciphering it with a private key. (Here Standard.
the enciphering/deciphering roles of the public/private 1978. Rivest, R., Shamir, A., and Adleman, L. “A Method for Obtain-
keys are reversed.) Someone else can check the validity ing Digital Signatures and Public-Key Cryptosystems,” Comm.
of the signature by checking that it deciphers to the ACM, 21, 2, 120-126 (February).
message using the signer’s public key. This capability of 1979. Diffie, W. and Hellman, M. “Privacy and Authentication: An
public-key cryptosystems promises to have important Introduction to Cryptography,” Proc. IEEE 67, 397-427
(March).
applications in electronic funds transfer systems (q.v.).
1982. Denning, Dorothy E. Cryptography and Data Security, Read-
The first proposal for a function to implement public-
ing, MA: Addison-Wesley.
key cryptosystems was by Rivest, Shamir, and Adleman
1987. Patterson, Wayne. Mathematical Cryptology for Computer
(1978). Their cryptosystem (the so-called RSA cipher) Scientists and Mathematicians, Totowa, NJ: Rowman and
enciphers a message M (first coded into numeric form by, Littlefield.
for example, setting A = 01, B = 02, etc.) using a public 1990. Rivest, R. Cryptography in Handbook of Theoretical Computer
key (e,n) to obtain a ciphertext C as follows. Science (J. van Leeuwen, Ed.). Amsterdam: North Holland.
various kinds) by a central file or library. Such systems nals entirely and restrict certain types of books to library
are designed to respond to the problems of search selec- use, while providing at the same time an efficient distribu-
tivity and timeliness by carrying out information tion of individual articles and citations that are tailored to
searches, using only small files of selected documents. specific user populations.
Typically, user queries, or interest profiles, are stored ona A flowchart outlining a typical SDI service is shown
permanent basis, to be processed periodically against in Fig. 1. Specific SDI features are:
small files of documents that might be newly received at
a given information center. Users are notified on a weekly 1. Universal features: User feedback; automatic or
or monthly basis of new acquisitions that match their manual profile revision; option for hard copy of
interest profile. Under ideal conditions, such systems for abstract and/or full text; and system evaluation.
the selective dissemination of information (SDP) are able to 2. Optional features: Use of free text (title or ab-
retrieve information exactly tailored to meet the specific, stract) search; searching of multiple databases;
possibly changing, needs of each user, while supplying incorporation of preprinted in addition to pub-
the output directly on a periodic and dependable basis. lished information; incorporation of citation, au-
The rapid development of selective dissemination thor, or institution alert; and special distribution
services is due to two main factors: First, SDI services are to designated recipients.
much less expensive to implement than on-demand
searches because there is no need to include in the docu- To improve services at a later time, nearly all SDI services
ment collections the backlog information covering many include feedback provisions that utilize user opinions
years in the past. Second, the existence of many distribu- about the effectiveness of the search output. Specifically,
tors of magnetic tape and CD-ROM databases—normally response cards are often included with the output sent to
containing titles, citations, and sometimes index terms the user population to enable the recipients to return
and abstracts of published articles and research—en- information concerning the retrieved materials. Direct
sures the availability of the needed input data ona regular assessments of usefulness are sometimes wanted for
basis. Normally, the producers of the databases sell the each retrieved citation; alternatively, the return cards
SDI services directly on their own account, or they make representing user requests for hard copies of certain
the information available to third parties who, in turn, retrieved documents are automatically taken by the sys-
provide the dissemination service. SDI services are im- tem operators as an expression of approbation on the
plemented in all areas of applied science and engineering, user’s part.
and in many of the natural and social sciences as well. In either case, the user profile statement may be
A flexible SDI service may be the answer to the ineffi- updated by reinforcing or increasing the weight of profile
ciencies now inherent in the normal publication system, terms that match terms included in retrieved items desig-
in which each published item carries high publication nated as relevant by the users. Profile terms included in
costs and minimal readership. An improved, more eco- documents identified as non-relevant may be similarly
nomical system might then eliminate bound-volume jour- demoted or decreased in weight. Occasionally, the docu-
neared,
jocumentS
Recording
medium
Profile
storage
Profile
revision
Revision of t User
document ued
evaluation notifications
indexing
ment indexing may also be changed as a function of user there is a broad spectrum of current interpretations
judgment. The corresponding feedback paths are indi- (Drozin et al., 1973).
cated in Fig. 1. Cybernetic concepts cluster around three related
The feedback feature is particularly useful in a re- component concepts: systems (animal or machine), com-
search environment, where user interests may change munication between systems, and regulation or self-regu-
fairly rapidly. The profiles can then be adjusted little by lation of systems. Since the first two are common to
little, as the users express satisfaction or dissatisfaction nearly all fields of knowledge, it is the third component,
with the materials obtained from the retrieval service. regulation, that distinguishes the discipline. Cybernetics
Among the useful optional SDI features is the possi- is the science of regulation and control—purposive regu-
bility of including in the distribution service those docu- lation for adaptive system survival (Beer, 1970).
ments in preprint form or other items that are not Cybernetics borrows ubiquitously from other sci-
intended for eventual formal publication. This option pro- ences. Based on the mathematical concept, cybernetics
vides the means for bypassing the normal publication concerns all conceivable sets of systems (Ashby, 1968);
process and for avoiding publication delays. Delays can and from physical and psychological concepts, it “deals
also be avoided by having the authors of certain items with all forms of behavior in so far as they are regular, or
provide a special distribution list of recipients to whom determinate, or reproducible” (Ashby, 1968, p. 1). To be of
the corresponding documents are to be sent regardless of practical interest, however, cybernetic systems have two
the profile-matching results. Finally, the participants in an properties: (1) some aspect must provide observable
SDI system can gain better service by extending their data over a period of time (the protocol, Ashby, 1968, p.
profiles to include not only subject terms, but also names 88); (2) from the protocol it must be possible to infer some
of authors or of institutions whose documents they wish stable configuration or regularity in transformation of
to receive automatically. states. Without observable regularity in transformation, a
Another extension of optional service permits the system is said to be unconstrained. Without constraint, it
inclusion of document citations in the user profiles so that is unpredictable; if it becomes unstable and cannot be
new items citing the original profile documents will be restored to stability, it is uncontrollable. For regulation, a
automatically retrieved with other pertinent materials. In system must show some regularity.
its simplest form, such a citation-monitoring system Time is the principal cybernetic variable, while vari-
would alert a given participant whenever one of his or her ety is the principal dependent variable. Variety is quanti-
own papers was being cited by some outside author, tatively measured by the logarithm (usually base 2) of the
assuming that the users of the service include their own number of discriminations that an observer (or a sensing
documents as part of their profiles. Alternatively, a cita- system) can make relative to a system (Ashby, 1968, p.
tion alert system can simplify normal subject searches by 124). For example, in the phrase “take care,” the variety is
eliminating the problems of vocabulary know-how and log, 6 = 2.51 bits if the system is the set of distinguishably
control that affect document indexing and query formula- different letters; log, 2 = 1 bit if the system is the set of
tions. words; and log, 1 = 0 if the system is the message consid-
An evaluation of SDI services shows that a large pro- ered as a unit. Because variety is based on discrimination
portion of the materials retrieved for the user population of differences, it measures equally well all psychophysical
is indeed germane to user interests. However, complaints or higher cognitive discriminations (Heilprin, 1973). For
arise because of the large volume of output continually example, the variety in five psychologically discriminated
delivered by the services. Even if the proportion of rele- shades of green is log, 5 = 2.25 bits, the same as the
vant items is fairly high, users receiving 30 or 40 citations variety in a decision process from a choice of five abstract
every week may eventually tire of the system and revert alternatives.
to on-demand searches that furnish output only when Regulation of a system has a well-defined technical
specific requests for service are made. meaning. What this is depends on a technical distinction,
the difference between essential and non-essential vari-
GERARD SALTON
ables.
To understand them, consider Fig. 1. This represents
a simple physical system—a heavy solid object that looks
CYBERNETICS like a triangle—resting on a horizontal table surface. The
triangle may be the end of a prism or the projection of a
For articles on related subjects see ANALOG COMPUTER: cone. In the first position (top left), the center of mass (C)
AUTOMATION; CONTROL APPLICATIONS; INFORMATION THEORY; is as low as it can get relative to the table, so it will not
SHANNON, CLAUDE; and WIENER, NORBERT. move and is said to be in stable equilibrium. Now suppose
the triangle is tilted, as in the next position, its bottom
Cybernetics is a science founded in the 1940s by a plane rotated through angle @ relative to the table. C has
group of scientists and engineers led by Norbert Wiener been raised, but, if the triangle is let go, it will return to its
and Arturo Rosenblueth, who coined the word “cybernet- starting position. That is, the triangle is still in stable
ics” (from Greek: pilot, steersman, governor) to designate equilibrium if it will, after a displacement 0, return to its
the science of “control and communication in the animal initial position. In the third case, 0 is just so large that the
and the machine” (Wiener, 1948). This definition still ex- triangle is balanced precariously in neutral equilibrium.
presses the substantial content of cybernetics, although Any further small displacement that increases or de-
CYBERNETICS 373
creases @ will send the triangle either back to the initial abstract way, all of the double displacements of wave and
position or to a new position from which it cannot return. wind such that the boat will not capsize, but return to its
In the last figure, the angular displacement @ is so great initial vertical position.
that, if the triangle is let go, it must fall to the new posi- If the region did not represent the region within
tion. which S will not capsize, but rather the region within
Suppose we define the system “triangle in its initial which its timbers will hold so that it remains in one
position.” Then this system continues to exist as long as, piece, we could say that this region represented the
and only as long as, the variable 0 (which measures the range of double displacements for the existence of the
tilt) remains within the range —60° to +60°. This is shown boat as a boat. If S were not an inanimate object but a
as a region within the line at the bottom, representing living animal, we could regard the region as that within
values of 0. which the animal could go on living as a system—that
Fig. 2 extends this idea for a system S, which depends is, could survive. To generalize, Fig. 2 can represent any
upon two essential variables. The kidney-shaped region qualitative kind of regulation, ranging from mere change
in the X, Y plane is the region within which the system (such as capsizing) to actual destruction (such as splin-
S(%, Y) is stable. Because there are two stable ranges— tering and breaking up). If the system happens to be
one for X and one for Y—the curve or perimeter of this an organism, regulation can mean merely keeping it
region is not the same as the more common functional comfortable (as in maintaining its blood pressure, oxy-
curve Y = Y(X). Both X and Y are independent essential! gen intake, or other variables) within certain limits. In
variables, and S(X, Y) depends on both. Let us suppose S general, organisms have many more essential variables
is asmall boat, X the wind velocity, and Y the wave height. than non-organisms, so that the “space” within which
Then the closed region in Fig. 2 could represent, in an they may be represented for system survival is n-dimen-
sional, where n is larger than that for inanimate systems.
How does one identify essential variables? Suppose
that in Fig. 1 we had also been given the range of color of
r*— Stable range, X——__»,
|
the triangle, or its flavor, or its temperature? It is obvious
! that these would not have been relevant to the question of
!
|
stability under displacement. But only our own experience
' could tell us that. Also, we can see two things: (1) that any
!
real system or object has an indefinitely large number of
Unstable
region variables that can describe or identify it; and (2) that
| among this set of variables, only a subset is relevant to any
Stable given goal—in this case, regulation of the object so that it
range,
4
returns to equilibrium. Intuition tells us that in Fig. 1 a
relevant variable is tilt angle 6. We could not regulate by
using, as variables, color, temperature, size, loudness, or
other variables that, for otherkinds of displacement, might
be relevant measures. To sum up: essential variables are
essential, relative to the purpose of regulation. Since organ-
isms have to survive in order to be said to remain in the
same system, we usually think of “regulation” as keeping
FIG. 2. Representation of stability of a system S (x, Y) having
two independent essential variables.
an organism within a region of displacements of its essen-
374 CYBERNETICS
necessary but not sufficient for regulation, satisfying the (numbers 3 and 5) being stolen by an I/O channel (from
law of requisite variety is necessary but not sufficient for the CPU) between two cycles of memory use by the CPU.
successful regulation (Heilprin, 1973, p. 24). This is possible and convenient, at least periodically,
Space prevents discussion of many prominent cyber- because the CPU is self-driven (except possibly between
netic features, such as classification of cybernetic sys- some substeps of a process it is conducting) and has no
tems by intractability to control (determinate, complex, fixed time demands on memory. Furthermore, there are
and “very large”), black-box theory, feedback and occasions, particularly in simpler CPU designs, where the
feedforward, and isomorphism and homomorphism. See instruction being obeyed (e.g. division) is processor-lim-
the references cited and a growing list of periodicals, ited (i.e. uses all the processor’s capabilities) and mem-
among which are the Journal of Cybernetics (American ory access is temporarily suspended.
Society of Cybernetics), Transactions on Systems, Man and The I/O equipment is, on the other hand, quite differ-
Cybernetics (IEEE), and Soviet Cybernetic Review. ent. Its use of the memory, though generally less frequent
than that by the CPU, is much more time-constrained. For
References many I/O devices, such as disks and tapes, data is pro-
duced or required at fixed intervals. The need for data
1948. Wiener, N. Cybernetics or Control and Communication in the
Animal and the Machine. Cambridge, MA: M.I.T. Press. (New
transfer occurs relentlessly at fixed time intervals. In
York: John Wiley & Sons, 1948; 2nd ed., 1965). transferring data from a tape to memory, the previous
1949. Shannon, C. E., and Weaver, W. The Mathematical Theory of byte or word must have been stored before the next
Communication. Urbana, IL: University of Illinois Press, p. 3. arrives; otherwise, data is lost. This problem is somewhat
1968. Ashby, W. R. An Introduction to Cybernetics. London: Methuen alleviated by the use of single or multiple buffers (g.v.) in
(University Paperbacks, 1956, reprinted, 1968) chap. 7. the device controller and/or channel, but in any case
1970. Beer, S. Decision and Control. New York: John Wiley & Sons, there are important recurring time demands for memory
chap. 15. access. These can be met by the technique of cycle steal-
1973. Drozin, V. G., Fisher, R., Kopstein, F. F., Pask, G., and Toda,
ing in those CPU designs in which processor activity can
M. “What is Cybernetics?” FORUM; American Society for Cy-
be suspended for a memory cycle while a memory access
bernetics, V, 4 (December), 3-8.
is made by the I/O system.
1973. Heilprin, L. B. Impact of the Cybernetic Law of Requisite
Variety on a Theory of Information Science. College Park, MD:
University of Maryland Computer Science Center, Report No. KENNETH C. SMITH AND ADEL SEDRA
TR-236, March, ERIC No. ED 073 777, 9-10.
1981. Conant, Roger (Ed.). Mechanisms of Intelligence: Ross
Ashby’s Writings on Cybernetics. The Systems Inquiry Series,
Seaside, CA: Intersystems Publications.
LAURENCE B. HEILPRIN
CYCLE TIME
For articles on related subjects see REGISTER; and SYNCHRO-
NOUS/ASYNCHRONOUS OPERATION.
Access to memory
by CPU
by 1/O
Time
Cycle 6
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5
There are basically three different types of cycle-timing during the reading, writing, or actual transmission of
organizations: this data. Consequently, error control has become an
integral part in the design of modern computers and
1. Synchronous (fixed): In this scheme all opera- communication systems. The most commonly used
tions are composed of one or more cycles, with methods for error detection involve the addition of one
the fundamental time quantum being fixed by the or more redundancy bits to the information-carrying bits
design. Such systems are also referred to as of a character or stream of characters. These redundancy
clocked, since usually a master oscillator (or bits do not carry any information; they are merely used
clock) is used to distribute and define these cy- to determine the correctness of the bits carrying the
cles. information.
2. Synchronous (variable): This is a slight variation Perhaps the most commonly used method for error
of the first scheme; certain long operations are detection is the simple parity check. Parity may be even
allowed to take multiple cycles without causing or odd, meaning that the sum of the “one” bits of any
a register state transition. In such systems there character, including the parity bit itself, will always be
may be several different cycle lengths. For ex- even or odd, depending upon which arrangement is
ample, a register-to-register transfer of informa- chosen.
tion cycle might take one cycle, while a Fig. 1 illustrates a form of two-dimensional parity
register-to-adder and return-to-register cycle checking used on some magnetic tapes that can detect
would perhaps be two or three cycles. (The and even correct some types of errors. The six-bit charac-
fundamental difference between the fixed and ters are arranged in columns with a seventh odd parity
variable synchronous types is that the former bit, called the vertical redundancy check (VRC), added to
stores information into registers at the end of make the sum of the “one” bits in each column an odd
every cycle time, whereas the latter sets infor- number. Similarly, an odd parity-check bit, called the lon-
mation into registers after a number of cycles, gitudinal redundancy check (LRC), is added at the end of
depending upon the type of operation being the block for each row of bits. As the tape is read, the VRC
performed.) and LRC are regenerated and compared to the check
3. Asynchronous operation: In a completely asyn- characters read. If equal, the information is assumed cor-
chronous machine there is no clock or external rect. If not equal, the block is read again. Some types of
mechanism that determines a state transition. errors, like the one shown in Fig. 1, may also be corrected
Rather, the logic of the system is arranged in by using this method.
stages; when the output value of one stage has Cyclic redundancy checking is a far more powerful
been stabilized, the logic signals the input at error-detecting method. Here, all the characters in a
that stage to admit new operands. (Asynchro- message block are treated as a serial string of bits
nous operation is clearly advantageous when representing a binary number. This number is then
the variation in cycle time is significant, since divided modulo 2 by a predetermined binary number
a synchronous scheme must always wait for the and the remainder of this division is appended to the
worst possible delay in the definition of the block of characters as a cyclic redundancy check (CRC)
time quantum required. On the other hand, when character. The CRC is compared with the check char-
logic delays are predictable, synchronous ap- acter obtained in similar fashion at the receiving end.
proaches have an advantage because several If they agree, the message is assumed correct. If they
additional stages of logic are required in the disagree, the receiver will demand a retransmission.
asynchronous scheme to signal completion of This is usually called the ARQ (automatic repeat re-
an operation.) quest) method of error control and is very commonly
used in data communication. The CRC character is also
In actual practice, most systems are basically synchro- called the cyclic check sum, or simply the check sum
nous (either fixed or variable), with some asynchronous character. The Digital Equipment Corporation VAX com-
operations being used for particular parts of the machine, puter contains, as part of its construction repertoire,
such as handling access to main memory. a single command that computes a cyclic redundancy
check character.
MICHAEL J. FLYNN To show how the CRC is generated, let the message
consist of k bits, a) a,...a, _ ,,a,;= 0 or 1. Then we form the
(k — 1)-degree polynomial:
Track
VRC
Information bits
(one character pe
ae a
Ly
sitsi
peel
eteSIRES
per column)
|0aNeie
Pe
ES ®
@®
@e
yO
@W
Pp
&© a
=
Invalid check (#)
FIG. 1. _ Error detection using LRC and VRC bits. An extra “1" bit has been introduced in
the character "5." Assuming no errors in the received check bits, the error must occur
at the intersection of the invalid check column and row. The error bit must be reversed.
In this case, the “1" must be changed to ”0."
gree r, whose coefficients are also 0 or 1. We divide x"M(x) and R(X) = 1 + x. Thus
by G(x), obtaining
Wx) = Lt xt x > + x7 + xl + xl
XxG(x)
M(x) _ Q(x) + RO)
G(x) mod 2 (2) and the transmitted message is
where the “mod 2" indicates that all sums and differences |
of coefficients are taken as 0, if the result is 0 or even, and 1100 | 1010010001
1 if it is odd. Thus, from Eq. (2) CRC |! original
bits | message
| bits
R(x) = x'M(x) + Q(x)G(x) mod 2 (3) |
——<—
A
Switch 1
a Shift in O's
i(th) stage of shift register [+]
OR gate
FIG. 2. Shift register for G@) =1+x Be toes Initially, the register contains 00000, switch 1
is in position A , and switch 2 is in position B. When all message bits have been transmitted, the
register contains R(x). Switch 1 now goes to B, and switch 2 goes to A to enable R(x) to be shifted
out. When data is being received, the resulting R(x) must be zero; otherwise, the data is in error.
mitted, the contents of the shift register are shifted out 1977. MacWilliams, F. and Sloane, N. J. A. The Theory of Error-Cor-
by five successive right shifts to transmit R(x). Note that recting Codes. Amsterdam: Elsevier.
during this operation, the zeros are shifted into stage 1 1988. McNamara, J. E. Technical Aspects of Data Communication.
Bedford, MA: Digital Press.
so that after R(x) is transmitted, the contents are 00000;
hence, the register is automatically cleared for more JOHN S. SOBOLEWSKI
transmission.
Codes developed as described above are called cyclic
codes. Such codes are used for error detection and cor-
rection for magnetic tape, disk, and data communication. CYLINDER
The generator polynomialx'® + x! + x? + 1, for example, For articles on related subjects see ACCESS TIME; HARD Disk;
is widely used in synchronous data communication sys- and MEMORY: AUXILIARY.
tems. It can detect all odd numbers of error bits, all
possible single-error bursts not exceeding 16 bits, Many rotating storage devices—drums, disks, data
99.9969% of all possible single bursts 17 bits long, and cells, and the like—have fewer read/write heads than
99.9984% of all possible longer bursts. This is much better recording tracks. Therefore, either the surfaces of these
than simple parity checking, for instance, which detects devices must move to position the desired information
only all odd numbers of error bits and no others. Note that under a read/write head, or the read/write heads must
parity checking is equivalent to having a generator poly- move to hover above the appropriate tracks. The latter
nomial Gx) = x + 1. strategy is commonly used for large direct-access devices
The study of cyclic codes revolves principally upon such as disks containing at least 100 million bytes.
determining the code characteristics resulting from vari-
For engineering convenience and efficient sequential
ous generator polynomials. Peterson and Weldon (1972) processing of data, the following design has been adopted
and Tang and Chien (1969) give some applications and a by most manufacturers of moving-head disk drives:
thorough mathematical treatment of cyclic and other
codes. A more elementary description is given by McNa- 1. Disk surfaces are numbered from top to bottom
mara (1988). for each horizontal position of the read/write
comb.
2. During sequential writing operations, as the top
References track in each vertical plane becomes filled, con-
1969. Tang, D. T. and Chien, R. T. “Coding for Error Control,” JBM trol circuitry and system software allocate subse-
Systems Journal 8 1: 48-86. quent records to the beginning of the next
1972. Peterson, W. W. and Weldon, E. J. Error-Correcting Codes, 2nd vertical track. When this is filled, records are
Ed. Cambridge, MA: M.LT. Press. started on the third track, etc.
CYLINDER 379
000 = ~‘Tracks
cercrr re
202
Comb-type
access assembly
=
A +)
a a]
TIT
\
7}
—————_—T
FIG. 1. ee
3. Therefore, during sequential reading, a maxi- Each vertical set of tracks, one track per recording sur-
mum amount of data can be read at one time face, is called a cylinder, after the geometrical surface
before the comb must be moved. This is consid- outlined. There are as many cylinders per disk pack as
erably faster than the alternative strategy of writ- tracks per recording surface (203 cylinders for the disk
ing all tracks concentrically on one surface pack shown in Fig. 1.).
before advancing to the next surface.
DAviD N. FREEMAN
~*~
ae OURS. Syed
teed. _-
~
} _
oa
7
=a
Ww +t
-;
ar.
eae
=
PAA
7
mee) rnta pert i or | pe Op, AAaxareapigten seep
oes , - 4 Se i
” ‘ ay ¢ a ee ee oie i pied | A
eS
DDG, eflee
a
te mea
2. 4
:
Cute eb a die OnSu Bio's
ei oT.
> ian vip
goha Nas
Wogueay oc Wis. WORN a:g Gilles w “es . amifeno ie hen nad ners
OE Bag wttHheS Yelp ae soe aepaet anities +ynod al yid¥ cbeevous od ta
aha Iey HON} ovpbiie snlbrnde 994 alert
t atv Wo vpsiaeie nace
> : oe igh TR eat 251 saabaneofaint
© 4
aie
pers
trie —
7 ya
CYLINDER
_ ms = vias arte’ - i (ow sos! ueces
: ll = : ay) Witeoey aa
° a ecsy << 7
ot ae Se #7 : 7 alt
= ae SAY! ering lint, Cvic
- elie: Maa, bee Na, aad he ieedigee ier:
a a rea in) Seterky Topeoture,
7 ;
_ ™ Ss
; too mint ane tf —
7 aS hie 7 rd Mie
, x = Le Peover ahieneee th ay
es {ey ariel
ceo eis
a | (
bakietenn
he 1 Sat
e aah
:ai etioryn ets
how - _ g ‘ ». ie a4 a i
uh ae ne eee @
re. 2 anit « eHeny
Mi Aye =
ee
a en. 6.1 ° é ° Ge
4 a 2 >=
Weg I “Lys - ~~
. @ wae Waa es is
DATA ACQUISITION COMPUTER central processor, main memory, and disk/tape compo-
nents—has risen to such high levels that they may oper-
For an article on a related subject see ANALOG-TO-DIGITAL ate unattended for days at a time. To raise system
AND DIGITAL-TO-ANALOG CONVERTERS. reliability still higher, multiple (three to five) processors
are often packaged together, so that failure of one proces-
Computers have been used for decades to acquire sor leaves the DA computer functionally intact (albeit
and analyze data generated by instruments such as volt- slowed down)(see FAULT-TOLERANT COMPUTING ).
meters, thermocouples, and electromechanical relays in Many data acquisition computers have been “rugged-
factories, refineries, missiles, or aircraft. Typical data ac- ized” to function in high-temperature environments, such
quisition (DA) computers have fast memory-cycle times so as steel plants or high-acceleration environments such as
that bursts of signals from real-time physical processes spacecraft.
such as video scan devices will not be lost. Although early During the 1980s, powerful, low-cost, miniaturized
DA computers had relatively short word lengths (16-24 DA computers were installed increasingly close to where
bits), many now have 32-bit words and use the same the original data is generated: factory floors, cash regis-
architecture as general-purpose minicomputers, permit- ters, continuous-process plants, etc. They are connected
ting economies of scale in manufacturing and software by medium-speed (2,400 bits per second) telephone links
support. Although most DA computers lack floating-point to central computers which periodically poll them for
instructions (since measured data are inherently within data, display status reports on processing being super-
predefined narrow ranges), the modest incremental cost vised, and print hardware-reliability reports on the data
for FP hardware has encouraged its inclusion in large acquisition computers themselves.
devices.
DAVID N. FREEMAN
The main components of a data-acquisition com-
puter are as follows:
PS
MOD
Parallel-
series Modulator
converter
Communication
network
Series-
parallel Demodulator
converter
the problem of data communications had to be ad- analog transmission to the end user; the line interface unit
dressed. This article is concerned with the transmission modulates or demodulates between a binary signal and
of data from its source to its destination, as shown in Fig. an analog waveform. It is normal for the functions of the
1. Two general textbooks (Black, 1989; and Halsall, 1988) modulator and demodulator (Fig. 1) to be combined; the
are recommended for additional reading. Other refer- resulting equipment is called a modem, short for modula-
ences (Tanenbaum, 1988; Proahms, 1983; and Petersen, tor-demodulator. If CN uses digital transmission, the LIU is
1972) deal with more specialized areas. a coder-decoder called usually a codec. For local area
Normally (see Fig. 1), data is passed in parallel be- networks (LANs - g.v.), the transmission is usually digital.
tween a computer or peripheral in finite-sized chunks Moreover, the LIU is usually integrated into the network
(e.g. 8-bit bytes) to a register, shown as SO. This data must interface and has the functionality of a codec.
be passed via a communications network (CN) to a sink In modern data communications equipment, the
(SD, where it is passed on in the same or different finite- functions of the PS and the LIU are usually combined into
sized chunks to another computer or peripheral. The single boards called a communications adaptor (CA), and
communication network usually has the property that the most of the functionality is achieved in single VLSI chips.
part of it dedicated to the communication between SO Often, the communications network (CN) accepts data in
and SI can carry only 1 bit at a time. Therefore, that data blocks or packets. There may then be a specific set of
from the SO must be serialized in the parallel-series con- messages passed between the communications adaptor
verter (PS) and deserialized again in the series-parallel and the CN. This is normally called a Network Access
converter (SP). The data output of PS is usually a bistable Protocol (see NETWORK PROTOCOL and PROTOCOL). The CA
binary signal that can be interpreted as one of two states: carries the full communication protocol needed. Often, a
0 or 1. The adaption of the binary signal at B to the character input from a terminal to a computer will be
network at C is achieved by a line interface unit (LIU). echoed back onto the terminal’s printer to show it was
If information can flow only from SO to SI (Fig. 1), the received correctly; this mode of working is called
communication is said to be simplex. If data can flow both echoplex. The devices SP and PS and the interfaces A and
from SO to SI and from SI to SO simultaneously, the com- F in Fig. 1 are also often combined with additional buffers
munication is called duplex. If data transmission in these in each to permit duplex operation.
two directions does not proceed simultaneously, the com-
munication is said to be halfduplex. In some cases, the Modulation and Signalling Rates The simplest
communication channels themselves may be full-duplex, way to modulate signals is to use telegraph techniques to
but either the hardware of the SO and SI or the software ensure that the channel has one of two states—with cur-
associated with them may restrict the communication to rent or without current (see Halsall, 1988). An example of
half-duplex. this form of signaling is shown in Fig. 2.
It is usual for the communication portion of the cir- The fastest signaling rate of a communication chan-
cuit to be at least half-duplex. The communications net- nel is called the baud rate. In the system shown in Fig. 2,
work CN may transmit and switch either analog or digital the baud rate is //t. When only two-level signaling is used,
signals. If the former, CN is a communications system with the baud rate is also equal to the rate of information
Voltage
or
current
0
aan!
transfer in bits per second (bps). If multiple-level signal- prefacing it with an appropriate header and ending the
ling is used, as shown in Fig. 3 for four-level coding, then block with appropriate end-of-block characters. A sim-
the bit rate is higher than the baud rate. To obtain the pler modem is possible when such synchronization is
signals in Fig. 3, each pair of the bits in Fig. 2 is taken not required. This will be discussed further in a later
together, and the four resulting combinations (00, 01, 10, section.
11) are each coded to one level. Clearly, this approach can
be extended to n levels, but the circuitry required to
Digital Transmission With the reduction in cost of
discriminate and decode the levels becomes increasingly
digital circuitry, it is becoming more prevalent to use
complex.
pulse-code modulation for transmission. Here, each device
The form of signaling described above has problems
is given a time slot, and during this period either a pulse
in long-distance transmission, and it is more usual to use
is put on the channel or one is not. This is a modification
the pulsed signals shown in Fig. 2 or Fig. 3 to modulate the
of the original telegraph techniques, and is the basis of
amplitude, frequency, or phase of the carrier sine wave. the digital transmission now being deployed. This form of
These forms of transmission are called analog transmis- modulation is really two-level amplitude modulation in a
sion and are well suited for use over the conventional synchronous system.
telephone system, which was originally designed for the While the trunk portion of the telephone network in
transfer of analog signals. The changeover to digital trans- most advanced countries is largely based on digital trans-
mission is discussed in Section 3. mission and switching, the local network is still mainly
When the analog facilities are used, each end-to-end analog. With the advent of digital switching in the local
channel has a certain bandwidth which limits the frequen- network and the reduced costs of digital termination, a
cies that can propagate. Typically, the signaling rate over new generation of local digital transmission is becoming
normal telephone lines is limited by noise considerations available called ISDN, the Integrated Services Digital Net-
to 2.4 Kbps. However, by the use of multilevel signaling work (q.v.) (Halsall, 1988).
and automatic line conditioning, an effective data trans-
mission rate of 19.2 Kbps can be achieved.
Asynchronous Transmission Certain human-ori-
The theoretical limit to the information transfer rate
ented peripherals, such as keyboard terminals, need to
or channel capacity, C, has been shown by Shannon (q.v.)
send data only at irregular intervals. Such systems are
to be:
termed asynchronous. In an asynchronous system, the
signaling rate is predetermined, but it is necessary to
C = BWlog, (1 + S/N) indicate the start of each piece of information (usually, a
byte or character) by sending a start-bit before and one
where BW is the bandwidth and S/N is the ratio of signal or more stop-bits (of opposite polarity) after transmission
strength to noise level—the signal to noise ratio. If S/N is of the data. Thus, a byte 145 (in octal) would be sent as
15, this equation shows that the channel capacity is BW shown in Fig. 4. From the arrival time of the start-bit, the
log, 16 = 4 BW, so that four-level coding (2 bits) can be bit timings of the subsequent bits can be deduced. The
used (see Fig. 3). stop-bit is required to ensure that, for at least a one-bit
The mode of modulation may make it possible for the time, the signal has an appropriate value by which a
modems to generate timing pulses themselves; such a subsequent start-bit can be recognized.
system is called synchronous. With these timing pulses, it It is even possible for the data format to be asynchro-
is possible to synchronize the two modems and produce nous (i.e. start- and stop-bits are included) with synchro-
timing pulses in the modem, to indicate when a bit is nous modems so that the transmission system itself is
synchronous. Although the start-bits and stop-bits are
being sent or received.
We mentioned earlier that the data format could be redundant in such a system, it is often convenient to
asynchronous with synchronous data transmission, re- include them when the same electronics in PS and SO of
dundant start-bits and stop-bits would be transmitted. Fig. 1 is to be used with different modems. As described
before, an asynchronous system has a fixed-byte length,
In the same way, even an asynchronous communication
whereas a synchronous system may have a variable
system can be used to send block-orientated data by
length (see below).
1027414 OO 110s 01
Start 0 1 j 0 0 1 0 1 Stop
FIG. 3. _Examples of four-level coding. FIG. 4. Data sent for octal 145 in an asynchronous system.
384 DATA COMMUNICATIONS
Multiplexed Communications The communica- ing hardware thus interprets six consecutive one-bits as
tion shown in Fig. 1, in which two parties, SO and SI, are signaling the end of a data block. For the case of multi-
connected, is called point-to-point. An alternative form plexed, multipoint, or polling situations, the header may
used in some applications is shown in Fig. 5. In the com- also contain polling or addressing information (see MULTI
munication circuit depicted by Fig. 5, SO can send (or PLEXING). Most synchronous communication systems are
receive) data along the channel connecting it to SI,, SI,, synchronous at the bit level, but are asynchronous at the
and SI,. By appropriate signaling, it is possible to ensure block level. For this reason, the header and the end-of-
that the data is received at its correct destination SI1. This block bear the same relation to the block as the start-bits
type of connection is called multidrop or multipoint. In and stop-bits do to the single byte shown in Fig. 4. Some
some cases, it is desirable to have information received special synchronizing bytes are sent in the header to
at all stations: This mode of communication is called obtain the bit synchronization achieved by the start-bit in
broadcast. an asynchronous system.
If several devices share the same communication
channel, as shown in Fig. 5, conflict for use of the channel
Local and Long Distance Communications
can occur. One mode of overcoming the conflict is to
To illustrate the problems of the control and synchroniza-
allow any device to request the channel at will; its efforts
tion required between SO and SI, we consider the inter-
to put information onto the channel will then be detected
face inside a single computer system. Here, the data
by the others, who will refrain from putting on their
communication path usually has a fairly complex hard-
information until the message-sending transmitter has
ware interface with lines for passing data and control. The
ceased. This mode of using a channel is called contention;
type of information passed is indicated in Fig. 6. This
it works well on a point-to-point basis, but reasonably
interface is for a synchronous autonomous simplex trans-
complex strategies must be adopted for successful con-
fer, with 8-bit data lines and a parity line (PD). The AO and
tention on multipoint channels because of the perceptible
SO lines in Fig. 6 are to assure each device that the other
delay between information being placed on the channel
is operational. The AC informs the source when new data
and its receipt by the other parties.
is required, and SO then informs the acceptor when the
Another way of resolving conflicts is particularly use-
data is ready. If an error (e.g. parity) is detected, AE
ful if one device, shown as SO in Fig. 5, can be used to
informs the source, and completion of block transfer is
control the others. This mode of control is called polling
indicated by ST.
(q.v.); in this mode of communications, SO will ask each
The discussion of the interface of Fig. 6 illustrates
SI, in turn, whether it has anything to send, or will address
one of the key features of data communication. In a local
an SI, if it wishes to send data to that device. Clearly, the
connection, there are a number of control lines to estab-
polling strategy can be carried further; SO can poll one
lish synchronization, timing, acknowledgement, error
device SI,, and address another one SI, to ensure that the
detection, end-of-transmission, etc. All such control infor-
data is sent from SI, to SI). Alternatively, it can poll to see
mation in the data communication system of Fig. 1 must
if any device has data to send. The whole question of
be carried with the data. Moreover, in a local system,
address control is complex and depends on the nature of
errors in transmitting data over the interface of Fig. 6 are
the communication channel. A normal telephone chan-
usually rare; over long distances, noise and other phe-
nel, for example, is usually point-to-point. A satellite com-
nomena will often cause bits to be lost. Since some of
munication channel is fundamentally broadcast, even if it
these bits may contain control information, care must be
is often used in a point-to-point manner.
taken in the communication environment to ensure that
Just as a single byte in Fig. 4 of an asynchronous
the correct action will be taken in all cases on both sides
transmission system was framed by a start-bit (often a
of the link. We will discuss below how some of this control
parity bit) and a stop-bit, so whole blocks are usually
information is passed.
framed by some synchronizing bytes, a start-byte, error-
In the communication of Fig. 6, the data is carried
detection bytes, and an end-of-block indication. This end-
across the interface in parallel; in that of Fig. 1, it must
of-block indication always used to be a specific byte
first be serialized. We discussed previously that, in some
sequence or an indication at the start of the block of its
systems, the modems of Fig. 1 established synchroniza-
length. More recently, a structure has been standardized tion with each other—the so-called synchronous systems
by the International Standards Organization (ISO, 1978).
in which the bit timings are developed in the modems. It
Here, the normal data bits have a “0” inserted into the
is merely necessary to establish this synchronization at
data stream by its transmitting communication adaptor
hardware after each five consecutive “1" bits. The receiv-
<< Acceptor Operable (AO)
Source Operable (SO) —————>
@— Acceptor Control (AC) —————
Source | ————— Source Control (SC) ———> Acceptor
(S) <——— Acceptor Error (AE) —————- (A) or
Sink
Source Terminate (ST)
Parity Digit (PD) ————>
Data Lines (8, DATA) ————>
FIG. 5. Multipoint connection between SO and Sh, Slz, Shs.
FIG. 6. Standard peripheral interface.
DATA COMMUNICATIONS 385
the beginning of the transmission. Since this takes some re-transmitted. The philosophy is particularly important
time, it is usual to send data in a synchronous system in when there are significant delays in the communication
a block with some header information, followed by the network (e.g. when one or more satellite hops are in-
data, and with some control and error detection data at volved), requiring a minimum of 0.5 seconds for a round-
the end. A synchronous system can be used only if the trip signal. The standardized control procedure (HDLC)
source SO of Fig. 5 has a buffer (g.v.) so that it can collect mentioned above prescribes variants at all these control
a whole block of information before transmission begins. functions. The control procedures for multiplexed com-
munication over public data networks have been stan-
Error Detection And Correction It is usual in a dardized further by the Consultative Committee on
data communication system to send some bits additional International Telephone and Telegraph (CCITT). Its pro-
to the actual useful data to identify the existence of, and cedures (X.25 to the customer, X.75 between carriers, and
possibly to correct, errors. The simplest error detection X.121 for international numbering) are the subject of an-
code is to add to each n bits of data an (n + 1)st bit, so other set of international recommendations (CCITT,
chosen that the sum of the (n + 1) bits is of a given parity 1978).
(even or odd); such an extra bit is called a parity bit. In the
asynchronous transmission system of Fig. 5, such a parity Public Data Services It is instructive to consider
bit is often sent immediately before the stop-bit. what speeds and modes of data communication are of-
While the code is simple, it is not adequate if high fered currently by the telecommunications authorities
information integrity is desired. Noise in transmission over the telephone networks. They usually offer facilities
lines occurs fairly often; one incorrect bit ina thousand is over both switched and leased lines. In the former, it is
a normal error rate on a switched line. Moreover, the possible to dial up any other subscriber on the switched
nature of these errors in such that the noise that causes network and to communicate with that party; in the latter,
them often lasts more than one-bit time. For this reason, connection can be made along only one path (possibly
most data transmissions systems, other than those multidrop, as in Fig. 5). On a leased line, because only one
involving the simplest keyboard terminals, send their path is used, it is possible for the telecommunications
information in blocks and use more sophisticated error- authorities to condition the line to improve its perfor-
detection codes that act on the whole block. One simple mance; such conditioning is called line equalization. Al-
method considers the block as made up of n-bit bytes; it ternatively, both with switched and leased lines, it is
then does a parity check on the ith bits of each byte, and possible to arrange for the modems to adjust to line
thus constructs the ith bit of a block-parity check byte. conditions; this is called equalizing or balancing the mo-
When this block-parity check is combined with a parity dems. On a switched line, this balancing must be done on
check on each byte, only errors that occur in rare combi- each call.
nations would remain undetected. A more sophisticated Fig. 7 illustrates the connection between two tele
set of error-detection codes is based on cyclic redundancy phones and their local exchanges. Between the ex-
checks (CRCs), which require rather more logic, but are changes (C-D in Fig. 7), there are separate channels in the
even safer. The subject of error-detection codes is dis- two directions, ensuring duplex facilities. On a switched
cussed fully by Petersen (1972). line, there is usually only one pair of lines, as shown in Fig.
Just as the interface of Fig. 6 must have an error-re- 7(a), between the telephone line and the local exchange;
turn line, so it is usually necessary to acknowledge the this is called a two-wire circuit. On a leased line, it is
correctness of each block sent. In some cases, this ac- possible to order at comparatively low cost a second pair
knowledgement is made before any new block can be of lines to the local exchange, as illustrated in Fig. 7(b). In
sent. In others, a header contains a block number which this case, one has a four-wire circuit, and is able to oper-
is increased each time a block is sent. It is assumed that ate at maximum speed simultaneously in both directions.
each block has been received correctly, unless a negative On asingle pair, as in A-B of Fig. 7(a), it is possible to work
acknowledgement is sent subsequent. If that occurs, ei- at medium speeds in both directions simultaneously. It is
ther only the faulty block or all subsequent blocks are also possible to work at a much higher speed in one
LE LE
A B es C D = E F
ier dees
Oca istant
(a)
Cc D E F
Telephone
Local
exchange Bc,eoe Distant
exchange vate ger| Telephone
FIG. 7. Schematics of telephone networks. (a) switched telephone line (b) four-wire leased
telephone line.
386 DATA COMMUNICATIONS
direction, with a lower-speed return path. Schematically, or byte (time division multiplexing TDM); or complete
this situation is then as shown in Fig. 7(b), but only one blocks may be sent (packet switching). Different forms of
pair of physical connections need exist between A and B hardware and software are needed in the switch S in each
or E and F. This low-speed return path is called a supervi- case. Terminals T supporting only one duplex data stream
sory return, and varies in speed between 75 and 300 bps. may also be supported in one of two ways: Either a
It is used to turn around the line in the half-duplex situa- concentrator C may be used (in this case, the number of
tion or to signal acknowledgements or enter keyboard terminal ports to T is greater than the number that can be
data in duplex. Thus, in the true four-wire case of Fig. 7(b), supported simultaneously; statistical averaging is used to
it is possible to have the high-speed data going simulta- reduce the number of terminals that would be refused
neously on each line, as shown in the figure, with addi- service to acceptable proportions), or a multiplexer is
tional reverse supervisory information. It is now used, wherein each terminal can be serviced—albeit pos-
customary to achieve speeds up to 2.4 Kbps duplex on sibly at a reduced rate if all are active. The switches S in
Public Switched Telephone channels, and up to 19.2 Kbps Fig. 8 will serve to demultiplex and then remultiplex the
in one direction (with potentially a supervisory signal in incoming streams to other switches S, concentrators C,
the return direction) on leased channels. For poorer qual- and multiplexers M.
ity channels, these speeds may have to be reduced. Some Note that there will usually be some limit to the
modems reduce their speeds automatically to adjust to number of simultaneous streams that can be handled
the quality of the telephone channels. by a switch S. If packet switching is used, this limit may
The Integrated Digital Services Network, discussed be fixed by the header address space (e.g. defined by
above, uses the digital transmission of Section 3 to pro- HDLC or X.25). If circuit switching (or even virtual call
vide two information channels (at 64 Kbps each) and one packet switching—see PACKET SWITCHING) is used, the
signaling channel (at 16 Kbps), all running duplex over
limit is set by the number of simultaneous buffers for
one two-wire line to the nearest switch or concentration
each call that can be supported. Several levels of mul-
point (see Halsall, 1989). From this point, the data is
tiplexing and concentration may be supported. This is
multiplexed digitally on to the standard digital data hier-
illustrated in Fig. 9.
archy used by the PTTs for inter-exchange transmission.
Moreover, the type of multiplexing between different
The interface standards have been defined by the CCITT
levels may be quite different. For example, between M1
as the X-Series of their recommendations for ordinary
and M2, a more powerful form of multiplexing, such as
data services, and the I-series for the Integrated Digital
packet switching, would be used.
Network Services. In totally leased facilities, the transmis-
All these techniques take advantage of one or more
sion circuits bypass the switches on PTT premises. How-
of the following factors:
ever, there are also switched data services. The switching
can be of a circuit-switched type, as in the normal tele-
phone system. Alternatively, they can be packet-switched. 1. Normally, not all terminals T operate simulta-
The choice of switching mode is quite separate from that neously.
of transmission mode. 2. When in use, the data transmission rate between
an active terminal and a network may exhibit
Private Data Networks finally, a brief discussion considerable variation.
of methods of data concentration and multiplexing is 3. The cost of along distance communication chan-
required. The situation is illustrated in Fig. 8. In Fig. 8, H nel increases much more slowly than its data
represents a computer that may receive a multileaved capacity. .
data stream. The multileaving may be in the form of a 4. The communications channels installed often
number of streams interleaved at the transmission level have greater capacity than the average traffic.
by using a different frequency for each stream (frequency
division multiplexing FDM); the bits of the different It is often cheaper to take advantage of the transmission
streams may be transmitted on a round robin basis by bit savings by incorporating more complex switching or mul-
tiplexing. In public data networks, the savings are partially fore, has to be thoroughly familiar with both hardware
(or entirely) enjoyed by the carriers. In leased networks, and software problem-solving techniques.
the customers, not the PTTs, are the main beneficiaries. The design of data communications software is heav-
Partially to ease disparities of cost and to encourage the ily influenced by the real-time requirements associated
use of public networks, some PTTs had started to raise with data communications applications. There is an end-
the cost of leased circuits, charge partly by volume of less variety in the sequence and timing in which messages
traffic on the leased facilities, and restrict the switching and characters are to be processed. Therefore, even the
permitted by the customer. With the advent of greater most exhaustive test procedure will test only a small
freedom of competition to the PTTs, and the difficulty of number of all possible interactions.
policing the nature of the traffic, some of these tactics are Various techniques have been developed to ensure
becoming less prevalent. the proper design of data communications software. The
interactions between two communicating entities are nor-
References mally defined by carefully specified protocols. The use of
state-transition diagrams has proved to be a valuable tool
1972. Petersen, W. W. Error Correcting Codes. Cambridge, MA: The
for specifying protocols, as well as for the design of soft-
M.LT. Press.
ware to implement these protocols. (See as an example
1978. CCITT. “Provisional Recommendations X.3, X.21, X.25, X.29,
X.75, X.121.” Geneva: ITU.
the state-transition diagram shown in Fig. 3.)
1978. McQuillan, J. M. A Practical View of Computer Communica- Another technique to deal with the complexities of
tions Protocols, McQuillan, J. M. and Cerf, V. G. (Eds.) New data communications that has proved highly successful is
York: IEEE EHO 137-0. the hierarchical design or layering of protocols. The ad-
1983. Proahms, J. G. Digital Communications. New York: McGraw- vantage of the layered approach is that changes in one
Hill. layer do not affect the other layers. Thus, definition, im-
1988. Halsall, F. Data Communications, Computer Networks, and plementation, and testing of the various layers can pro-
OSI. 2nd Ed. Reading, MA: Addison Wesley. ceed in parallel. The International Standards Organization
1988. Tanenbaum, A. S. Computer Networks, 2nd Ed. Englewood
(ISO) identified seven functional layers in the ISO refer-
Cliffs, NJ: Prentice-Hall.
ence model for an Open Systems Interconnection (OSD), as
1989. Black, U. D. Data Networks: Concepts, Theory and Practices.
Englewood Cliffs, NJ: Prentice-Hall. shown in Fig. 1. The first level, or physical control layer,
provides the physical, functional, and mechanical charac-
PETER T. KIRSTEIN teristics of the interface. The second, or link control layer,
provides for the reliable exchange of messages. In particu-
lar, it specifies the rules for overcoming transmission er-
rors. The third level, or network control layer, provides
SOFTWARE the functions required for intra-network operation, such
as addressing and routing. The fourth level, or transport
The importance of (and the attention given to) data com-
end-to-end control layer, ensures the reliable transfer of
munications software has been increasing at a rapid pace.
data between end points across a communications net-
This growing importance is driven by an ever-increasing
work. The fifth level is concerned with the control of a
demand for low-cost, flexible, and powerful data commu-
i session, which is the period of time during which a user is
nications systems.
connected to a computer system. In particular, this ses-
Almost every month, a new and powerful VLSI chip is
sion control layer provides for identification and authenti-
announced that performs functions that traditionally
cation of the user and for control of data flow during the
were performed by data communications software. Thus,
session. The sixth level, or presentation control layer,
the borderline between hardware and software is rapidly
moving. Today’s data communications engineer, there- formats the information as required by the interacting
388 DATACOMMUNICATIONS
annm
t © Morn wo t
SENDER
500 0 O ~oxex x x
UDADAA HORNOOGS )
Ces Se qsaqdq qa <q
RECEIVER
——> TIME
FIG. 4. Reject-retransmit scheme (each acknowledgment carries the number of the next message
expected).
390 DATA COMMUNICATIONS
oO -- vr o¢ Nw re) 0 wo
SENDER An gio we ote ER
WAN
ro) o x x
74) ONDA DD rhe) 2) ro) oO
= QS SS) = n= = <q <q
RECEIVER
a TIME
stop transmitting or at least slow down. This mechanism restrictions. To guarantee the continuous flow of mes-
is called flow control. sages over a data communications link, the number of
In simple terminal protocols, flow control is pro- outstanding messages allowed at any time (window A-C)
vided by means of special characters. When the receiver must be larger than the round-trip time divided by the
is not willing to accept more characters, a so-called time it takes to transmit one message. If this condition
XOFF character will be transmitted. The receipt of this holds, the sender will never be blocked by a closed win-
character causes the sender to stop transmitting. To dow B-C.
restart the transmission of data, the receiver sends the
so-called XON character. Since the XOFF and XON char- Concentration The flow control condition of the previ-
acters can be garbled or even generated by line errors, ous paragraph can be relaxed if the protocol supports
this simple scheme can lead to confusion. More sophis- concentration. In this case, several data streams can be
ticated protocols, therefore, use checksum-protected sent over the same physical channel. Each block carries
commands to turn off and restart the flow of data from an identifier signifying the data stream to which it be-
the sender. longs. Since each data stream is driven by an independent
All acknowledgment/retransmission protocols have
a built-in natural flow control mechanism. Just by not
acknowledging blocks (even though they were received
with a good checksum), the receiver can stop the sender.
More effective, however, is an extension of the sequence
number scheme to cover flow control. In this scheme, the MSG O AND
receiver returns with the acknowledgment not only of the MSG | SENT
SECQUENCE NUMRERS 2
sequence number of the next expected block, but also of AND 3 ARE AVAILABLE
an indication as to how many more blocks the receiver is
willing to accept. This indication defines to the sender a
window of legal sequence numbers it can use to send
data. (Therefore, this scheme is called the window tech-
nique.) Once all sequence numbers in this window are
used up (i.e. the window is closed), the sender must stop
transmitting and wait for an acknowledgment that may
open up the window again.
ACK | RECEIVED
Fig. 6 demonstrates the use of sequence numbers for SEQUENCE NUMBER 4
HAS BECOME AVAILABLE
flow control. The sequence number space is represented
as a circle. The circle is subdivided into three sectors: (1)
sequence numbers of blocks that have been transmitted
but not yet acknowledged (A-B); (2) sequence numbers
that are available for further transmission (B-C); and (3)
illegal sequence numbers (C-A). When the sector between
B and C becomes empty, the sender has to stop transmit-
ting. Points A and C on the circle are moved by the
acknowledgments; point B is moved by the transmis-
MSG 2, MSG 3. AND
sions. The dashed areas represent the sequence number MSG 4’ SENT
space used up by unacknowledged messages. NO ACKNOWLEDGEMENT RECEIVED,
WINDOW IS CLOSEO
One of the design goals for data communication pro-
tocols is the efficient use of the available line bandwidth;
i.e, the protocol should minimize the loss of line capacity
due to overhead and/or error control or flow control FIG. 6. Window technique.
DATA COMMUNICATIONS 391
set of sequence numbers, the sender can keep on trans- connections. By avoiding the transmission of long data
mitting even though some of the data streams may be blocks, a packet-switching system is able to ensure that
blocked. The use of independent sequence numbers for short blocks of high-priority data can be rapidly transmit-
each data stream is also important in order to minimize ted through the network. In a message switching system,
the interference between them. In particular, a protocol complete messages are stored at intermediate nodes,
must ensure that one data stream being blocked does not sometimes for long periods, before they are forwarded to
also block the users of the other data streams. the next node or the destination.
Terminal-Specific Procedures A large variety of func- Software Structure In the preceding section we
tions to be performed by the data communications soft- have shown what functions need to be performed by the
ware is common to many terminal types; others are data communications software. We will now turn to a
required only for a given terminal type. Functions that are discussion of software structures to implement these
common to many asynchronous terminals are: (1) echo functions. In particular, we will present a simple commu-
control; i.e. echoing of characters for full-duplex termi- nications software structure model to describe a software
nals and suppression of echo for half-duplex terminals; system for the handling of synchronous lines.
(2) padding; i.e. insertion of delay between characters to There are many ways by which data communications
accommodate mechanical movement for characters like software can be organized. The model depicted in Fig. 7
carriage return; (3) line folding; i.e. control of the maxi- represents a typical design that splits the entire task into
mum number of graphic characters that can be displayed functional units. Each of these functional units can be
on a single line; (4) code conversion; e.g. from EBCDIC thought of as a process. The exchange of information
(qg.v.) to ASCII (g.v.); (5) editing; e.g. deletion of characters between these processes can be done either on a shared
or lines of text; (6) keyboard control; i.e. locking and memory basis or via a more formal message exchange
unlocking of the keyboard for certain half-duplex termi- procedure that is supported by the operating system.
nals; etc. Functions that are common to many display- Most of the handling of the hardware that interfaces
type terminals are (1) cursor control (positioning of the the communications lines is normally implemented on
cursor on the screen); (2) type and range checking on the interrupt level to satisfy the realtime requirements
input data; (3) protection of read-only areas on the of in-flow and out-flow of data. The hardware interrupts
screen; (4) management of function keys; etc. occur either on a per character or a per block basis.
In the latter case, the hardware has the ability to deposit
Network Operation Communication protocols that are directly in memory and retrieve from memory a se
used in a network environment require additional quence of characters without software assistance. An
functionality. In particular, the establishment of paths interrupt is generated when this sequence has reached
through the network to any desired destination needs to a predefined length or a special contro] character (or
be specified in detail. sequence of control characters) is encountered. Thus,
Computer communication networks are either cir- if interrupts are generated only for a sequence of char-
cuit-switched or packet-switched. In a circuit-switched net- acters, the software is relieved of a great number of
work, the source and destination are connected by a repetitive tasks. In the following discussion, we will,
dedicated communication path that is established at the however, concentrate on the interrupt-per-character
beginning of the connection and broken at the end. This model, since it will allow us to describe more easily
type of connection is based on the traditional telephone the various tasks involved in handling a communications
technology, where subscribers require continuity in voice line or terminal.
transmission and reception. - The interrupt level processes INT-IN and INT-OUT
In packet-switching (q.v.) networks, short messages interact with the CHAR-IN and CHAR-OUT monitor level
(called packets) are handled individually by the network. processes. The CHAR-IN process assembles characters
Packets are stored at intermediate nodes, which switch into messages and passes the messages on to the MSG-IN
them to the next transmission line on the path to the process. In turn, the CHAR-OUT process receives mes-
destination. Transmission capacity is shared among all sages from the MSG-OUT process, disassembles the mes-
sages, and passes individual characters on to the inter- the message consists of several buffers, each buffer is
rupt level process INT-OUT. The MSG-IN and MSG-OUT forwarded separately to the INT-OUT process. All buffers
processes send messages to and receive messages from handed over to the interrupt level process carry a status
an applications program. We will now turn to a more indicator, which identifies them as either the head, mid-
detailed discussion of these processes for the handling of dle section, or tail of a message. The INT-OUT process
synchronous lines. uses this status indicator to control proper framing of
The main function of the INT-IN process is to store _ messages and the generation of the checksum. When the
characters in a buffer in memory. This task involves the head of a message is received, the accumulation of the
updating of an offset into the buffer, the detection of full checksum is initialized. After the last buffer of the mes-
buffers, and the switch-over to a new buffer. The start and sage has been emptied, the checksum is transmitted over
end of message detection is also done by the INT-IN the communications line.
process. These events are either directly signaled by the
hardware, or the software has to detect these conditions Conclusion The need to access computing re-
by searching through the stream of incoming characters sources, as well as the need of these resources to commu-
for special control characters. The calculation of the nicate with one another, has become _ ever-more
checksum is almost always done by the hardware. The important. We are rapidly approaching the day when data
INT-IN process reads the result of that calculation from a terminals are as widely accessible and frequently used as
control register and passes this information on to the telephones. In fact, single devices that can be used as a
CHAR-IN process. The INT-IN process also handles a large telephone, as a terminal, and as a fax machine and that, in
number of error conditions, such as underrun (i.e. a char- general, can be used as a multimedia communications
acter was not received in time by the software and there- device are now available.
fore was overwritten by the following character) and In the future, the requirements for data communica-
frame error (i.e. the proper message-framing characters tions system will be coupled more closely into the overall
were not detected due to line errors or transmitter er- communications requirements. Today’s data communica-
rors). Whenever such an error occurs, the CHAR-IN pro- tions engineer will have to be more familiar with other
cess is informed about the condition, and all incoming means of communication. Complex software systems will
characters are discarded until the start of the next mes- be required to tie the existing means of communication
sage is found. together into one integrated system. The data communi-
The CHAR-IN process receives from the INT-IN pro- cations software will, therefore, cease to exist as a sepa-
cess buffers that contain a status indicator. Depending on rate subject but will be folded into software systems that
this status indicator, the CHAR-IN process will build up satisfy a far greater range of communications require-
chains of buffers if a message does not fit into a single ments.
buffer, pass these messages on to the MSG-IN process if
the message was received with a correct checksum, or References
return the buffer to the operating system if any type of
error was detected by the INT-IN process. The CHAR-IN 1979. Davies, D. W., Barber, D. L. A., Price, W. L., and Solomonides,
C. M. Computer Networks and Their Protocols. New York: John
process also has to supply the INT-IN process with buffers
Wiley.
for the incoming messages. 1979. Doll, Dixon R. Data Communication Facilities, Networks, and
The MSG-IN process ensures that messages are deliv- Systems Design. New York: John Wiley.
ered to the applications program in correct order and 1986. Purser, Michael. Data Communications for Programmers.
without duplication. Messages that arrive out of order are Reading, MA: Addison-Wesley.
either held until the missing messages are received or 1990. Sherman, Ken. Data Communications: A Users’s Guide, 3rd
discarded and retransmitted later. All messages received Ed. Englewood Cliffs, NJ: Prentice-Hall.
in sequence, as well as all duplicate messages, are ac-
knowledged. The acknowledgment information is passed HOLGER OPDERBECK
on to the MSG-OUT process (dashed line in Fig. 7), which
inserts it into the stream of outgoing messages. The MSG-
IN process also informs the MSG-OUT process about any STANDARDS
received acknowledgment information. This information
allows the MSG-OUT process to free up buffer space that is The Need for Standards Most computer manufac-
occupied by messages that wait to be acknowledged. The turers have their own network architectures, but over
main tasks of the MSG-OUT process is to accept messages recent years there has been increasing emphasis on the
from the applications program, provide them with the use of internationally agreed upon standards for commu-
proper sequence number, if required, and pass them onto nication so that systems from different suppliers can
the CHAR-OUT process. A major part of the flow control work together. The ability for machines of different types
procedure is implemented in the MSG-OUT process be- to communicate is becoming progressively more import-
cause it is this process that must, at any time, be aware of ant as the focus shifts from the dedicated networks within
the ability of the receiver to receive more messages. an organization to the public networks that link separate
The CHAR-OUT process accepts messages from the organizations.
MSG-OUT process. If the message is contained in a single Networks were originally developed primarily to pro-
buffer, this buffer is given to the INT-OUT process. In case vide for remote access to computing facilities. For exam-
DATA COMMUNICATIONS 393
independently. The mode chosen depends on the appli- plications that need to update resources in a
cation and the economics of the situation, and, in the number of different systems so that they remain
lower layers, different families of standards have been consistent, ensuring, for example, that one ac-
created to meet the requirements of local and wide area count is debited and another credited, but that
networks. one of the actions does not take place without
The seven layers of the reference model can be con- the other.
sidered in two groups. The three layers below the net- 6. Remote database access—This protocol provides
work service deal with the problems of the various the means for managing database queries and
network technologies, and with the use of networks in responses from a remote site in a controlled and
combination and the routing of information between dif- coordinated way.
ferent networks. The transport layer and the layers above 7. Job transfer and manipulation—A job can be any
it are concerned with the organization of the communica- free-standing task executed on a number of sys-
tion from end to end between the participating systems. tems in sequence. This protocol controls the
Thus, the lower layers are primarily concerned with the movement of jobs around a network to exploit
process of data communication itself, while, the upper remote resources.
layers address the incompatibilities of data formats or 8. Directory services—Before communication can
representations (in the presentation layer) and of operat- take place, the systems involved must identify
ing system control of communication (in the session each other. The directory services provide stan-
layer) between systems. dard location mechanisms in terms of either
names or properties, just like the white and yel-
Applications The application layer forms the top of low page services offered in the telephone net-
the protocol stack, and models both the standardized work.
applications and their users. This layer does not provide 9. A wide range of network management facilities,
a service; all relevant aspects of the system are consid- allowing the resources that make up the distrib-
ered to be within it. uted system to be monitored, controlled, and
In consequence, the application layer has a more accounted for. One set of mechanisms is applica-
complex substructure than the other layers because the ble to many different classes of managed objects
user activity may require a number of standard functions distributed throughout or even outside the net-
in combination. Separate standards cover the common
work.
functions, known as application service elements, in-
cluding:
New work within ISO is currently in progress that will
lead to a general standard for remote procedure call
1. Initiating and controlling the communication— protocols.
The logical linkage created when two parts of the Almost all of the application layer standards begin by
application communicate is called an association defining some activity or resource that their protocol is
and so the function is called the association con- to control. Thus, for example, the file transfer protocol
trol service element.
begins by defining a model of file storage, and the virtual
2. File transfer access and management—This one terminal protocol begins with a model of interaction and
protocol can be used to access or control any
display. These models are then used when defining the
passive source or sink of information, identifying service offered and the protocol that supports it in order
the data required and organizing the data trans- to give meaning to the information exchanged.
fer.
3. Electronic mail exchange—(also known as inter-
personal messaging)—The mail protocols sup- Conformance The purchaser of a computer system
port the transfer of bodies of information, wishes to know that the applicable standards have been
possibly in a series of steps, on the basis of implemented faithfully so that it will do the job for which
steering information provided by the originator, it is intended. Checking that this is indeed the case is the
in the same way that the postal service would function of conformance testing. Every standard that is
handle an addressed letter. directly implementable (and not part of a framework for
4. Virtual terminal services—The virtual terminal other standards) contains a conformance clause that sets
service handles problems of access and synchro- out exactly what behavior is required, what options exist,
nization that arise when two communicating par- and what information is needed about the implementa-
ties manipulate the same resource at the same tion in order to assess it.
time. It would be used, for example, to resolve A family of subsidiary standards has been created to
conflict when a user and an application program define testing methodologies and then, for each of the
both wish to update the terminal screen at the major standards, to definea specific suite of tests that will
same time, and would ensure that their actions exercise all the major features of the protocol in a system-
were interleaved in a consistent way. atic way. Such testing, although obviously not exhaustive,
5. Transaction processing—The transaction pro- gives confidence that the standard has been correctly
cessing mechanisms provide a framework for ap- implemented.
DATA COMMUNICATIONS 395
Architecture
ISO 7498 X.200 OSI Basic Reference Model
ISO 9646 X.290 Conformance Testing Framework (5 parts)
ISO 9834 OSI Registration Procedures
ISO 10181 Security Framework
TR 10730 Tutorial on Naming and Addressing
OSI 10746 X.900 series ODP Reference Model
Physical Layer
= Many connector and signalling standards
Network Layer
ISO 8348 X.213 Network Service
ISO 8208 X.25 oa, X.25 Packet Level Protocol for DTE
ISO 8648 Internal Organization of the Network Layer
ISO 8878 Use of X.25 to Provide the Network Service
ISO 8880 Protocols to Provide the Network Service
ISO 8881 Use of X.25 in Local Area Networks
ISO 10028 Relaying Functions in an Intermediate System
ISO 9575, 9978,10030, 10589 Network Layer Routing
Transport Layer
ISO 8072, 8073, 8602 X.214, X.224 Transport Service and Protocol
Session Layer
ISO 8326, 8327,9548 X.215, X.225 Session Service and Protocol
Presentation Layer
ISO 8822, 8823, 9576 X.216, X.226 Presentation Service and Protocol
ISO 8824, 8825 X.208, X.209 Abstract Syntax Notation One
Application Layer
ISO 8649, 8650, 10035 X.217, X.227 Association Control Service and Protocol
ISO 8571 File Transfer, Access, and Management
ISO 8831, 8832 Job Transfer and Manipulation
ISO 9040, 9041 Virtual Terminal Service and Protocol
ISO 9066 X.218, X.228 Reliable Transfer Service and Protocol
ISO 9072 X.219, X.229 Remote Operations Service and Protocol
ISO 9545 Application Layer Structure
ISO 9579 Remote Database Access
ISO 9594 X.500 series The OSI Directory (9 parts)
ISO 9735 Electronic Data Interchange (EDIFACT)
ISO 9804,9805 Commitment, Concurrency, and Recovery Service and Protocol
ISO 10021 X.400 series Message Handling and Interpersonal Messaging
ISO 10026 Transaction Processing
ISO 10166 Document Filing and Retrieval
Management
ISO 9595, 9596 X.700 series Common Management Information Services and Protocols
ISO 10040 X.700 series System Management Overview
ISO 10164 X.700 series System Management Functions (13 parts)
ISO 10165 X.700 series Structure of Management Information
Functional Standards A system designer may be arbitrary pair of systems would communicate success-
faced with a choice of options and parameters in the fully.
various general-purpose standards that make up the To avoid this problem, a second tier of standardiza-
protocol stack to be implemented. If each designer made tion has been erected, defining functional standards that
independent choices, it would be unlikely that an give preferred values for all the choices that need to be
396 DATACOMPRESSION AND COMPACTION
made to support a particular user activity. These stan- chart of accounts descriptions. Documents for text edi-
dards are produced in consultation with regional im- tors and for legal, medical, and library applications also
plementation groups to ensure that all requirements are require very high-capacity storage devices; and there is a
taken into account. rapid increase in the number of systems handling such
material. At the same time, the proliferation of computer
Registration Authorities Successful communica- communication networks and teleprocessing applica-
tion depends on shared information. Preparing a system tions involves massive transfer of data over long distance
for connection to a network involves making a large communication links.
number of choices, ranging from the names and ad- To reduce the data storage requirements and/or the
dresses the system will be known by to the names of data communication costs, there is a need to reduce the
the types of documents it is expected to handle. This redundancy in the data representation—i.e. to compress
kind of information is too volatile to be the subject of or compact the data. Data compression also reduces the
standardization, but still needs to be managed and load on I/O channels in a computer installation. Because
distributed. of the reduced space requirements of compressed data, it
The requirement is met by the creation of standard- may become feasible to store data at a higher, and thus
ized procedures for the operation of registration authori- faster, level of the storage hierarchy (@.v.).
ties; for example, authorities exist to allocate addresses It is also interesting to note that, since data compres-
or maintain catalogs of data elements. sion techniques remove some of the redundancy in a
non-compressed text, they thereby automatically con-
Some Important Standards There are now a tribute to data security.
large and growing number of data communication stan- Data compression can be made transparent to the
dards—far too many to list here in detail. Table 1 gives the user and can be implemented in either hardware, firm-
ISO number (and the CCITT number where commonly ware, or software. The overhead involved in compression
referenced) and a shortened title of the major standards (followed later by expansion to recover the original data)
or groups of standards. is most severe in non-archival situations where the data
is being actively processed rather than stored for later
The Future The development of data communica- use.
tions standards is still going on. However, standardization Data compression is not without its disadvantages.
of applications involves considerations outside pure Assuming compression/expansion is done in software
communication, and aspects such as system configura- (which is often the case), the software complexity of
tion, management, and the relation of communication to the system is increased. This results directly in an
other system interfaces become important. At the same increase in the processing load of the system because
time, there is growing interest in the creation of standards of the additional CPU cycles needed for compression/ex-
to support arbitrary user activity and not just selected pansion.
common applications. Another disadvantage of data compression is a de-
These considerations have led to the formulation of crease in portability caused by the absence of well-de-
a new reference model within ISO, providing a framework fined standards. Reliability is also reduced because of a
for Open Distributed Processing (ODP), and standards decrease in redundancy that is useful for error-detection.
resulting from it will open the way to the construction of Data compression techniques are most useful for large
a new generation of more flexible and powerful distrib- archival files processed by I/O-bound systems with spare
uted systems. CPU cycles, and for the transfer of voluminous amounts
of data over long distance communication links. Data
References compression can achieve dramatic savings in total stor-
1987. Knowles, T., Larmouth, J., and Knightson, K. G. Standards for age requirements, up to 80% in some cases.
Open Systems Interconnection. Oxford: BSP Professional Data compression techniques can be classified as
Books. being either irreversible or reversible. With an irreversible
1989. Tanenbaum, A. S. Computer Networks (2nd ed.), Englewood technique (usually called data compaction, rather than
Cliffs, NJ: Prentice-Hall. data compression, although there are no standard defini-
tions), the size of the physical representation of data is
PETER F. LININGTON
reduced, while that subset of the information deemed
“relevant information” is preserved. For example, in some
data sets, “leading zeros” or “trailing blanks” may be
DATA COMPRESSION AND irrelevant information that may be discarded. Data com-
COMPACTION paction techniques are, by definition, dependent on the
semantics of the data.
For articles on related subjects see CoDES; CRYPTOGRAPHY, In data compression, all information is considered
COMPUTERS IN; DATA COMMUNICATIONS; and FILE. relevant, and the compression is followed by an expan-
sion that recovers the original data exactly. Reversible
Many data processing applications involve storage of procedures of data compression can be divided into two
large volumes of alphanumeric data, such as names, ad- groups—semantic independent and semantic dependent
dresses, inventory item descriptions, or a general ledger techniques. The semantic independent techniques can be
DATA COMPRESSION AND COMPACTION 397
Probability
Character of Occurrence Code
a 0.40 0
6 0.29 10
oy, 0.20 110
5 0.08 1110
G 0.02 11111
u 0.01 11110
FIG. 1. An example showing a Huffman code for the given set of characters.
used on any data with varying degrees of effectiveness. quently occurring characters would be long. The shortest
They do not use any information regarding the informa- character would be only one bit.
tion content of the data. On the other hand, the semantic To provide a simple illustration, suppose that it
dependent techniques depend on (and are optimized for) were necessary to encode only six characters: a, B, y,
the context and semantics of the data to provide for o, €, and 2. To encode these in a conventional manner
redundancy reduction. would require three bits per character. Suppose the
Data compression algorithms may also be embedded relative frequency of the characters is as shown in Fig.
in hardware. It is now possible to buy and install an 1. The figure also displays a coding of these six char-
electronic card into a slot in a microcomputer that inter- acters, called a Huffman code, which minimizes the total
cepts data being stored to or retrieved from a hard disk number of bits for characters appearing with the fre
(q.v.). Semantic independent data compression is applied quency shown, under the requirement that a message
to anything being stored, and corresponding expansion is with this encoding can be decoded instantaneously as
applied to anything being retrieved, both without the user the bits arrive in the data stream (i.e. there must be
having to intervene in any way. The result is to allow no ambiguity when a bit arrives as to whether or not
storage of up to 80 equivalent megabytes on a nominal it is the end of a character).
40-megabyte disk. As an example, the data string in the top portion of
In what follows, we briefly discuss some of the more Fig. 2 can be decoded immediately by reading left to right,
popular techniques used for data compression and then without waiting for the end of the string, since each 0 (or
give an example of data compaction. the fifth 1 in a sequence of 1s) must be the end of a
character. Note that it is important to start at the begin-
Adaptive Pattern Substitution This method ning of a data stream in order to decode it properly.
does not rely on the knowledge of any existing patterns; Note that the Huffman encoding scheme pays off only
neither does it anticipate any specific ones (i.e. it is a with a skewed character distribution. For example, if all
semantic independent technique). It scans the entire text characters in Fig. 1 were used equally often, the mean
by looking for common patterns of two or more bytes number of bits per character would be 3.33—worse than
occurring frequently and substitutes an unused byte pat- with the fixed-length character representation. For the
tern for the common long one. At the same time, the
probabilities given in Fig. 1, the average number of bits
per character is 2.05.
substitution dictionary is updated. Note that a new sub-
Another example of variable-length character en-
stitution dictionary is created specifically for a given text.
coding is Morse Code, in which the most frequently
For example, the text DAABFABC can be replaced with
occurring characters—“e” and “t”—are given one-bit
DAaFaC where a stands for AB. In this case, the substitu-
codes (a dot and a dash respectively), whereas all other
tion dictionary will have only the one entry, a = AB. characters are encoded through groups of two to five
dots and dashes.
Variable-Length Character Encoding Charac-
ter-encoding schemes in normal use have a fixed number
Restricted Variability Codes Because almost all
of bits per character. Tighter packing of data can be
computers are word-oriented rather than bit-oriented,
achieved with a code that employs a variable number of
bits per character. With such a code, the most commonly
occurring characters would be short, and the infre-
Character Code
a 00
Encoded message 1110 0 0 10 Ou 10 11110 B 01
y 10
re) 1100
E 1101
B a B Le 1 1110
Decoded message 5 a a
é 1111
FIG. 2. Example of decoding a data stream encoded in the
FIG. 3. The 2/4 code for encoding seven characters.
Huffman code of Fig. 1.
398 DATA COMPRESSION AND COMPACTION
b,0b,b4b,b2b,bo
the variability in length of the Huffman code for different (q.v.) character encoding, any character with a zero in the
characters is usually considered to be a drawback. This second position is not normally employed as a data char-
shortcoming can be avoided with the use of the re- acter. Such a character is therefore employed to indicate
stricted variability codes. It should be noted that this repetition of other characters (see Fig. 4). The character
advantage of the restricted variability codes usually in Fig. 4, therefore, indicates that the following character
comes at the price of less efficient use of bits in repre- occurs b, b, b, b, b; by+ 3 times (+3 because, if a charac-
senting characters. ter appears only twice, this method does not save any
As an example, consider the so-called 5/10 code, space).
which can represent up to 63 characters. In this encoding Suppression of repeated characters is a highly desir-
scheme, the 31 most frequent characters are represented able technique in most picture processing applications.
by the first 31 representations of the five-bit code. The
thirty-second representation can be used as a temporary Avoidance of Null Fields In some files, the fields
switch or escape character to indicate that the actual in a record may be highly variable in length or even
character is encoded in the next five bits. In other words, missing. In the latter case, presence bits can show which
the thirty-second representation of the first five bits fields there are, or, if only a few fields are usually present,
plus the second five bits provide encodings for the less tags can be used to denote the identity of the present
frequent 32 characters. Thus, five bits are required to fields. Fig. 5 shows a record format in which the presence
represent the 31 most frequent characters, while ten bits field is used to indicate whether a data item is present
bits are used to denote the 32 less frequent ones. The or not.
similarity to the use of the SHIFT key on a typewriter
keyboard should be noted. Clearly, for any n, there is Dictionary Substitution Where a quantity can
an n/2n code. As an example, Fig. 3 demonstrates an have only a limited set of attribute values, there is no need
encoding of seven characters in the 2/4 code with “11" to spell the item out in full; instead, a code can be used.
the escape character. It is assumed that a, B, and y are Examples are bank account type, insurance policy type,
more frequent than 0, €, 7, and 0. and gender (which requires only one bit). This technique
is very similar to the compact notation technique.
Compact Notation When fields are stored in the
form in which humans prefer to read them, they often Exploitation of Ordered Data _ By examining the
contain more characters than are necessary. Dates are relationships between successive data items, one can
a common example. We may write 15 DEC 1992 or, in sometimes derive an efficient coding scheme to achieve a
our most compact written form, 15.12.92, and so dates high level of data compression. As an example, Fig. 6
are often stored as six bytes in computer files. In the displays the first column of a list of names taken from a
machine, however, the month needs no more than four telephone directory. Note that, in the encoded version of
bits, the day can be encoded in five bits, and the year the names, only the changes from the previous name in
needs no more than seven bits if the century (e.g. 19) the list appear. The number in front of the trailing end of
is taken to be fixed—a total of 16 bits, or two eight-bit the name represents the number of characters that are
bytes. the same.
FIG. 5. The use of the presence bits in a record that can have a maximum of 16
data items.
DATAMODELS 399
RRS
DATA ENCRYPTION. See Cryprocrapny, Com-
Key(i-1) 10101010101010101 PUTERS IN.
RRS
Note that key i without its RRS bits can be distinguished Data models are notations for describing data. Typi-
from both key (i — 1) and key (é + 1). Similarly, it is cally, they are used to describe the structure and content
assumed that, with RRS bits deleted from the other two of databases. As such, they have similar goals to data
keys, one can still distinguish them from their adjacent types that describe data within programs. At least some
keys. researchers believe that it will prove possible to use the
In the above example, the removal of RRSs will result same notations for both data types and data stored in
in compacted keys that are not of equal length. Since this databases.
400 DATA MODELS
Data Model Requirements Data models disk storage that were then prevalent. It therefore leans in
have to meet several requirements: the direction of implementation efficiency. Conceptual
issues were limited to an assumption that data could be
1. Act as a notation to be manipulated and con- modeled in terms of entities and one-to-many relation-
structed during the design of a database; ships between them. These were modeled by two compo-
2. Provide a description that enables would-be nents—the record type and the set type. Records with a
users of the data to understand what data may be given record type all have the same format and represent
similar entities. Sets were not like mathematical sets, but
present and how to access it; and,
were ordered sequences of records owned by a particular
3. Be amajor component for controlling and organ-
record. For practical reasons, the record format was ini-
izing the use of data.
tially identical with that of Cobol, for which this model
was intended as a database standard.
Data Model Design The first two uses require no- All data models provide a repertoire of components,
tations that are conceptual (i.e. the level of abstraction
out of which a specific database description, or schema,
and set of constructs matches “natural” thought pro-
may be built. The two components in the network model
cesses in organizing data, such as classification). The
are record types and sets (the actual model was more
third use requires that mechanisms, such as storage
complex).
schemes, query evaluators, etc., can be implemented effi-
ciently for large bodies of data. These implementation
issues lead towards data models that pragmatically re- Data Model Diagrams Associated with most data mod-
flect memory management methods. As constructing ap- els is a diagrammatic form, particularly beneficial to
plications from a combination of databases and programs requirements 1 and 2. For the network model, these
is a serious engineering task, there is an essential require- diagrams were called Bachman diagrams; boxes repre-
ment for precision in the description of databases, and sent the record-types and arcs represent the sets. For
hence in the definition of the data model. Such precision the encyclopedia example, the diagram would be as in
is often achieved by relating the data model to a well-de- Fig. 2.
fined mathematical construct. Thus, there are three
forces pulling the designs of data models in different Data Description Language Also associated with a data
directions, as shown in Fig. 1. model is a data description language that allows the full
details of a schema to be expressed. For example, still
Data Model Examples Actual data models are dif- using the network model:
ferent compromises in response to these forces. A few will
be illustrated. A concrete example will be used in each Record Type Article is
case, based on the task of describing the contributions to
02 Title: Picture A(40);
an encyclopaedia. People are editors or authors. Authors 02 Word Limit : Picture 9(4);
are responsible for articles, articles are organized within
topics, and editors are responsible for topics. Set writes; owner Author; Member Article...
Network Model This model was developed in the late Relational Data Model This model was developed dur-
1960s in order to abstract various methods of organizing ing the 1970s and is the basis of several commercial
products. It is biased towards precision, as its one con-
structor, a relation, is based on the mathematical idea of
a relation. This allows formal argument about and manip-
Conceptual ulation of relational data—in particular, schemata may be
Naturalness transformed into equivalent schemata with better prop-
Implementation Mathematical
Efficiency Precision
FIG. 1. FIG. 2.
DATAMODELS 401
erties and queries transformed into equivalent queries Commercial Relational Systems
that may be evaluated more quickly.
There is a well-developed theory of relational systems, so-
The relation is a set of tuples with identical format.
phisticated strategies for their implementation, and query
Values in each tuple within the relation have elements
optimization techniques to achieve. adequate perfor-
taken from corresponding domains if they are in corre-
mance. In most cases they are dependent on the formal
sponding positions, and the positions are referred to as
precision with which the data model is defined. This tech-
attributes and given attribute names.
nology, supporting a relational view of data, is available in
Entity-Relationship Diagrams many commercial products. A standard query language,
SQL, ensures that, for straightforward use of the data,
A data model called the entity-relationship model (E-R there is reasonable interchangeability between products.
model) has been developed with more concern for the
conceptual requirement. It is used, with an associated
Object-Oriented Data Models’ There are data collec-
methodology, for designing databases. For the encyclope-
tions that are not easily organized in a relational form (e.g.
dia example, we get the diagram in Fig. 3.
graphs such as arise in genealogies, matrices such as arise
There is now a full repertoire of relationship forms,
in science and engineering, and sequences such as the
including many-to-many (the above diagram permits joint-
images in a video sequence). Current research and some
authorship of an article) and one-to-one relationships. commercial products have attempted to address these
Mapping E-R Diagrams to Relations deficiencies. In object-oriented data models, two con-
structors are essential. The object is a collection of values
Each entity type in the E-R diagram is simply represented that has identity independent of those values. So a value
as a relation, with one tuple for each entity instance, and in one object may be the identity of another object. The
the properties of that instance represented by the attri- other constructor describes an isa hierarchy between
butes in that tuple. If the values of one or more of these types of objects (classes), so that the fact that an Editor
attributes are guaranteed unique to the instance, we may isa Person is modeled explicitly.
call them keys of the relation. All four forms of relation- The diagram for the encyclopedia is shown in Fig. 4.
ship may then be represented by relations holding such and a fragment of the data language might be:
foreign keys. Where the relationship is of the form one-to-
many, the foreign key may be held as an extra attribute of type Person is
the relation at the “many” end. name : string
Where there is a one-to-one relationship, the rela- dateOfBirth : date
tions may be merged, but at the potential cost of null
values. For example, if there are special attributes for end
editors and only a few of the people are editors, null
type Author is
values would be needed for these editor’s attributes.
expertin : set of subjects
A fragment of the relational definitions might be:
reliability : integer
Relation Article (ArtNo : integer, end
! primary key underlined type Article is
Title : char (40);
Title : string
WordLimit : integer authors : seq of Author
topic : Topic
.)
Relation writes (Author : PersonNo; end
Article : ArtNo;
deadline : date;
delivered: date; Some researchers have attempted to use the math-
reminded : date) - ematical notion of functions as a foundation for func-
Article
FIG. 3.
402 DATA PROCESSING
tional data models, which also provide the object-ori- nel, payroll, accounting) and to broader business
ented features and may combine well with programs. applications (e.g. inventory control, sales fore-
These newer data models include several forms for bulk casting).
types (collections of instances of the same type) (e.g. 4. Scientific data processing, which is a rather
set of and seq of above). They attempt to provide a rarely used term and which is meant to imply the
wider repertoire of constructors that combine naturally. increasing recognition that business and scien-
This generates new issues in formal definition and im- tific applications of computers have much more
plementation. No one model yet devised is well suited in common than was once realized or, indeed,
to all applications. than was actually the case in earlier days.
cations areas but not between the characteristics of the failure to achieve wide popularity cannot be ascribed to
applications themselves. any deficiency in this viewpoint. Rather, it is due to the
The past distinction between business data process- very large inertia among Fortran and Cobol users that
ing and scientific calculations was reflected in the devel- prevents them from switching to a new language because
opment of computers ostensibly designed for one of their extensive investment in programs, libraries, and
application area but not the other. IBM’s 700 series of expertise in the older languages.
computers of the 1950s illustrates this point. (The 700 In the future we may expect the distinctions between
series comprised first-generation computers, which uti- the scientific and business applications areas to be fur-
lized vacuum tube technology; with the advent of transis- ther blurred as the widespread use of data communica-
tor technology and the second generation of computers, tions, and the increasing use of large databases further
a zero was added, and this became the 7000 series. Thus, pervade all applications areas. The name “data process-
the 7040 and 7090 were transistorized and somewhat ing,” therefore, will remain an inclusive term to describe
modified versions of the 704 and 709.) There were two computer applications of all kinds. It will continue to be
pairs of computers in this series, first the 701 and 702, and one of a few terms (information processing and symbol
later the 704 and 705. (There was also a 709, more power- manipulation are others) that may reasonably be used to
ful but quite similar to the 704.) denote what a computer does.
Both the 701 and 704 were designed for scientific
computing. Their memories were binary and word-ori- Reference
ented and, on the 704, floating-point arithmetic was stan-
1990. Senn, James A. Information Systems in Management (4th
dard. By contrast, the 702 and 705 were specifically
ed.). San Rafael, CA: Wadsworth.
designed for “data processing” applications, meaning
business data processing. Their memories were charac- ANTHONY RALSTON
ter- and digit-oriented and only fixed-point arithmetic was
possible. By the time of the advent of the IBM 360 series
of computers in the mid-1960s, the previous sharp dis-
tinction between scientific computing and business data DATA PROCESSING |
processing was becoming blurred so that the existence of MANAGEMENT ASSOCIATION. see
separate computers for the two areas was no longer con- DPMA.
sidered necessary. Nevertheless, the distinction still was
considered important and, for example, one model of the
360 series, the 360/44, was specially designed for scien-
tific computation.
DATA SECURITY
In the 1970s some manufacturers still oriented their For articles on related subjects see COMPUTER CRIME; COM-
general-purpose computer line toward particular applica- PUTER VIRUS; CRYPTOGRAPHY, COMPUTERS IN; and HACKER.
tion areas, most notably Control Data, with its 6000, 7000,
Cyber 70, and Cyber 170 series of computers intended Preserving the security of data (such as a payroll file
mainly for scientific applications, but the trend was or digitized graphical image) necessarily requires consid-
clearly toward computers for data processing without a eration of the security of the entire computing system—
distinction between scientific and business applications. its programs, internal data, and hardware and firmware
In the 1980s, only supercomputers, (q.v.) the very largest (q.v.) facilities. For example, it is impossible to protect
and fastest computers, typically with only a small number just data if the programs that access and potentially mod-
of each produced, could be said to be strictly scientific ify that data have been been corrupted.
computers.
The development of general-purpose high-level pro- Properties of Data Security Data security is typi-
gramming languages also parallels the history outlined in cally defined in terms of three properties:
the preceding paragraph. The first such language in the
mid-1950s, Fortran, was intended (and still is mainly e Confidentiality—Assurance that data, programs,
used) for scientific calculations. Even the version used up and other system resources are protected against
through the 1980s, Fortran 77, lacked the significant char- disclosure to unauthorized persons, programs, or
acter manipulation and good data structure facilities systems.
needed for many data processing problems. The second e Integrity—Assurance that data, programs, and
such language in the late 1950s, Cobol, was intended (and other system resources are protected against ma-
still is virtually always used) for business data processing licious or inadvertent modification or destruction
problems. Its arithmetic facilities, lacking as they do a by unauthorized persons, programs, or systems.
floating-point arithmetic capability, virtually preclude its e Availability—Assurance that use of data, programs,
use for significant numerical calculations. and other system resources will not be denied to
The development of PL/Iin the mid-1960s had, among authorized persons, programs, or systems.
its motivations, the desire to develop a language that
could be used for both scientific and business problems Additionally, one might also include in a definition of
because of increasing cognizance about this time of com- security the properties of authentication (the property
mon properties in these two applications areas. PL/I’s that persons, programs, or systems are accurately identi-
404 DATA SECURITY
fied by a computing system) and non-repudiation (the data have been changed between origin and use, the
property that communications received from persons, value of the checksum at time of use will (almost cer-
programs, or systems can be assured to have been sent tainly) not match that computed at time of origin, a signal
by their apparent senders). that the data have been changed.
A security flaw results from the lack, breach, or fail- Cryptography is also useful in establishing reliable
ure of confidentiality, integrity, or availability. The flaw computer-to-computer exchanges of information. Proto-
can arise from a variety of causes, including human, me- cols employing cryptography have been designed for
chanical, and environmental faults, as well as problems such activities as voting, producing unforgeable elec-
internal to the computing system. A risk analysis is a tronic receipts for data received, providing unforgeable
study to determine the susceptibility of a computing sys- evidence of the authenticity of the sender of a piece of
tem to various kinds of security failures. Risk analysis is data, and storing one data item so that it can be retrieved
performed by analyzing general threats to the security of only with the consent of several users (e.g. to make a
the system (such as loss of electrical power or program- maintenance password available only to a pair of people
mer sabotage), and then determining whether the threats acting together, such as the system operator and a main-
could affect the system in question. A threat that could tenance engineer).
affect a system adversely is called a vulnerability.
Computer security embraces many aspects of a com- Access Control Confidentiality, integrity, and avail-
puting system, including hardware design, operating sys- ability were defined in terms of “authorized access.” Two
tems, networks, database management systems (q.v.), things are necessary in order to enforce “authorized”
compilers, and user applications programs and systems. access: first, a reliable structure is needed under which
Vulnerabilities of computer systems range from the pos- authorizations to use resources are conferred (or re-
sibility of a trusted employee’s selling (or being forced to voked), and second, a reliable mechanism must exist to
reveal) secrets to a competitor, disk failures that render verify the authorization each time an access is attempted.
an entire volume of data unreadable, unauthorized oper- Part of the authorization process is procedural, im-
ating system penetration (see HACKER), inference of confi- plemented outside the computing system. For example,
dential data through carefully chosen queries posed to a an employee may be authorized to access certain files
database, loss of data because of floods or fires, acquisi- because of his or her job responsibilities, an individual
tion of data through wiretapping or sensing the emana- may be authorized to access certain classified data be-
tions of electronic equipment, or denying access to cause of having received a security clearance, a file’s
computing resources by flooding the system with other creator may confer access rights to a selected set of
requests for service. trustworthy users; or the administrator of a system may
Protection control can be effectuated through determine that data on that system may be shared with
software, hardware, physical, and procedural means, other specified systems. These permissions must be es-
combined to provide appropriate coverage against vul- tablished in a reliable manner. Furthermore, the authori-
nerabilities. For example, the procedural measure of zation data must be stored in such a way that it can be
creating backup copies of important data combined with modified only by authorized administrators. These
the physical measure of locking the door to the computer authorizations are stored in a data structure for use by
room ensures against loss of data. Hardware features the operating system or other unit that controls access.
and software controls—typically portions of the oper- Often, the authorization data structure is encrypted, pre-
ating system—combine to confine the accesses of each venting it from unauthorized modification and even limit-
system user. The selection of a set of controls is based ing those who can see who has been authorized access to
on an analysis of expected threats and available support. which files.
Once the list of authorized accesses is reliably estab-
Cryptography Cryptography (q.v.) is one important lished, individuals (human users, programs, or systems
tool by which to preserve confidentiality and integrity. acting as representatives for the individuals) will request
Confidential materials are encrypted to prevent their dis- access. All such individuals are called subjects; the re-
closure to unauthorized individuals (i.e. to people who do sources, Called the objects of a computing system, consist
not hold the cryptographic key for the materials). Fur- of files, programs, devices, and other items to which
thermore, encryption prevents unauthorized, undetected subjects’ accesses are to be controlled. For each subject
modification: someone may be able to scramble the bits and each object, the system must be able to determine
of an encrypted text so that the bits decrypt to nothing whether access by the subject to the object is allowable
meaningful, but, without breaking the encryption, no one and, if so, what type of access (e.g. read, write, delete).
can change a specific field of the underlying plaintext data Each requesting subject must be reliably identified by the
from “1” to “2.” One significant use of cryptography is to access control system, and the requestor’s identity may
compute a cryptographic checksum, a function that de- be verified. For example, operating systems often use
pends upon every bit of a block of data and also upon a passwords to ensure the authenticity of a user attempting
key used for the cryptographic function. For example, a to log in. More sophisticated authentication techniques
(weak) cryptographic checksum is the parity (¢.v.) of a include the use of automatic password generators, or
string of bits; any’ one change to the string affects the devices that sense a physical characteristic of the user,
parity. The cryptographic checksum is computed when a such as a handprint or the style of a spoken phrase. Some
block of data is created and again when it is used; if the subjects, such as certain programs or I/O devices, may be
DATA SECURITY 405
identified and authenticated by their hardware address, access control to these objects is the same, access is
process identification number, or other reliable internal controlled by different mechanisms. Memory can be
means. Thus, the login authorization file may be readable controlled through hardware features, such as base and
only by the process that performs user login. bounds registers or dynamic address translation (virtual
After the computing system has verified the identity memory (q.v.), paging, or segmentation). Access to I/O
of arequesting user, it is able to implement access control devices and computing time (i.e. to the use of the CPU)
decisions. The foundation of access control is the refer- is more frequently controlled by requiring the interven-
ence monitor concept, first documented in 1972. A refer- tion of the operating system to access the device. The
ence monitor must be: operating system is assisted by the hardware, in that
two or more states are present on the machine; direct
e Tamperproof, so that its functioning cannot be access to I/O devices is permitted only from the more
undermined. privileged state. Files and communications paths are
e Unable to be bypassed, so that it is invoked to typically controlled by permission to initiate access
authorize every requested access. (often called “opening” the file). Such accesses are
e Small, so that it can be scrutinized rigorously for requested from the operating system.
correctness.
One means of maintaining access authorization data is in Program Security Computers make access requests
an access control matrix. An access control matrix speci- only under control of programs. Every program operates
fies, for each subject, what objects that subject can ac- under control of or in the name of a user. Thus, the
cess and what kinds of access are allowed. The rows of an accesses of a program are presumably the result of re-
access control matrix represent subjects, and the col- quests from a user. However, programs are also modifi-
umns represent objects. Each entry in the matrix indi- able; that is, a program is actually a series of bits in
cates what types of access the subject may have, with memory, and those bits can be read, written, modified,
respect to the given object. For example, subject SMITH and deleted as any data can be. While a user program may
may be allowed to read, write, and delete file A, and yet be designed to read a file, the program, with minor modi-
be able only to read file B. The SMITH row of the matrix fication to the executable code, could instead write or
would contain {read, write, delete} in the file A column delete the file. Those modifications can be the result of
and {read} in the file B column. Although an access con- hardware errors and failures, a flaw in the logic of the
trol matrix is the most straightforward means of describ- program, or a change induced by some other program in
ing allowable accesses, in practice it is inefficient because the system. Hardware errors are uncommon, and check-
it requires a very large amount of space. A system with ing circuitry is built into computers to detect such errors
200 users, each of whom has 50 files, requires 200 < 50 = before they affect a computation. Unintentional or mali-
10,000 table entries. If most users’ files are private (inac- cious user errors are much more difficult to detect and
cessible by other users), most cells in the access control prevent. Programs are stored either in files or memory (or
matrix entries are empty, indicating no allowed access. An both); thus, the first line of defense against program er-
access control list is effectively a column of an access rors is file and memory protection (q.v.), which is designed
control matrix. For each object, there is one list that to prevent one user from accessing files and memory
includes only those users who should be allowed to ac- assigned to another user. While these controls protect
cess the object and the type of access they should be one user from another, they are less effective at protect-
allowed. For public objects, such as compilers and shared ing users from errors in their own program logic.
data files, a “wild card” subject can be specified; for _ A second protection against program errors is care-
example, the system programmer may have read and ful and thorough software engineering (q.v.), including
delete access, while all other users are allowed read ac- structured design, program reviews, and team program-
cess. Access control lists are especially effective for de- ming. Such programming practices will help to protect a
noting single users who should have specific types of user from unintentional errors.
access to certain objects. Alternatively, a capability list, The third form of protection against program errors
which corresponds to a row of the access control matrix, is software testing (q.v.). Unfortunately, testing can con-
can be maintained to control access. The capability list firm the presence of errors, but not their absence. How-
indicates, for each subject, the objects that subject is ever, a thoroughly tested program can provide credibility
allowed to access. to the contention that a program is error-free. Of special
Other types of access control mechanisms are ca- concern is the software that controls accesses. Presum-
pabilities, which are, effectively, tokens or tickets that ably, the program that controls access of any subject to
a user must possess in order to access an object, and any object also protects itself against access by all unau-
group authorizations, in which subjects ‘are allowed ac- thorized subjects. Nevertheless, the access control pro-
cess to objects based on defined membership in a group, gram itself represents a significant vulnerability: defeat or
such as all employees of a single department or the circumvent it, and you can obtain unhindered access to
collaborators on a particular project. The objects whose all system resources. For this reason, on more secure
access is controlled in a computing system include computing systems, the access control function is di-
memory, storage media, I/O devices, computing time, vided among several different modules: one to control
files, and communication paths. Although the nature of access to files, one to control access to memory, etc. In
406 DATA STRUCTURES
this way, defeating one module does not immediately DATA STRUCTURES
open all system resources to access.
A related question is correctness of the access con- For articles on related subjects see ABSTRACT DATA TYPE;
trol software itself, so that it will permit all and only the FIFO-LIFO; Fite; GRAPH THEORY; LIST PROCESSING; RECORD;
authorized accesses. Clearly, access control procedures STACK; STRING PROCESSING; and TREE.
are effective only if they are implemented properly. Good
software engineering practices for the design and im- The term structure is used in many different fields to
plementation of the access control software are com- denote objects that are constructed from their compo-
bined with rigorous control over its modifications, once nents in a regular and characteristic way. Loosely, a data
installed, to ensure the correct functioning of the access structure is a structure whose components are data ob-
control software. jects. As the term is used more precisely in computer
science, a data structure is a collection of data values, the
Malicious Code Computer data is vulnerable to at- relationships among them, and the functions or opera-
tacks by malicious programs. Such programs range from tions that can be applied to the data. If any one of these
overt attempts at accessing unauthorized data to more three characteristics is missing or not stated precisely,
covert ones that attempt to subvert a benign program. the structure being examined does not qualify as a data
While the overt, blatant attempts are typically precluded structure.
by the methods just described, the more subtle attempts Example. The arithmetic expression 3 + 4 * 5 is
may succeed. constructed in a systematic way from data components
A Trojan horse is a program that performs (or is made that are integers, such as 3, 4, and 5, and operators, such
to perform) some function in addition to its expected, as + and *. The structure of this expression may be
advertised use. For example, a program that ostensibly thought of as either a string or a tree structure in which
produces a formatted listing of stored files may actually each operator is the root of a subtree whose descendants
write copies of those files on a second device to which a are operands (Fig. 1). As a string, the operations to be
malicious user has access; the Trojan horse may even performed on it might include evaluation to obtain an
modify or delete the files. Or a program to produce pay- arithmetic result or concatenation (q.v.) with other strings
checks may reduce one employee’s check by an amount to form still longer expressions. As a free, relevant opera-
and add the same amount to another check. These pro- tions would include insertion and deletion of objects in
grams represent data security flaws because they permit the tree or various kinds of tree traversal that yield either
access to a resource by an unauthorized user. Unfortu- prefix, infix, or postfix equivalents of the original expres-
nately, the access control violation is not the Trojan horse sion (see TREE).
program itself: the file listing program has legitimate ac- When this data structure is stored in a computer, it
cess to every user’s file (or, more properly, to their must be stored so that components are readily accessi-
names—a distinction not made by most computing sys- ble. This may be done by storing the expression 3 + 4* 5
tems), and the paycheck program is using its legitimate as a character string A so that the ith character is re-
access rights to query time cards and write checks, but trieved by referring to the element A[i] or A(d), with the
with incorrect values. Thus, a Trojan horse is difficult to use of brackets or parentheses, depending upon the pro-
detect in operation, because it may behave ordinarily, gramming language being used. Alternatively, the string
performing only allowable accesses. The Trojan horse may be stored as a list structure, in which the vertex
program may have been flawed initially, or it may have associated with + has a left child 3 and a right child *,
been modified during or between executions through which in turn has left and right children 4 and 5 (Fig. 2).
some failure of access controls. (One serious source of Figures 1 and 2 illustrate the relation between data
Trojan horse infections is through users who fail to set structures, which specify logical relations between data
access limitations to the code of their programs, so that components, and storage structures, which specify how
malicious outsiders can modify otherwise innocuous and such relations may be realized in a digital computer. The
correct programs.) storage structure of Fig. 2 could be represented in a digital
Acomputer virus or worm is a particular type of Trojan computer by five three-component storage cells, where
horse that is self-replicating. In addition to performing each cell has one component containing an operator and
some illicit act, the program creates a copy of itself that it two components respectively containing a pointer (q.v.)
can then embed in other innocent programs. Each time an to the left and right children. The three cells that have no
infected innocent program is run, the attached virus code successors contain special markers in their pointer fields,
is activated as well; the virus can then replicate and here indicated by the word “nil.”
spread itself to other previously uninfected programs.
References
In order to define a class of data objects having a accessing mechanism so that A[i] will refer to the ith
common data structure, it is usual to start with a class allocated cell.
of primitive data elements called atoms, or elementary The arrays introduced are homogeneous because all
objects, and to specify construction operators by means elements of an array have the same data type, and are
of which composite objects may be constructed from the Cartesian (rectangular) because all vectors in a given
atoms. In the preceding arithmetic-expression example, dimension have the same size. Programming languages
the atoms are operands (integers) and arithmetic oper- such as Pascal, Cobol, and PL/I permit nonhomogeneous,
ators. The construction operators specify how expres- nonrectangular arrays to be declared. The following is a
sions are built up from operators and operands. The PL/I declaration of a PAYROLL record with a 50-character
set of construction rules that specify how operators are name field, fields of the mode FIXED for the number of
built up from operands is sometimes referred to as a regular and overtime hours worked, and a field of the
grammar (q.v.). mode FLOAT for the rate of pay:
In order to access and manipulate composite objects
DECLARE 1 PAYROLL
specified by a given set of atoms and construction rules,
2 NAME CHARACTER(50),
selectors must be defined that allow components of a data
2 HOURS
object to be accessed, and creation and deletion operators
3 REGULAR FIXED,
must be defined that allow components of data structures
3 OVERTIME FIXED,
to be created and deleted. Data structures may be char-
2 RATE FLOAT;
acterized by the nature of their accessing and their cre-
ation and deletion operators. If it is desired to refer to the number of overtime hours in
Some of the basic terminology relating to data struc- the record PAYROLL, then this is given by _ PAy-
tures will be mentioned by considering commonly occur- ROLL.HOURS.OVERTIME. That is, component names rather
ring data structures, such as arrays, records, sets, lists, than indexes are used to access a given element of the
trees, stacks, and queues. data structure.
An array is a data structure whose elements may be Sets are a convenient form of data structure when the
selected by integer selectors called “indexes.” If A is a order of elements is irrelevant, as in (for xeS do SUM: = SUM
one-dimensional-array data structure, then A[3] (or AG) +x;). Sets and operations upon sets are supported in their
in some languages) refers to the third element of A. If B is full generality by the very high level language SETL (¢.v.),
a three-dimensional array, then B[J/, J, K] or BY, J, K) refers which allows the user to make mathematical assertions
to the J, J, K element (B;,) of the array B. The set of all using mathematical set theoretic notation. Pascal also has
elements of an array are generally created and deleted at a data type “set” that allows us to talk about subsets and
the same time by means of declarations (q.v.), as test for set membership. However, Pascal sets have an
illustrated by the following examples: implementation-dependent maximum size, and support
only operations that can be simply defined in terms of the
REAL A (1,100) Fortran array declaration representation of finite sets as a binary string of zeroes
_integer array A[1:N]; Algol 60 array declaration and ones in a computer word. The gap between abstract
[1:N] int A; Algol 68 array declaration sets and their implementation is much greater than the
A: array [1..N] of real; Pascal array declaration corresponding gap for arrays or records. Sets are a “very
high level” data structure that can be completely im-
In Fortran, the declaration “REAL A(100)” serves to plemented only by “very high level languages.”
reserve a block of cells for the arrayA at compile time. In List structures, just as array structures, may be char-
Algol 60 or 68, declarations create an instance of the acterized by their accessing creation and deletion opera-
declared data structure at run time. Thus, the declaration tors. Elements of a list structure are generally accessed
“integer array A[1:N]” causes allocation of a block of N by “walking” along pointer chains, starting at the head of
storage cells large enough to hold integers using the the list. In a linear list, each list element has a unique
current value assigned to the variable N, and activates an successor and the last element has an “empty” successor
408 DATA STRUCTURES
Deleted
links
field, usually denoted by the symbol “nil.” In general, list For L = (AB), O), first) = (A,B), rest(L) = (C),
elements may have more than one successor, and lists first(first(L)) = A and rest(rest(L)) = NIL.
may be circular in the sense that pointer chains may form Lisp also has a construction operator, cons(X;Y),
cycles. Knuth (1973) introduced doubly linked lists that which constructs a list L such that first(L) = X and
have forward and backward pointer chains passing rest(L) = (Y), and a predicate atom(X), which is true
through each element, and a number of other kinds of when X is an atom and false otherwise. In the above
lists. Fig. 3 illustrates a doubly linked circular list named example, atom(first(L)) = false since first(L) = (A,B) but
L, whose head element H is linked both to the next ele- atom(first(first(L))) = true.
ment A and to the last element B. In general, any language for the manipulation of data
If the forward pointer is referred to by RLINK (for right structures has not only selectors for selecting compo-
link) and the backward pointer is referred to by LLINK (left nents of a data structure, but also constructors for con-
link), then the second list element (labeled A) may be structing data structures from their components and
accessed in either of the two following ways: predicates for testing whether a given data object has
certain attributes. Lisp illustrates particularly clearly the
RLINK(L) Forward chaining
role of selectors, constructors, and predicates in a pro-
LLINK(LLINK(L) ) Backward chaining
gramming language.
Insertion and deletion of elements in a list is accom- List structures are a flexible storage structure for
plished by creation of a new list cell and by updating objects of variable sizes or tables of fixed-size objects in
pointers of existing list elements and the newly created which insertion and deletion is frequently required. A
list element. Fig. 4 illustrates that the insertion of the list number of special classes of list structures will now be
element X between the list elements A and B requires considered in greater detail.
updating of the RLINK of A, the LLINK of B, and initialization A tree is a list in which there is one element called the
of the R and L links ofX. root with no predecessor and in which every other ele-
The instructions to perform this insertion might be ment has a unique predecessor. That is, a tree is a list that
as follows (assume that P points to node A): contains no circular lists, and in which no two list ele-
ments may have a common sublist as a successor, Ele-
create X pointed at by N ments of a tree that have no successor are called leaves
RLINK(N) = RLINK(P) of the tree. In Fig. 1, the symbol “+” is the root of the tree
LLINK(N) = LLINK(RLINK(P)) and the digits 3, 4, and 5 are leaves. Tree elements, just as
RLINK(P) = N list elements, are generally accessed by walking along a
LLINK(RLINK(N)) = N pointer chain. However, the guarantee that there are no
The list processing language Lisp, which was devel- cycles or common sublists makes it possible to define
oped by John McCarthy in the late 1950s, is the most orderly procedures for insertion and deletion of subtrees.
important list processing language. The list format and
instruction repertoire of Lisp will be briefly illustrated.
For ease of presentation, however, we will use a notation
different from that actually used in Lisp.
List elements in Lisp have two components select-
able by the selectors first and rest. If L is a list, then first(L)
selects the first element of the list, which may be either
an atom or a sublist, and rest(L) selects the rest of the list.
The list ((A,B),© is represented in Lisp by the list struc-
ture of Fig. 5. FIG. 5. Representation ofa list L.
DATA STRUCTURES 409
Input
Output
structure may, in general, be represented in tion structure, and hardware realization. These distinc-
many different ways by a data structure. tions are very similar to the previously discussed distinc-
3. Storage structure is defined by storage cells with tions for the data structure case.
pointers between storage cells. Storage struc-
tures, like data structures, are chosen so that Classification of Data Structures Although the
operators applicable to computational objects range of abstract data structures is exceedingly broad,
represented by a given storage structure may be any imaginable structure can be placed into one of three
simply and efficiently defined. There are, in gen- categories:
eral, many different storage structures that real-
ize a given data structure. 1. A static data structure consists of a fixed number
4. Hardware structure specifies how storage struc- of contiguous cells arranged in a geometric pat-
tures and transformations of storage structures tern. That pattern usually, but not always, has a
may be realized at the hardware level. certain symmetry, such as that of a rectangular
or hexagonal array.
Example. In modeling databases, the mathematical level 2. An elastic data structure consists of a variable
of abstraction models databases as mathematical rela- number of contiguous cells arranged in a geomet-
tions, the data structure level considers databases to be ric pattern.
directed labeled graphs, the storage structure level con- 3. A dynamic data structure consists of a dynami-
siders how the directed graphs representing particular cally changeable number of nodes, some or all of
data configurations can be efficiently realized by storage which have a stated logical connection to one
structures, and the hardware structure level considers another or to several others. Examples are trees
hardware and microprograms for realizing particular and linked lists.
storage structures.
Although these four levels of structure specification Static and elastic data structures are sometimes called
are somewhat arbitrary, they appear to be “robust” in the geometric data structures, in contrast to dynamic ones,
sense that attempts to quantify the notion of abstraction which are also called topological data structures.
invariably result in something similar to the above char- Representative data structures are classified in the
acterization. For example, in considering abstraction for three categories in Table 1. In each of the three categories
program structure, we generally distinguish between in Table 1, structures are arranged from simplest at the
mathematical structure, program structure, implementa- bottom to most complex at the top. This is easiest to see
in the dynamic category. The nodes of a graph may be Most programming languages provide a declaration
arbitrarily interconnected, either partially, as in Figure 6, facility or a standard convention to indicate the data type
or completely. The smallest degree of interconnection of the variable used. Thus, when the contents of the
among nodes in a dynamic structure is none at all, as is variable are accessed, they may be interpreted in the
exemplified by the set, the last entry in the dynamic proper manner. This is necessary, since a string of bits
category of Table 1. may have several meanings depending on the context in
Using a language such as C (q.v.) or Pascal, dynamic which it is used.
data structures have to be synthesized by using records The real data type is used to represent floating-point
for nodes and pointers (q.v.) for interconnections. Alter- data, which contain a normalized fraction (mantissa) and
natively, another programming language that supports an exponent (characteristic).
the given structure could be used. If a language does a The integer (or cardinal) data type is used to repre-
particularly good job of supporting a certain structure, it sent whole numbers, i.e. values without fractional parts.
is cited in the table. For example, Cobol might be the best Double precision is a generalization of the real data
choice when it is important to be able to process variable- type that provides greater precision and sometimes a
length records. APL, noted principally for its unusual greater range of exponents.
syntactic notation, is potentially valuable because it is the Complex data contain two real fields representing the
only language that supports elastic arrays; i.e. the dimen- real and imaginary components of a complex number a +
sionality of an APL array can be changed dynamically by bi (where i is the square root of —1).
adding or deleting whole rows and columns, even in the Logical, or boolean, data has only two possible val-
interior of the original array. ues, true or false.
Data structures capture the notion of computational Character or string, data is the internal representation
structure at a level that is sufficiently abstract to empha- of printable characters. Some coding schemes (BCD) per-
size logical relations among components of a data object, mit 64 characters and use six bits; others (EBCDIC and
independently of details of implementation but at the ASCII - g.v.) permit up to 256 characters and use 8 and 7
same time sufficiently concrete to preserve some relation bits, respectively.
between a structure and its computational realization. Label data refers to locations in the program and
Data structures thus represent an appropriate and practi- pointer data refers to locations of other pieces of data.
cable level of abstraction for characterizing computa- The commonly used operators for addition (+), sub-
tional structure, and it is for this reason that the study of traction (—), multiplication (*), division (/), and expo-
data structures is important in computer science. nentiation (** or T) may be applied to real, integer, double
precision, or complex data in high-level language pro-
References grams, with a few restrictions. The actual operation that
takes place depends on the data type of the operands.
1973. Knuth, D. E. The Art of Computer Programming 1 (2nd Ed.), Although some language processors permit “mixed
Reading, MA: Addison-Wesley.
mode” expressions (i.e. expressions involving operands
1978. Gotlieb, C. C. and Gotlieb, L. R. Data Types and Structures.
of differing data types), this is accomplished by convert-
Englewood Cliffs, NJ: Prentice-Hall.
1980. Standish, T. A. Data Structure Techniques, Reading, MA: ing (“coercing”) the operands to a common data type
Addison-Wesley. before the operation is performed (see COERCION).
1987. Horowitz, E. and Sahni, S., Fundamentals of Data Structures For example, to execute
in Pascal, 2nd Ed., Rockville, MD: Computer Science Press.
1989. Reilly, E. D. and Federighi, F. D., Pascalgorithms, Boston, N = (TEST + 90)/3
MA: Houghton-Mifflin.
the integer value 90 is converted to a real value, 90.0, so
PETER WEGNER AND EDWIN D. REILLY
that it may be added to the value of TEST (assumed to be
real-valued). Before the resultant real value can be di-
vided, the integer value 3 must be converted to a real
value, 3.0. Finally, the real result is truncated and con-
DATA TYPE verted to an integer so that it may be stored in the
For articles on related subjects see ABSTRACT DATA TYPE; (assumed) integer location N.
ARITHMETIC, COMPUTER; COERCION; DATA STRUCTURES; DECLARA- The logical operators and, or, not, implies, and equiv-
TION; and PROCEDURE-ORIENTED LANGUAGES. alence may be applied to logical data having true or false
values only. Character operations include concatenation
A data type is an interpretation applied to a string of (q.v.) and selection of substrings. For all data types, the
assignment operator (typically, — or :=) may be used to
bits. Data types may be classified as structured or scalar.
Scalar data types include real, integer, double precision, copy the contents of one location into another, and rela-
complex, logical (“boolean”), character, pointer, and label. tional operators may be used to compare values of data
Structured data types are collections of individual items.
Certain programming languages such as Snobol, Pas-
data items of the same or different data types. An array is
cal, Modula-2 (g.v.), and Ada (q.v.) are extensible in the
a data type that is a collection of data items of the same
sense that users may define new data types to suit the
data type. Records, structures, or files are data types that
needs of a particular problem. Such user-defined data
are collections of data items of one or more data types.
412 DATABASE COMPUTER
types are becoming increasingly popular. User programs tem optimized for relational database management that
may contain declarations of new data types, such as color, may be attached to one or more “host” computers, from
which might have a limited number of values such as red, which users can access data. A host computer may be any
orange, yellow, green, blue, and violet. Variable names one of three types of computers: mainframes (q.v.), mini-
could be declared to be of type color and could take on computers (q.v.) or intelligent workstations (q.v.) attached
only the stated values. An example in Pascal would be: to local area networks (q.v.). This architecture represents
a major departure from conventional processing tech-
type COLOR = (RED, ORANGE, YELLOW, GREEN, BLUE,
niques because it relieves the host computer of its heavy
VIOLET);
software DBMS burden by harnessing the cost-efficient
var CRAYON, PAINT: COLOR;
power of multiple microprocessors operating in parallel.
A user-defined data type might also be a subrange of A database computer allows concurrent access to the
a standard data type. For example, an age data type might relational database from end-user interactive sessions,
be restricted to range from 1 to 120. An example in Pascal on-line transaction systems, and high-volume batch jobs,
would be: and its multiprocessor (hardware) and software provide
major advances over software DBMS approaches to data
type AGE = 1..120;
management. All data is stored in relational tables and
var TREEAGE, CITIZENAGE: AGE;
accessed via a single, high-level, nonprocedural language,
The data type concept can also include sequential SQL (Structured Query Language).
or random access files and complex structures such as The Teradata DBC/1012 is an example of a micropro-
records, arrays, or trees, that are formed from basic cessor-based database computer that is expandable in
data types such as integers, character data, ages, or small modules of processing and storage capacity. The
colors. minimum configuration includes a processor subsystem
and a storage subsystem, providing up to 24 MIPS of
References processing capacity and up to 19 gigabytes of storage
capacity. The system can be expanded to more than 3
1976. Wirth, N. Algorithms + Data Structures = Programs. Engle-
BIPS and nearly 5 terabytes of data storage, all operating
wood Cliffs, NJ: Prentice-Hall.
1978. Gotlieb, C. C. and Gotlieb, L. R. Data Types and Data Struc-
as a single system with a single image. The DBC/1012 is a
tures. Englewood Cliffs, NJ: Prentice-Hall. very powerful database file server (q.v.), providing ter-
abytes of data accessible from the desktop of any user.
BEN SHNEIDERMAN There are three types of processors that may be used with
the Teradata database computer: interface processors
(IFPs), access module processors (AMPs), and communi-
cations processors (COPs). A system that uses the first
DATABASE COMPUTER
two of these is shown in Fig. 1. The IFP provides connec-
For articles on related subjects see DATABASE MANAGEMENT tion to mainframe hosts; the AMP manipulates the
SYSTEM; DEDUCTIVE DATABASE; arid RELATIONAL DATABASE. database, accesses disks and prepares the data results;
the COP provides connection to a local area network
A database computer, a form of backend processor, is (¢.v.), enabling user access from minicomputers, work-
a highly advanced parallel processing fault-tolerant sys- stations, and personal computers (q.v.).
Host system
Database
computer
software
Interface
processors
Proprietary bus
Disk storage
units
A high-speed interconnection of processors is a very than the older term file (g.v.), which was carried over into
important part of the system’s architecture that is de- data processing terminology from the pre-computer era.
signed to harness the power of 3 to 1,024 processors, Unfortunately, “database” is still all too frequently used
while high-speed disk storage units (DSUs) can be config- when all that is implied is a conventional file.
ured to provide nearly 5,000 gigabytes of database stor- The difference between a database and a file, in terms
age. used prior to the advent of data processing, is analogous
ANSI-standard Structured Query Language (SQL) is to the difference between a thoroughly cross-referenced
the single, comprehensive language used for data access, set of files in cabinets in a library or in an office and a
definition, manipulation, and report writing on a database single file in one cabinet that is not cross-referenced with
computer. any other file. The important difference between a com-
A database computer provides many expanded capa- puterized database and a thoroughly cross-referenced set
bilities that distinguish it from a software database man- of manual files is that the database must be stored on a
agement system. For example: direct access storage device in order for the computer’s
central processing unit (CPU-g.v.) to be able to utilize the
1. The use of microprocessor technology provides cross references.
cost-effective processing power that avoids Along with spreadsheets (g.v.) and programs for
costly mainframe CPU and I/O processing cycles. word processing (q.v.), database programs constitute one
Parallel processing (g.v.) eliminates oneat-a- of the three principal categories of programs in most
time bottlenecks as data is spread across a num- widespread use on personal computers (g.v.). The leading
ber of processors and disk storage units. The products as of this writing are dBase IV, RBASE, FOXPRO,
processing is performed asynchronously by mul- Q&A, and Paradox.
tiple, independent processors. The modular de- An important feature of a good database is that un-
sign of a database computer permits growth that necessary redundancy of stored data is avoided and
corresponds directly to user requirements. hence so are the consistency problems that are inevitably
2. The shared information architecture of a associated with such redundancy.
database computer adheres to Open Systems The term cross-reference is not normally used when
Interconnection (OSI - g.v.) standards and pro- talking about a database. Two terms are in common use,
vides the capability to serve a heterogeneous, namely, relationship and constraint. In the last analysis,
diverse network of mainframe computers, de these two terms are not far apart. There are different ways
partmental computers, and intelligent work sta- of talking about databases and, consequently, different
tions. Sharability permits all users, regardless of approaches and different sets of terminology. The ap-
the application they are running, to share a com- proach that is most widely used is usually referred to as
mon view of information, as the communication relational. An older but still widely practiced approach is
protocols and hardware platforms are transpar- the network model (see DATA MODELS). Relational terminol-
ent; a wide variety of software is fully compatible ogy is preferred here (see RELATIONAL DATABASE).
with a database computer.
3. Data protection from failure of a host computer, Tables, Columns, and Constraints A conven-
disk storage units, or abnormal termination of an tional file, as definable in Cobol since the early sixties, is
application program is an integral part of a regarded as consisting of a collection of records of the
database computer. Fault tolerance is accom- same type or possibly of different types. In the relational
plished in hardware by providing two indepen- approach, a file is referred to as a table, with several
dent paths to the data. The duplexed access columns and several rows. The importance of this termi-
paths are always in use, assuring maximum nological approach is that terms are used that are easier
throughput. Fallback data is stored on separate for a person not trained in data processing to understand.
processors and separate disk storage from the For all intents and purposes, a row in a table is the same
primary data copy, ensuring that the data can as a record in a file. A column in a table is what, in Cobol
always be accessed. terms, would be called an item (or, more correctly, an
elementary item).
Mary O. VARGO
Constraints The difference between the database ap-
proach and Cobol comes in the use of constraints in the
database approach. There are different kinds of con-
DATABASE MANAGEMENT straints in the relational approach, but it is first important
SYSTEM (DBMS) | to explain the role played by these constraints.
Data values that are to be stored in computerized
For articles on related subjects see DATA MODELS; DATABASE databases (specifically in the columns of certain tables in
COMPUTER; DEDUCTIVE DATABASE; MANAGEMENT INFORMATION a database) are often subjected to validation conditions.
SYSTEM; and RELATIONAL DATABASE. In other words, a condition may be expressed that a value
has to satisfy in order to be correct at the time it is stored
Database A database is a collection of interrelated in the database. Such a condition is called a constraint in
data of different types. The term database conveys more relational terms.
414 DATABASE MANAGEMENT SYSTEM (DBMS)
Uniqueness Constraints Two typical kinds of constraint TABLE 2. Purchase Order Table
can be illustrated. The simplest is that a value that is
stored in a column of a table must be different from the Purchase Order No. Date Supplier No.
values already stored in the same column in other rows in
the same table. This is called a uniqueness constraint. 74321 940406 12
While it is quite common to express a uniqueness 74322 940406 32
constraint on a single column in a table, it is also possible 74323 940408 13
74324 940408 12
to express such constraints on any two or more columns
in the same table. The term key (or unique key) has often
been used to convey concepts very similar to that in-
tended with “uniqueness constraint.” However, the term
“key” traditionally conveys the idea of some kind of mech- Looking at Tables 1 and 2, it can be seen that supplier
anism being maintained and used to make it quicker to number 12 has been sent two purchase orders and that
access the rows in a long table (see ACCESS METHODS). The suppliers 13 and 32 have each been sent one purchase
term “uniqueness constraint” does not imply the provi- order. However, supplier number 43 has not been sent a
sion of any kind of mechanism for this purpose. Definition purchase order. The referential constraint considered
of a uniqueness constraint means that a checkis automat- here does not require a supplier to have been sent a
ically carried out by a database management system, to purchase order. It would be possible to express this con-
ensure that the value being inserted in that column is not dition as a separate constraint additional to the one on
already to be found in an existing row of the same table. the Supplier No. in the Purchase Order table. The effect of
Examples of columns that would typically be the subject expressing the constraint on the Supplier No. in the Pur-
of a uniqueness constraint are employee number, social chase Order table is that the database management sys-
security number, supplier number, purchase order num- tem then carries out a check each time a new row is added
ber, and pay period number. to the Purchase Order table. (The check on one table
“refers” to another table and hence the name “referential
Referential Constraints The other important kind of constraint”.) If the check fails, then typically the table is
constraint is called a referential constraint. In order to not updated. The tie-in between referential constraints
illustrate this concept, consider the Tables 1 and 2.
and uniqueness constraints is that a referential constraint
It is important to note first that in Table 1 the column
refers to a column in another table that is the subject of a
uniqueness constraint.
headed “Supplier No.” and in Table 2 the column headed
“Purchase Order No.” should each be the subject of a
uniqueness constraint. In fact, it is a fundamental rule in Database Language SQL There is an interna-
a relational database that each table should have at least tional standard language used for defining the structure
one uniqueness constraint. (It is quite possible for a table of a relational database in terms of tables, columns and
to have two or more uniqueness constraints.) various kinds of constraints. This language is called SQL,
The concept of a referential constraint can be which originally meant “structured query language.” In
illustrated using the column in the Purchase Order table view of the fact that SQL is used for many more purposes
that is headed “Supplier No.” If expressed in narrative than this, the decoded form of the acronym is to be
terms, the referential constraint would read as follows: avoided.
The latest version of the ISO SQL standard [9075:
The value stored in the Supplier No. column of
1990] contains the definition of concrete language syntax
the Purchase Order table must match a value that
and associated semantics that can be used for many
has already been stored in the Supplier No. column
purposes associated with database management. It pro-
of the Supplier table.
vides facilities for the definition of a wide spectrum of
This constraint could be expressed as a business rule, as constraints far in excess of those illustrated in this article.
follows: The importance of being able to define constraints in this
way is as follows. A business rule such as the example
When the purchasing department sends a pur- given in this article has to be handled in a computerized
chase order to a supplier, the supplier must already system in some way or another. One alternative that has
be known. been and still is widely used is to represent the rule as a
procedure using a programming language. The modern
database-oriented approach is to represent the rule de-
TABLE 1. Supplier Table claratively using a database language such as SQL. The
arguments in favor of the latter approach are the follow-
Supplier Supplier Supplier ing. First, it is usually quicker and hence cheaper to
Number Name Address Phone represent the rule declaratively and then let a database
management system enforce the rule. Second, there may
43 Smith 23 South St, Walton 234567
be several programs that update any particular table ina
32 Jones 12 High St, Weybridge 678912
12 Brown 17 First St, London 1234566 database. With the procedural approach, the procedure
13 Black 23 West St, Putney 2452456 embodying the business rule has to be either repeated or
possibly invoked each time. Finally, business rules
DATABASE MANAGEMENT SYSTEM (DBMS) 415
change over time. It is usually easier to modify a declara- Examination of the rows in Table 3 shows that there
tive expression than to modify procedural code. is one cross on each row. This indicates that each pur-
chase order is related to one supplier. No purchase order
Database Management Systems The handling has been sent to Brown; Black has one; Smith has two; and
of the various kinds of constraints is the capability that Jones has three. Each column, however, contains zero,
distinguishes a database from a file. In order to build a one, two, or three crosses, which is evidence that there
database, it is the normal practice to use a piece of may be zero, one, or more purchase orders for each
generalized software called a database management sys- supplier.
tem (DBMS). A DBMS that is based on the SQL database This is an example of the commonest kind of relation-
language requires the database structure to be defined in ship that is permissible between two entity types, namely,
terms of tables, columns, and constraints. A typical com- a one-to-many relationship. The word “many” should be
mercial database might comprise some 50 to 100 tables, taken as meaning “zero, one, or more.” One could repre-
each having up to 15 columns and with one or two refer- sent the one-to-many relationship perceived in Table 3
ential constraints on most of the tables. The resulting using the technique shown in Figure 1. The relationship
definition is often referred to as a schema or database between the two entity types is not symmetric and some
schema. This database schema is referred to when defin- kind of indication is needed to depict this asymmetry.
ing the processes to be performed on the data. Many of While a rectangle is commonly used to represent an
the processes are fairly simple and do not need to refer to entity type, there is wide variation in practice in the
all of the tables in the database schema. It is possible in number of ways used to represent a relationship between
various ways to restrict the number of tables that a pro- two entity types. There are, in fact, ten different kinds of
cess is permitted to access. The statements that a DBMS relationship that can be discovered between two entity
uses to perform the processes on the data in the tables types. Several approaches to data analysis and the asso-
are called data manipulation statements and are typically ciated diagramming techniques also cater for relation-
specified as part of a database language. ships between entities of the same entity type and among
three or more different entity types.
Data Structure Diagrams Diagrammatic tech- Data structure diagrams provide a more effective
niques are widely used among analysts and designers to way of communicating with subject area experts and even
present an overall picture of the major data concepts and with users than a concrete language syntax, such as that
how they are interrelated. It is important to distinguish in provided in SQL.
this context between analysis and design. Analysis or
data analysis is an activity carried out to discover the Data Analysis and Database Design Thereisa
major data concepts in a given business area and how one close tie-in between data analysis and database design.
or more subject experts in that business area consider Many experts do not choose to recognize the two as
these concepts to be interrelated. One of the major tech- separate activities. There are some who prefer a dis-
niques used as a means of communication between ana- tinctly different way of modelling data for analysis pur-
lyst and subject expert is data structure diagramming. poses from that used for design purposes. For example,
During the analysis phase, each major data concept is some analysis techniques permit relationships among
often referred to as an entity type. For example, one would three or more entity types and this capability is not al-
refer to the entity type “supplier” and the entity type lowed in database languages such as SQL. The ISO Refer-
“purchase order.” During the dialogue between analyst ence Model of Data Management [IS 10032] refers to a way
and subject area expert, it might be agreed that there is a of modeling data as a data modeling facility. It refers to a
relationship between these two entity types. The precise model of application data developed using a data model-
nature of the relationship could be analyzed by looking at ing facility as an application data model. It has been com-
some specific suppliers and specific purchase orders and mon practice to refer to each of these with the same term,
preparing a cross reference table between the two that data model. If the data modeling facility used for analysis
might appear, as shown in Table 3. purposes is different from that used for design purposes,
it is necessary at some point to convert the application
data model of the data from the one form to the other.
TABLE 3. Cross-Reference Table Between Supplier and
Purchase Order
Supplier Supplier
PO6 Xx
PO9 x
Purchase order
PO 15 X
PO 16 xX
PO 17 xX
PO 21 xX FIG. 1 Data structure diagram showing entity types and the
ee relationship between them.
416 DATAFLOW
Enter a, b, c
Exit x, y
an arithmetic/logic unit (g.v.) and a memory for instruc- Toulouse’s LAU (for Langageaé Assignation Unique)
tion cells. The operation units are called nodes and are system also implements basic dataflow. The LAU system
connected by a shift register interconnection network. consists of a collection of processors, a central memory,
Both the operation units and instruction cells are ad- and a control unit to detect all executable instructions in
dressable. The primitive operations correspond to these memory. Architectures for basic dataflow using conven-
operations used in an intermediate language for compil- tional processors have also been proposed.
ing Fortran to TI's ASC computer. A front-end processor It is clear that dataflow languages can be used where
(q.v.) accepts Fortran programs represented as dataflow either parallelism or communication between asynchro-
graphs, identifies subgraphs having no data dependen- nous processes must be accommodated. The firing se
cies in the graphs, and distributes the subgraphs to vari- mantics associated with a node and the graphical nature
ous nodes of the DDP execution. of dataflow enhance the overall understanding and con-
Burroughs Corporation Data Driven Machine (DDM1) trol of these complex activities. This is to be contrasted
executes dataflow programs using a tree structure for with the traditional textual language solutions to these
organizing the atomic units and a switch at each node of problems, which often increase the overall complexity of
the tree to distribute its output. Each atomic unit consists the algorithms involved. Architectures based on abstract
of a processor with a number of microprogrammed func- dataflow are currently under development at various uni-
tional units for manipulating data and managing storage. versities and industrial research laboratories. Extended
Like TI’s DDP, this dataflow architecture also requires a abstract dataflow mechanisms that can be used in model-
front-end processor for identifying and distributing sub- ing and designing reconfigurable systems are being stud-
nets in dataflow graphs. ied. Programs based on abstract dataflow are currently
418 DATAFLOW
Distribution Arbitration
Network Network
being implemented and debugged using simulators. Sev- lists, records, and arrays, are also supported along with
eral high-level textual languages for dataflow have been operations on them. The single assignment rule compli-
proposed and are in various stages of implementation. cates modifications to an element of a list or an array.
The languages are closely related to the functional (appli- Copying entire lists or arrays when only a single element
cative) languages proposed by Backus (1978). needs to be modified is expensive. Parallel data struc-
turing mechanisms have been devised to avoid the
References copying.
1969. Karp, R. M. and Miller, R. E. “Parallel Program Schemata,” J. Since the execution of functions is free of side effects
Comp. Syst. Sci. 3, No. 2: 147-195 (May). in a dataflow language, the detection of parallelism is not
1975. Dennis, J. B. and Misunas, D. P. “A Preliminary Architecture hard. In fact, dataflow languages and logic programming
for a Basic Dataflow Processor,” Proceedings 2nd Symposium languages such as Prolog are two important classes of
on Computer Architecture. New York, pp. 126-132. languages where implicit parallelism can be detected at
1976. Fosdick, L. D. and Osterweil, L. J. “Data Flow Analysis in compile time by doing a data dependency analysis and a
Software Reliability,” ACM Comp. Surveys 8, No. 3: 305-330 global flow analysis.
(September).
Almost every research group that has developed a
1978. Backus, J. “Can Programming be Liberated from the Von
Neumann Style? A Functional Style and its Algebra of Pro- dataflow architecture has invented a dataflow language
grams,” CACM 21, No. 8: 613-641 (August). for that architecture. One of the early languages that
1980. Lanskov, D., Davidson, S., Shriver, B., and Mallet, P. W. “Local made an impact is VAL (Ackerman, 1979). The code
Microcode Compaction Techniques,” Comp. Surveys (Septem- generated by VAL was targeted for MIT’s static dataflow
ber). architectures (Dennis, 1984, Srini, 1986). One of the
serious limitations of VAL was the lack of I/O and
Bruce D. SHRIVER, STEVEN P LANDRY, AND VASON P. SRINI
prohibition of recursive functions. Several features of
VAL were used in the development of SISAL (McGraw,
1984). Compilers for SISAL have been developed for a
LANGUAGES
few architectures, including the Manchester dataflow
A dataflow language is a functional programming machine.
language in which a variable may be assigned a value The language Id (Irvine Dataflow language), devel-
once and only once throughout a program. There are oped by Arvind and others (Arvind, 1978) to support
programming languages, such as Prolog, that also use the dynamic creation of instances of functions, is a
single assignment to a variable, but are not dataflow block-structured expression-oriented dataflow language.
languages. If the same variable name is used on the left The basic expressions are blocks, conditionals, loops,
side of an assignment statement in more than one place and procedure applications. An unravelling interpreter
in a dataflow language program, the second and other has been devised for Id that automatically unfolds loops
appearances of the variable are treated as new variables. constrained only by data dependencies. A parallel data
Many of the constructs found in block-structured lan- structuring mechanism called the I-structure has been
guages, such as Pascal and C (q.v.), are usually supported devised to avoid structure copying when elements are
in a dataflow language also. Data structures, such as updated.
DEBUGGING 419
References
1. An otherwise logically correct program contains
1978. Arvind, Gostelow, K. P., and Plouffe, W. The Id Report: An one or more isolated statements or instructions
Asynchronous Programming Language and Computing Machine, that are syntactically (i.e. grammatically) incor-
TR #114, Dept. of Computer and Information Science, UC rect in the programming language being used.
Irvine, CA 92714, September. 2. A potentially correct algorithm may be coded in
1979. Ackerman, W. B. and Dennis, J. B. VAL—A Value Oriented
a logically incorrect way.
Algorithmic Language: Preliminary Reference Manual, TR-218,
Computation Structures Group, MIT-LCS, Cambridge, MA, 3. The algorithm implemented may function cor-
June. rectly for some but not all data values, or, more
1984. Dennis, J. B., Gao, G. R. and Todd, K. W. “Modeling the insidiously, it may fail for just some few combina-
Weather with a Dataflow Supercomputer,” JEEE Transactions tions of input values.
on Computers, C-33, July, 592-603.
1984. McGraw, J., Skedzielewski, S., Allan, S., Grit, D., Oldehoft, R., These three types of errors create debugging problems of
Glauert, J., Hohensee, P., and Dobes, I. “SISAL Reference Man- increasing severity and typically require substantially dif-
ual,” Technical Report, Lawrence Livermore National Labora- ferent approaches to debugging.
tory, CA.
1986. Srini, V. P. “An Architectural Comparison of Dataflow Sys-
tems,” Computer, March, 68-88. Syntactic Errors The more flexible the syntax of a
programming language, the easier it is to make syntactic
VASON P. SRINI errors. Thus, the simplicity and rigidity of machine lan-
guage makes syntactic errors (such as illegal operation
2
codes) relatively rare. From assembly language up
through high-level language, however, it becomes increas-
DEADLOCK. See Concurrent PROGRAMMING. ingly easy to write a statement that is not grammatically
acceptable to the language processor. Whether such
statements occur because of typographical errors, im-
perfect understanding of language syntax, or just plain
DEBUGGING lack of concentration, such statements will prove to be
only a minor annoyance, since they will produce diagnos-
For articles on related subjects see BuG; DIAGNOSTIC; DUMP;
tic messages (diagnostics) when the errant program is
ERRORS; FLOWCHART; LOOP; PROCEDURE-ORIENTED LANGUAGES: assembled, compiled, or interpreted.
PROGRAMMING; PROGRAM; PROGRAMMING SUPPORT ENVIRON- Language processors vary greatly in the quality of
MENTS; and TRACE. their diagnostics. For example, consider the spectrum of
possible responses to the statement:
In a 1966 article in Scientific American, the late En-
glish computer scientist, Christopher Strachey (q.v.), C=4A
wrote:
The message SYNTAX ERROR tells us nothing more than that
Although programming techniques have im- the processor doesn’t like it. The message ERROR 17 is
proved immensely since the early days, the process annoying but at least raises the hope that if we look up
ERROR 17 in some reference manual, we’ll get to the root of
of finding and correcting errors in programming—
known graphically if inelegantly as “debugging”— the difficulty. Finally, the message IMPLIED MULTIPLICATION
still remains a most difficult, confused and NOT ALLOWED attempts to be helpful, especially if given in
unsatisfactory operation. The chief impact of this conjunction with some such printout as
state of affairs is psychological. Although we are
C= aA
happy to pay lip service to the adage that to err is A
which would cause many compilers to respond with: other extremes, the programmer may ask for extensive
printout only at (normal or abnormal) program termina-
THE TEST FOR EQUALITY BETWEEN REAL NUMBERS MAY NOT BE
tion—a so-called postmortem dump—or, a last resort be-
MEANINGFUL
cause of its gross inefficiency, a printout of key registers
(i.e. one cannot expect a computed value, A in the above, or variables after every statement (or perhaps every nth
to be exactly equivalent to some other comparison value statement) or instruction executed; i.e. a trace of program
right down to the last bit of precision). flow. Narrowing the source of the error to a small section
Designers of language translators intended for exten- of code by one of these means or another is the necessary
sive student use try hard to make their diagnostics prelude to final identification of the error being pursued.
“friendly.” However well they succeed, it is usually the
case that students become unduly elated upon receipt of Algorithmic Error When all known syntactic and
NO DIAGNOSTICS when, in fact, such a message is more likely semantic errors have been removed from a program,
to denote the real beginning of the debugging process there is still a question as to whether the implemented
rather than its conclusion. algorithm actually solves the desired problem for all legal
combinations of input values. Because so few programs
Logical Errors Logical errors are sometimes called are genuinely new in the sense of testing untried algo-
semantic errors because they cause the program to have rithms, this type of error is rather rare among profession-
a meaning that, though syntactically valid, is other than als but not among students who are prone to encode,
what is needed for consistency with the algorithm being even if “correctly,” some rather bizarre “algorithms.” In
implemented. No translator will object to C= A + B even either case, such algorithmic error can be very difficult to
if C = A — B is what is needed, but such an error is detect. If a program has been running satisfactorily for a
virtually certain to cause incorrect results. Of course, sustained period, its users may place undue confidence
most logical errors are more subtle. Typical errors cause in its output to the point where they would not detect
programmed loops to run one time too few, one time too answers that are nearly, but not quite, correct. Exten-
many, or to run indefinitely (“infinite” loops), or not at all; sively tested programs that compute reliable results for a
cause misallocation of memory relative to actual space wide range of input values and that carefully check and
needed; cause input data to be read with improper for- reject illegal input are said to be robust. Programs that
mats; or cause weird program behavior in any number of lack robustness are far more likely to be deficient because
ways. Those errors that cause program termination with of logical errors (usually unchecked pathways or unveri-
run-time diagnostics are easier to isolate than those that fied input) rather than algorithmic error.
lead to infinite loops or to “normal” termination with A program that gives correct answers for some or
incorrect answers. An example would be the very explicit even many input cases may nonetheless contain huge
message: stretches of code that have never been executed. A signif-
icant component of programming talent is the ability to
THE FOLLOWING INPUT RECORD DOES NOT CONFORM TO THE devise a sufficiently comprehensive set of test cases that,
FORMAT SPECIFIED AT LINE 1023 (followed by a printout at a minimum, exercise all program branches not only
of the offending record), serially but also in such sequential combinations as to
give reasonable assurance that the program will indeed
but not all run-time diagnostics can be so precise. be robust.
When program execution does not lead to an easily
localized error, the programmer has recourse to several Symbolic Debuggers Most modern assemblers
debugging tools. One of the more efficient is to embed and compilers are now supported by a software tool
some temporary print statements at strategic places in known as a symbolic debugger. The word “debugger,” how-
the program flow in order to monitor the progress of ever, connotes an intelligence that does not exist. Such a
intermediate results, the objective being to pinpoint the debugger does not and almost certainly could not auto-
exact transition from successful progress to the point mate the debugging process. A symbolic debugger is no
where the logic goes awry. (The information printed com- more than an information gatherer, one that helps the
prises what is sometimes called a snapshot dump, since, user gather evidence much more easily than having to
after capturing a record of conditions at a particular splice gratuitous output statements into source code.
checkpoint, the computation continues. Of course, a pru- The fact that a debugger is “symbolic,” however, is
dent programmer would have had the foresight to include very valuable. When an executing program halts prema-
several such checkpoints in the program in anticipation turely or emits wrong answers, it is object code that is
of less than perfect initial operation, but it is almost doing so, and, at this stage, the symbolic content of the
inevitable that additional narrowing of focus will be source code from which the object code was produced is
needed. Interpretive languages can be easier vehicles for not ordinarily available. What, pray tell, does it mean to
debugging in this sense, since the value of any desired find that your program has stopped at hexadecimal loca-
variable can be solicited at the point of failure without tion 7FA3C with hexadecimal D76EA92B in general regis-
prior inclusion of snapshot commands; this is more diffi- ter number 7? But if, when we assemble or compile the
cult with a compiler, since, by execution time, knowledge source code we tell the language system being used that
of the mapping between symbolic variable names and we intend to debug with a symbolic debugger, a mapping
absolute memory cells has usually been lost.) At two of symbols to numeric locations will be created and made
DEBUGGING 421
available in the event that something bad happens at run all occurrences of INTERGER to INTEGER can get a poor
time. If and when it does, we may then ask to see, for speller out of a bind pretty quickly, especially if the errant
example, the current value of some variable such as Ra- word occurs 57 times.
dius or Volume by those very names rather than their When all corrections are made, the programmer typ-
memory cell locations. ically asks the operating system to save the updated text
A second prime attribute of a symbolic debugger is segment and to retranslate this source element into a
that it allows us to run a program incrementally, a step at machine language object element using a particular lan-
a time, rather than allowing execution to proceed as far guage processor. The debugging cycle then continues
as it can without aborting. One can take either small or iteratively until the program is deemed to be “correct.”
large steps, whichever one chooses, by moving either Unfortunately, saying so doesn’t make it so, and the pro-
from statement to statement or from one checkpoint to gram may still need considerable exercise before it be-
another, pausing as needed to examine key variables or come robust in the sense discussed earlier.
machine registers.
Most debuggers support three kinds of checkpoints Prevention of Errors Clearly, better than finding
called, respectively, breakpoints, tracepoints, and watch- and fixing errors would be to inhibit their introduction in
points. The first two of these are very similar, differing the first place. In this sense, the subject of debugging is
only as to whether the debugger stops and awaits your closely related to that of program design, documentation,
further command or continues on to the next checkpoint. and maintenance. Even when a program is deemed cor-
It will stop at a breakpoint, but merely pause (to output rect, it is seldom “finished”; i.e. it is almost inevitable that
debug information) at a tracepoint. But a watchpoint, in its sponsor will ultimately ask that it be modified. Often,
some sense, is a much more clever idea: Suppose, for the request will come well after the original programmer
example, that our source program contains an identifier is still available. Experience has indicated that if certain
called feet whose initial value of 5,280 is not supposed to good practices are followed during design and im-
change during execution of the program. But, alas, it does. plementation, errors will be minimized to a degree well
And worse, you have no idea as to what errant portion of worth the extra original effort. Some of these are:
your program is changing this value or when during exe-
cution it is being altered. What you may do is to tell the 1. Program logic should be documented in the form
symbolic debugger that feet is a watchword. In essence, of flowcharts or iteration diagrams.
you are saying to it “Please keep your eye on feet and the
2. Program variable names should be chosen mne-
instant that it changes value, stop and give me control.” monically, e.g. RADIUS rather than simply R.
Simulation of such a powerful debugging technique would
3. The symbolic program code should contain em-
be very difficult without use of a commercial debugger
bedded comments that relate back to the flow-
and is one of the reasons why, to remain competitive,
chart.
virtually all new language processors that run on per-
4. As far as the structure of the host language per-
sonal computers are marketed with an associated sym-
mits, the principles of structured programming
bolic debugger.
(q.v.) should be followed during program design.
5. All program input statements should be followed
Correction of Errors The correction of a serious
immediately by output statements that “echo”
algorithmic error might necessitate the rewriting of all or
the input onto the output medium so that there
a substantial portion of a program, using essentially the
can never be any confusion as to just which input
same tools used to create it in the first place, but the
case is being processed,
correction of a syntactic or simple logical error is usually
6. All output values should be carefully labeled.
a trivial mechanical operation on a modern time-shared
Two otherwise correct answers that are con-
computer or even on a personal microcomputer. The
fused one with the other might just as well have
principal tool is either a general text editor running under
been incorrect.
control of the computer’s operating system or, in some
cases, a special-purpose editor embedded in a specific
Finally, there is a growing school of adherents to a philos-
language processor such as those that are typically part
ophy that program verification (g.v.) will allow programs
of Lisp and APL implementations. The programmer di-
to be “proved” correct to the point where bugs are never
rects the editor to focus attention on the offending state-
allowed to survive to the point where machine debugging
ment, which is located either by citing its line number, if
in the sense discussed herein is needed at all. While there
known, or by asking for automatic search for the first
should be universal hope that such techniques succeed,
statement that contains a particular character string, say,
the need for the more mundane advice cited in this article
for example, procedure. After the statement that qualifies
is likely to exist for some time to come.
is located and displayed on the terminal by the editor, a
decision is made to replace it, delete it, modify only a part
References
of it, or add one or more new statements ahead of or after
it. A still more powerful feature commonly provided is to 1978. Van Tassel, Dennie. Program Style, Design, Efficiency, Debug-
be able to replace all occurrences of a given character ging, and Testing. Englewood Cliffs, NJ: Prentice-Hall.
string with a substitute string anywhere in the program or 1978. Hughes, C. E., Pfleeger, C. P., and Rose, L. L. Advanced
in specifically delineated parts of a program; e.g. changing Programming Techniques. New York: Wiley, Chapter 1.
422 DECISION TABLE
1988. Turbo C User's Guide Version 2.0, Scotts Valley, CA: Borland tables have all the conditions expressed as questions that
International, Chapter 4. can be answered by “yes” (Y ), “no” (N ), or “don’t care”
(-). Extended-entry decision tables have all the conditions
EDwin D. REILLY
expressed as questions that can be answered quantita-
tively or by “don’t care.” Mixed-entry decision tables, such
as shown in Fig. 1, include both kinds of conditions. While
analysts may list conditions in any order, decision tables
DE c: See DIGITAL EQUIPMENT CORPORATION VAX SERIES.
are more powerful tools if analysts follow specific conven-
tions in ordering the conditions (Hurley, 1983).
In the action stub quadrant, analysts may list actions
in any order. But by convention, the “exit this table” or
DECISION TABLE “return” action is always put last. In the action entry
For an article ona related subject see CONTROL STRUCTURE. quadrant, analysts may put sequence numbers in the
rules, to specify an explicit sequence of execution, as
done in Fig. 1. Or analysts may indicate that the sequence
Definition A decision table is a disciplined tabular of execution is immaterial by just marking the actions to
format for describing the combinations of conditions that be done with X, as is done in the rightmost rule in Fig. 1.
lead to particular sequences of actions. The actions may In the condition entries quadrant, analysts may list
be done by any person or any thing, such as a computer. the rules in any order, but decision tables are more pow-
The conditions typically take the form of data values that erful tools if analysts follow specific conventions in order-
represent circumstances, events, policies, or characteris-
ing the rules (Hurley, 1983). If an ELSE rule is present, as
tics. Decision tables are prepared in accord with conven- it is in Fig. 1, it is a default rule and is shown always as the
tions that include ways of finding errors in the resulting
rightmost rule. Recognizing “don’t care” situations can
tables. often result in consolidating two or more decision rules
Fig. 1 shows an example of a decision table that
into one.
describes how one organization handles the ordering of
low-usage products. The stock order clerk knows that the
target inventory level has been set by policy at 20 units of Use Inpreparing decision tables, analysts must keep in
stock. If a particular low-usage product covered by the mind two requirements applying to the condition entries.
policy has an on-hand quantity of 18, a weekly usage of 6, One is that, reading vertically within a rule, all of the
and an amount already on order of 10, then the clerk is to conditions are logically ANDed, except for the “don’t
place a regular order. This situation is shown by the third cares” (they are all ignored in the rule). The second
column from the right in Fig. 1. Note that only one column requirement is that, reading horizontally, all of the rules
in the decision table exactly fits this situation, and that are unique, mutually exclusive, and collectively exhaus-
the matter of local vendor availability was not relevant in tive. Because of these properties, analysts can calculate a
selecting the action in this example. set of metrics to serve as a basis for checking decision
tables for oversights, consistency, redundancy, and, to a
Terminology As diagrammed in Fig. 2, decision ta- lesser extent, accuracy (Hurley, 1983). The rule count,
bles have four overlapping portions (Chapin, 1967a; Pol- such as that shown in Fig. 1, is one component of the set
lack, 1971). The rule counts row (or a line) separates the of metrics. For each “don’t care” in a limited entry rule,
upper or condition portion from the lower or action por- the rule count is 2 (i.e. the possible choices, Y or N). For
tion. On the right, the entries portion is arranged as a each “don’t care” in a mixed entry rule, the rule count is
series of columns, each known as a decision rule. On the the number of possible choices (3 in row 2 in Fig. 1). The
left, the stub portion lists briefly the identifications of the entry in each column in the rule counts row is the product
conditions and the actions. of the rule counts for the “don’t care”s in that column
In the condition stub quadrant, analysts may express (with the ELSE entry computed differently).
the conditions in one of two ways. Limited-entry decision As a part of systems analysis, analysts can prepare
Rule counts 2 2 1 1 1 2 6 9
In most languages, this type of information is sup- ments are constants, or a set of positive disjuncts whose
plied through a series of special statements, which often arguments are constants, or both; the set of rules are
are characterized as being non-executable (or more prop- referred to as the intensional database and are of the form:
erly, declarative). Once defined, simple variables, arrays,
files, and other items can be used throughout the pro- (A... (A ea BycctsBes
gram simply by alluding to their properties by use of their
where the A, are atomic formulas and the B are literals; the
names.
To illustrate the type of information conveyed by integrity constraints are rules of the same kind as the in-
declarations, consider the following Pascal program, tensional database. Integrity constraints are used not only
which reads a number N and uses it to compute to describe a database, but also to maintain the consis-
tency of a database during updates, to permit semantic
N query optimization based on the meaning of the database,
= ¥ X(1 + VX). and to provide informative answers to a user when the in-
tegrity constraints restrict the search or provide semantic
information that may explain why a query failed to find an
N and Yare displayed with appropriate identification: answer. An intensional rule must have n = 1, m2 0. An
atomic formula is a k-place predicate letter whose argu-
program sumup; ments are constants or variables. A literal is an atomic for-
var I, N : integer; mula or the negation of an atomic formula. Atomic
X, Y : real; formulas evaluate to frue or false.
begin The extensional database contains the facts or dis-
read (N); junctions of facts that are assumed to be frue. An example
Y := 0.0; ofa disjunctive fact is: supplier ‘abc’, ‘hammers’) v sup-
for!:=1toNdo plier ‘abc’, ‘tomatoes’), which might mean that the abc
begin corporation supplies either hammers ortomatoes, or both
X:=]; items. Another example of a fact in an extensional
Y := Y + X*(1.0 + sqrt(X)) database is supplierloc (‘abc’, ‘illinois’), supplierloc (‘abe’,
end; ‘virginia’). These state that the abc corporation is located
write ('N = ’,N,’ Y = ’,Y) both in Illinois and in Virginia. Corresponding to an
end. atomic formula, there is a relation that consists of all
tuples whose arguments are in an atomic formula with the
The first statement is a declaration that defines the same name. Thus, for the supplierloc predicate, there is a
program’s name. The two statements subsumed as part relation, the SUPPLIERLOC relation, that consists of the
of the var declaration direct the compiler to allocate tuples, < ‘abc’, ‘illinois’ >,< ‘abc’, ‘virginia’ >. When the
storage for each of two integers and two real values. A facts in the extensional database consist only of atoms, it
subsequent reference to any of the names specified there is equivalent to a relational database.
will be automatically associated with the appropriate Intensional rules are universally quantified and are
storage location. an abbreviation of the formula:
SEYMOUR V. POLLACK
(2) VX,,....X, (A, v...V A, & B, A...AB_).
Deductive databases are closely related to logic pro- straints for semantic query optimization and Gal and
grams when the facts are restricted to atomic formulas Minker (1990) for their use in obtaining informative an-
and the rules have only one atom in the left-hand side of swers.
arule. The main difference is that, in a logic program, one
is searching for a single answer to a query, and the com-
References
putation procedure is top-down, searching from the
query to an answer. In the case of deductive databases, 1984. Gallaire, H., Minker, J., and Nicolas, J-M. “Logic and
Databases: A Deductive Approach.” ACM Computing Surveys,
searches are bottom-up, starting from the disjunctive
16(2):153-185 (June).
facts to find all answers to a query. A query in a logic
1984. Reiter, R. “Towards a Logical Reconstruction of Relational
program might ask for an item supplied by a supplier,
Database Theory.” In M. L, Brodie, J. L. Mylopoulos, and J.W.
while a query in a deductive database asks for all items Schmit, (Eds.), On Conceptual Modelling, 163-189. New York:
supplied by a supplier. Unlike deductive databases, argu- Springer-Verlag.
ments of predicates in logic programs may contain func- 1986. Chakravarthy, U.S., Grant, J., and Minker, J. “Foundations of
tion symbols. Deductive databases that are restricted to Semantic Query Optimization for Deductive Databases.” In J.
atoms as facts and have rules that consist of single atoms Minker (Ed.), Proc. Workshop on Foundations of Deductive
on the left-hand side of arule and atoms on the right-hand Databases and Logic Programming, 67-101, Washington, D.C.,
side of a rule are referred to as DATALOG. (August 18-22).
1987. Lloyd, J. W. Foundations of Logic Programming, 2nd Ed. New
There are several different views of the relationship
York: Springer-Verlag.
of an integrity constraint to the union of the database 1988. Minker, J. “Perspectives in Deductive Databases.” Journal of
(facts and rules), and the integrity constraints. Two are Logic Programming, 5:33-60.
noted here: consistency and theoremhood. in the consis- 1990. Ullman, J. D. Principles of Database and Knowledge-Base
tency view, an integrity constraint must be consistent Systems. Potomac, MD: Computer Science Press.
with the union of the database (facts and rules). In the 1990. Gal, A., and Minker, J. “Producing Cooperative Answers in
theoremhood approach, an integrity constraint must bea Deductive Databases.” In P. Saint-Dizier and S. Szpakowicz,
theorem of the facts and rules—that is, it must be able to (Eds.) Logic and Logic Grammars for Language Processing,
be proven from the facts and rules. 223-254, New York: VCH.
1990. Lobo, J., Minker, J., and Rajasekar, A. “On General Disjunc-
To answer queries that consist of conjunctions of
tive Logic Programs.” In M. Zemankova and Z. Ras (Eds.)
positive and negated atoms requires that there be a se-
Intelligent Systems: State of the Art and Future Directions. Am-
mantics associated with negation, since one can only sterdam: North-Holland.
derive positive disjuncts from the above databases. De-
fault rules are used to find answers to negated questions. JACK MINKER
There are several default rules used in deductive
databases. Two of these rules are termed negation as
finite failure (NFF) and the closed world assumption (CWA).
In the NFF approach, one tries to prove the positive atom. DEFAULT CONDITION
If a proof fails in every branch of the proof search tree,
For articles on related subjects see EXPRESSION; PROCEDURE-
one assumes the negation of the atom. In the CWA, if one
ORIENTED LANGUAGES; and STATEMENT.
fails to prove the positive atom, the negated atom may be
assumed. The two approaches lead to slightly different
A default condition or value is one set by software
results. They do not apply to disjunctive theories.
More expressive power may be obtained in a deduc-
when a user elects not to make a choice that was available
in a particular situation. Unlike its normal English usage,
tive database by allowing negated atoms on the right-
default carries no pejorative connotation; there is no
hand side of a rule. The semantics associated with such
suggestion that a person should have done something,
databases becomes unclear in many instances. For a de-
merely that he or she could have. Some examples are:
scription of alternative semantics for deductive
databases with negation in the right-hand side of rules,
1. The Fortran iteration statement Do 171 = 1,100
and a single atom on the left-hand side, see Lloyd (1987).
behaves as if the user had written Do 171 = 1,100,
For semantics of deductive databases when the right-
1; i.e. The control variable | will be incremented
hand side contains negated atoms and the left-hand side
by +1 by default, since the step size is assumed
contains disjunctions, see Lobo, Minker, and Rajasekar
to be +1 unless otherwise specified.
(1990).
2. In Basic, subscripted variable references such as
A historical perspective of deductive databases is
LET B (7) = 4 may be made without dimensioning
given in Minker (1988). A survey of deductive databases
B explicitly, provided the maximum subscript
may be found in Gallaire, Minker, and Nicolas (1984). A
used does not exceed 10; i.e. Basic assumes an
theoretical treatment of deductive databases and the se-
implicit DIM B (10) by default unless the program-
mantics of these databases may be found in Reiter (1984).
mer supplies a specific alternative.
See Lloyd (1987) for alternative semantics of databases
and for negation in deductive databases. Bottom-up com- 3. In APL, the origin of all arrays is 1 by default, but
putational methods for relational and deductive data- the programmer may overrule this by inputting
)oRIGIN 0. (The only choices are 0 or 1.)
bases may be found in Ullman (1990). See Chakravarthy,
Grant, and Minker (1986) for the use of integrity con- 4. In Pascal, the heading procedure Zilch (a,b :
426 DESKTOP PUBLISHING
integer); begins the definition of a procedure languages parallels traditional mathematical usage; i.e. to
whose arguments a and 5 are called-by-value by define the extent of a component in a computational
default. The programmer could have elected expression. For example, the use of parentheses in the
call-by-reference by writing procedure Zilch ordinary arithmetic expression.
(var a, b: integer);. Similarly, the default param-
eter passage in Algol 60 is call-by-name unless A+B(C- 2D) era
call-by-value is explicitly specified.
5. The Pascal statement while not eof do—acts like is clearly paralleled by the equivalent in many high-level
while not eof(input) do—-; i.e. the file whose languages:
end-of-file condition is being monitored is the
“input” file by default even though another file A+B*(C— 2D). (2)
could have been specified.
Most contemporary programming languages provide
Note that, in each of these situations, the language a relatively free physical format where there is no intrin-
designers chose a default condition or value that, in sic association with a specific input medium, such as the
their opinion, would be most commonly desired. Such terminal’s keyboard. Consequently, in the absence of an
a practice saves the user time by making it unnecessary implicit correspondence in such languages between the
to state the obvious. Not all default choices are benign, end of a statement and the physical boundary of the
however. The language PL/I employs an unusually large medium, it is necessary to impose explicit delimiters. The
number of default decisions and some of these can do semicolon serves that purpose in the C language, and the
insidious things to an inexperienced or careless user. A period has a similar function in Cobol.
notorious example is the apparently innocuous expres- Another type of delimiter is used to bracket a se-
sion 4£0*6E0, which could produce the strange result quence of statements when the intent is to consider that
2E1 (i.e. 4 X 6 = 20), since the default precision of the sequence as a single conceptual activity. The compound
product, one significant digit, would be no more than statement in Pascal is a case in point. For instance, the
the precision of the most precise number in the expres- following structure
sion. Despite such occasional aberrations, the judicious
use of default conditions facilitates rather than impedes fori:= 1to18do
begin
programming productivity.
read(x, y);
EDWIN D. REILLY sum] := sum] + x;
sum2 := sum2 + 2.7*y
end ;
Desktop publishing refers to the creation and printing publishing became firmly established and widely known
of high-quality documents by using a small self-contained by the acronym DTP. The term is now synonymous with
computer system with software that allows page images the use of a particular style of interactive software pack-
to be viewed and edited on the screen before printing. age, regardless of the size of computer or output device
This form of publishing became widespread during the used.
late 1980s, when the three essential ingredients for a Early desktop publishing systems produced docu-
desktop publishing computer system became cheap ments containing graphics as well as text in many differ-
enough to be purchased by small organizations, and the ent sizes and styles, but the quality of the printed
complete system became small enough to fit on a desk. document was poor compared to documents typeset by
The essential ingredients are: traditional methods. This was due partly to the relatively
crude formatting methods used by the software and
e Asmall laser printer capable of printing diagrams partly to the quality of the laser printers available at the
and many different typefaces and styles. time. Rapid advances in quality have been made as the
e A computer workstation (g.v.) with a graphics technology has become more widespread. While it is still
screen and pointing device (typically a mouse - true that desktop publishing does not always produce the
q.v.). very best quality documents, the software now uses so-
e Software with a simple interactive user interface, phisticated formatting methods (better hyphenation and
designed to support document creation and edit- spacing, use of kerning, etc.), and the laser printers pro-
ing tasks. vide significantly better typographic quality. Where qual-
ity is particularly important, it is now common for laser
Given these three ingredients, users without formal train- printer output to be used for proofing and for typeset
ing in document design can produce complex documents output produced from the computer file to be produced
quickly and without the need for outside printing or type- for the final product.
setting facilities. Fig. 1 shows a typical desktop publishing
system. Page and Document Layout It is convenient to
classify desktop publishing software into two main types.
A New Publishing Method Desktop publishing Page-layout packages are intended primarily for short
has major advantages over traditional methods of docu- documents that have a complex page design, such as
ment production and typesetting. The software is inter- newspapers, posters, and leaflets. These packages pro-
active and maintains a_ what-you-see-is-what-you-get vide sophisticated facilities for page design and manipu-
(WYSIWYG) interface so that users see the current state lation, but often have limited facilities for entering and
of the document on the screen and manipulate it directly editing text and other types of content. They typically rely
via the keyboard and pointing device. This allows them on importing the document content from other software
to experiment with the page layout and edit the content packages, such as word processors (g.v.), spreadsheets
until they are satisfied with the result. They can then (g.v.), and drawing packages.
produce a paper copy on the laser printer. Document-layout packages are intended primarily for
The advantages of this interactive approach, to- producing longer documents, such as technical manuals,
gether with the speed at which output could be produced, journals, and books. These packages are likely to provide
led to a rapid expansion in use during the 1980s. Desktop better built-in facilities for creating document content
and for dealing with niceties, such as producing an index
or table of contents. A document layout package is also
effectively a word processor and a simple graphics editor.
A summary of the facilities available in typical
desktop publishing software packages is given in the fol-
lowing sections. There is no hard-and-fast dividing line
between the two types of packages, but the balance of the
features varies. The page-layout packages concentrate
more on flexible page design and also include provision
for importing items prepared by other software, while the
defined a frame, they can fill it with text or graphics, edit Styles Detailed control of the typographic and format-
its contents, move it around on the page, or change its ting requirements of text can become a tedious chore
size. Different page designs can be created by placing when there are so many different possibilities. To help
frames corresponding to single or multiple-column text users with this, most desktop publishing software allows
and setting aside different areas of the pages for styles or properties to be used. Different document constit-
illustrations. uents can be named and have particular styles attached
In order to simplify the overall document design, a to them. Thus, there may be different styles to cover
master page facility is usually provided. A master page headings, several levels of sections, and a variety of para-
contains the frames that are to appear in the same place graph types. The styles define details of font, size, spac-
on all pages in the document. Items like company logos, ing, and margins, and may also include information on
page numbers, and page headers and footers are typically automatic numbering of the constituents.
dealt with in this way. Individual pages are designed by To change the style of a constituent, the user calls up
adding extra frames to the master page. a style-sheet in a separate window on the screen. This
Accurate positioning of frames is essential in page shows all the options available and their current settings.
design, so users are provided with simple tools to help These can be edited interactively, and any changes are
with the positioning of frames interactively. Examples of made automatically to all occurrences of that constituent
positioning tools are: in the document. Fig. 2 shows a simple example of a
style-sheet.
Styles are a great help to users in minimizing the
e Rulers—shown across the top and down the sides
amount of work needed and in ensuring good and consis-
of pages.
e Grids—shown across the whole page area. tent document layout. Libraries of standard styles are
e Guidelines or Crosshairs—one horizontal and one usually supplied, covering a wide variety of needs. Users
vertical line that may be positioned across the without training in document design can simply select the
page area. styles they require. More experienced designers can ei-
ther make minor changes to the styles in the library or
create their own.
Users draw and position frames approximately by hand, Many criticisms of documents produced by desktop
and can then have them positioned and sized accurately publishing concern poor design and are the result of
by asking for their edges to be “snapped” to the nearest allowing users without design skills to have easy access
line or ruler marking. Another, less flexible method of to a wide variety of typographic facilities. The provision —
designing pages is to use style-sheets (see Styles section). of styles created by experienced designers has helped to
This method is more likely to be used by document-layout minimize this problem and also to ensure that organiza-
packages. tions can impose their own “house-style.” Problems of
poor design have lead to a number of books on design for
desktop publishing (Ziegfeld and Tarp, 1989; Black, 1990).
Text Handling Desktop publishing software pro-
vides all the normal hyphenation, justification, kerning,
and widow and orphan control capabilities needed for Graphics, Tables, and Equations All desktop
text formatting. It also gives access to a wide range of publishing software provides simple built-in drawing fa-
character fonts and sizes and allows fine control of spac- cilities for lines, rectangles, and circles. Further facilities
ing. Several typefaces are generally available, in sizes for curves, patterns, and borders may also be provided,
ranging from 4-point to over 100-point at intervals of half and text may be wrapped around the graphics. In some
a point or less. Users can choose any type and size and cases, text may only wrap around graphics in a rectangu-
can also control the leading (spacing between lines) and lar frame; in others it may be possible for text to wrap
tracking (spacing between words and characters) of text. around an irregular shape within a frame. There may also
Easy interactive control of these features allows users to be ways of “anchoring” graphics, either to a particular
manipulate fine details of the layout and to ensure that piece of text or to a position on a page.
headlines or running text look attractive and fit comfort- Graphics and images created by other software tools
ably into the frames provided. can generally be imported, and facilities for scaling or
Simple text editing facilities for inserting and deleting cropping the graphics to fit frames are provided. A wide
text are provided, together with some form of cut-and- variety of digitized pictures called clip-art are sold com-
paste, for moving blocks of text to different positions in mercially for importation into desktop publishing soft-
the document. These may be supplemented by a variety ware. Some level of support for color is given in
of more complex features, like search-and-replace or a page-layout packages, while document-layout packages
spelling checker (q.v.). Page-layout packages are likely tp are more likely to include built-in facilities for producing
accept text prepared by a wide variety of word proces- tables, business graphics (bar charts, pie charts, etc.),
sors, while document-layout packages are more likely to and mathematical equations.
deal with index entries, cross-references, and change-
bars. Document-layout packages may also provide some Printing Facilities High-quality output demands, as
help with the problems of multiple versions and multiple an absolute minimum, the availability of a laser printer
authors. operating at 300 dots-per-inch. For top quality output, a
DIAGNOSTIC 429
B- Italic
typesetter operating at 1000 dots-per-inch or more is 1988. Rubinstein, R. Digital Typography: An Introduction to Type
required. Desktop publishing relies heavily on the use of and Composition for Computer System Design. Reading, MA:
the PostScript (g.v.) page description language (Adobe, Addison-Wesley.
1989. Van Engelen, W. Getting Started with Xerox Ventura Publisher
1985), which can be used to drive a variety of laser print-
2.0. Reading, MA: Addison-Wesley.
ers and typesetters and has all the necessary facilities
1989. Ziegfeld R. and Tarp, J. Desktop Publishing for the Writer:
needed to cope with complex text, graphics, and images. Designing, Writing, and Developing. Los Alamitos, CA: IEEE
The improvement in quality of documents produced by Computer Society Press.
desktop publishing packages is largely due to the dra- 1990. Black, A. Typefaces for Desktop Publishing. London: ADT
matic improvement in digital typography (Rubinstein, Press.
1988), which has been fueled by PostScript, the increased 1990. Borman, J. L. Desktop Publishing Sourcebook: Fonts and
use of laser printers, and the popularity of desktop pub- Clip-art for the IBM-PC and Compatibles. Rocklin, CA: Prima
lishing itself. Publishing Co.
1990. Matthews, M. S. PageMaker 4 for the Macintosh Made Easy.
New York: Osborne/McGraw-Hill.
Future Developments Desktop publishing is now
firmly established as an effective method of producing HEATHER BROWN
both simple and complex documents. Advances in digital
typography and word processing have already found
their way into desktop publishing, and advances in han-
dling structured documents (and perhaps some elements DEVICE DRIVER. | See Driver.
of hypertext (g.v.) are likely to follow. One area certain to
have a significant effect is the current trend towards
“active documents,” where document elements can have
processing methods attached to them. Thus, a document
element can interrogate a database and automatically
DIAGNOSTIC
include the latest version of some data, or it can send For articles on related subjects see DEBUGGING; and ER-
some data to another piece of software and include the RORS.
processed results in the document. An active document
is a means of accessing information, as well as presenting Diagnostics help determine whether there are hard-
information. ware faults in a computer or errors in user programs.
Hardware diagnostics are programs designed to de-
References termine whether the components of a computer are oper-
ating properly. Circuit components are electronically
1985. Adobe Systems Incorporated. PostScript Language Refer-
ence Manual. Reading, MA: Addison-Wesley.
exercised individually and in groups to try to induce
430 DICTIONARIES, COMPUTERIZED
failures. When a failure is detected, the location of the The simplest computerized dictionaries are ordered
faulty element is printed and the maintenance staff can lists of correctly-spelled words. These lists are used in
repair or replace the element. Diagnostics may test com- computerized text processing by word processors or as
munication lines and controllers. Microcomputers may stand-alone spelling checkers to detect and correct spell-
be constructed with diagnostics stored in the ROM. ing mistakes. Errors are caught by using simple pattern-
Hardware diagnostic programs are run as part of a matching algorithms.
regular schedule of preventive maintenance and in the Spelling checkers can catch mistakes only on a word-
event of a failure. If a serious hardware failure has oc- by-word basis. The sentence
curred, the diagnostic program may fail to operate prop-
erly, and may be useless in locating the difficulty. “You can where a blue suit.”
Increasingly, hardware diagnostics take the form of
microdiagnostics. A microdiagnostic program is a micro- will pass the spelling checker’s scrutiny, even though the
program that tests a specific hardware component such word “where” is used in place of “wear.” By adding infor-
as a bus (g¢.v.) or storage location. Microdiagnostics mation to the dictionaries, grammar and vocabulary mis-
often provide more accurate location of a fault than takes can be caught as well. The grammar checker must
hardware diagnostics written in machine language be- use this information in conjunction with a word’s context
cause of the addressability of individual components and sophisticated heuristics (g.v.) describing the rules of
under microprogramming. Furthermore, these diagnostic the language.
programs are so fast that preventive maintenance testing Computerized dictionaries can also be used as an
may be interspersed transparently with other process- online replacement for a printed dictionary. The human
ing. Microdiagnostics, consequently, have furthered the user can view words and their definitions on a screen.
development of self-diagnosing and self-repairing com- Given an approximate or phonetic spelling, the computer
puters. can search the dictionary for the desired word. Keywords
Diagnostic messages emitted by software are the can also be used to search for lists of synonyms, so as to
error messages produced by compilers, utilities, and op- form an electronic thesaurus, an integral part of most
erating system software. These messages are designed to full-featured word processors.
give programmers an indication of where their programs Specialized dictionaries are suited to other tasks. A
are at fault. Diagnostic messages at compile time may phonetic dictionary is used for voice synthesis, allowing
only be warnings to the programmer, or they may indicate the computer to read text aloud to a user. Historical
invalid syntax, which prohibits execution. A severity level dictionaries, which trace the creation and use of words,
indicator is often included in the diagnostic message. are used for language research. Encyclopedic dictionaries
Execution-time diagnostic messages are produced by include sound and pictures in examples accompanying
the operating system or an execution-time monitor. These word definitions. Computerized dictionaries can also be
messages indicate attempts to perform illegal operations, used to derive and produce printed dictionaries, using
such as dividing by zero, taking the square root of a electronic typesetting.
negative number, illegal operation codes, illegal address The most extensive dictionary computerization to
references, and so on. The diagnostic message may be date has been that of the Oxford English Dictionary
followed by program termination. (OED). The OED is widely regarded as the most com-
Finally, application programs may produce diagnos- prehensive record of the English language. The first
tics when erroneous data is read. The creator of the printed version was published in 12 volumes between
application program has complete control over these 1884 and 1933 by the Oxford University Press (OUP). Four
diagnostic messages and the action taken. volumes of supplementary word definitions and changes
Diagnostic messages should avoid negative tones were added between 1972 and 1986. In total, the 16 vol-
and be non-threatening, specific, and constructive. In- umes contain close to 306,000 main entries. In 1984, the
stead of just pointing out what is wrong, they should also OUP decided to computerize the dictionary in prepara-
tell the user what to do to set things right. tion for the release of the second edition of the OED.
After the text of the original sixteen volumes was
BEN SHNEIDERMAN
transferred into electronic form (a process that took a
large group of typists and proofreaders well over a year),
the OUP combined its efforts with IBM in the United
Kingdom to integrate and add to the dictionary’s auxiliary
DICTIONARIES, COMPUTERIZED
data. The University of Waterloo (Waterloo, Ontario, Can-
For articles on related subjects see NATURAL LANGUAGE ada) was responsible for creating the software to search
PROCESSING; SPELLING CHECKER; and WORD PROCESSING. the dictionary. The computerized OED was then used to
prepare a new printed version, the 20-volume second
A dictionary is a list of words and their correspond- edition, first released in March of 1989.
ing definitions. Many dictionaries of natural language in- The computerized OED is a large, text-dominated
clude additional information, such as the pronunciation, database, one of a class that researchers have only re-
part of speech, and etymology of each word. A computer- cently begun to tackle. At the time of this writing, the text
ized dictionary is a dictionary in electronic form, suitable of the OED, together with tagging information denoting its
for searching (g.v.) by computer programs. structure, totals close to 600 megabytes in size. Indexing
DIFFERENCE ENGINE 431
information to allow searches by any word or phrase source. An ingenious system of “lockings” made good any
requires another 300 megabytes of storage. Though the lost motion or backlash in the mechanisms and ensured
OUP plans to release the second edition on CD-ROM (q.v.) that the machine could not become accidently deranged
at some later date, currently the computerized OED is of and produce incorrect values. All of these ideas were
use mostly to the OUP and university researchers. essential to the subsequent rapid development of the
analytical engine by Babbage in the 1830s.
ERIC GIGUERE
The difference engine was never built. Contrary to a
widely-held belief, this was not due to an inability of the
mechanical technology of the day to cope with the de-
DIFFERENCE ENGINE mands of Babbage’s machine. The demonstration piece,
which is still in excellent working order, gives the lie to
For articles on related subjects see ANALYTICAL ENGINE; that suggestion, though the workmanship was expen-
BABBAGE, CHARLES; and DIGITAL COMPUTERS: HISTORY: ORIGINS. sive—possibly excessively so. Rather, the difficulties lay
in social changes—Babbage’s failure to cope with either
A difference engine is a machine that automates the the rapidly changing role of leading engineers or with a
calculation of mathematical tables. Any short section of a government that had never previously directly funded
mathematical function, such as a sine, can be approxi- research and was itself entering an era of great social flux.
mated by a polynomial, the degree or complexity of which Work on Difference Engine no. 1 ceased in 1833. In
is determined by the accuracy required in the tables. 1847 Babbage produced a design for a Difference Engine
Using the method of finite differences, the tabulation of no. 2, whose simpler design took advantage of ideas
these polynomials can be reduced to the operation of evolved for the analytical engine.
repeated addition of differences only. In the 1850s, Georg and Edvard Scheutz of Sweden
The most famous attempt to mechanize this process built a difference engine inspired by Babbage’s work, but
was made by Charles Babbage in the 1820s. Frustrated this lacked Babbage’s mechanical refinements and never
by the errors made by human calculators preparing worked reliably. Later nineteenth century designs by
tables for him, Babbage remarked to the astronomer Wiberg in Sweden and Grant in the U.S.A. fared little
John Herschel, “I wish to God these calculations had better. In the 1930s, L. J. Comrie of the British Nautical
been executed by steam,” to which Herschel replied “It Almanac Office adopted Burroughs and National Cash
is quite possible.” Inspired by this suggestion, Babbage Register accounting machines for use as difference en-
produced a small demonstration model of a difference gines. These were used mainly for checking proofs of
engine by mid-1822. Unfortunately, nothing of this model tables by applying the difference method in reverse. By
has survived, but it appears to have included six digits then, the sub-tabulation task for which Babbage’s differ-
and to have tabulated the polynomial x7 + x + 41 (whose ence engines were designed was not seen to be the major
values for integer values of x from 1 to 40 are prime problem in the preparation of mathematical tables.
numbers). In 1991 the Science Museum in London completed
With the aid of intermittent support from the British the construction of a working Difference Engine No. 2
government, Babbage then embarked on the construc- based on Babbage’s drawings (Fig. 1). The machine is 10
tion of a much more extensive machine, intended to pro- feet long, 6 feet high, 18 inches deep and has 4,000 parts
vide six orders of differences, each of 18 digits. Babbage machined using modern tools but to an accuracy no
realized that the printing of tables using movable type greater than Babbage could have achieved.
was as great a source of error as the calculations them-
selves. He therefore included in the difference engine a
mechanism for automatic preparation of stereotype print-
ing plates.
The layout of a printed page of tables is complex.
Babbage made provision for the difference engine to lay
out tables in either columns or rows, with spaces of
variable width to guide the eye of the reader and to round
off automatically all printed values. His most elaborate
mechanism even allowed for the printing of only the least
significant digits of each table entry—the leading digits
were printed only for the first entry on each line and then
only if these digits had changed from the line before.
In the design of this printing mechanism, Babbage
gained valuable experience in the mechanization of com-
plex and conditional sequences of operation. He became
adept in overlapping operations in various parts of the
machine, including the pipelining of the difference tabula-
tion itself. He devised means by which the control itself
did not have to transmit power to the working mecha-
nism, but simply made connections to the main power FIG. 1. A working difference engine.
432 DIFFERENTIAL ANALYZER
References
1987. Bromley, A. G. “The Evolution of Babbage’s Calculating
Engines,” Annals of the History of Computing, Vol. 9, pp. 113-
136.
1990. Bromley, A. G. “Difference and Analytical Engines,” in As- Output shaft
(connected to
pray, W. (Ed.), Computing Before Computers. University of lowa input of torque
State Press. amplifier)
le-- y ---of
ALLAN G. BROMLEY
FIG. 2. Wheel and disk integrator. If the disk turns through an
angle proportional to x, the output shaft turns through an
angle proportional to Jy dx.
DIFFERENTIAL ANALYZER
For articles on related subjects see ANALOG COMPUTER;
BusH, VANNEVAR; DIGITAL COMPUTERS: HISTORY: EARLY; and
capstan, but adapting it for continuous rotation. Fig. 3 is
taken from his report (1931) and sufficiently indicates the
HARTREE, DOUGLAS.
principle. The friction drums are rotated in opposite di-
In a paper published in the Journal of the Franklin rections by a continuously running motor of sufficient
Institute in 1931, Vannevar Bush described a machine (Fig. power. When the input shaft is turned, one of the cords
1) that had been constructed under his direction at M.I.T. attached to the input arm begins to tighten on the friction
for the purpose of solving ordinary differential equations. drum round which it is wrapped. Which cord tightens
He christened the machine a differential analyzer. This depends on the direction of rotation of the input shaft. A
was what would now be called an “analog” computer, and very small tightening, and hence a very small tension in
was based on the use of mechanical integrators that the end of the cord attached to the input arm, is sufficient,
could be interconnected in any desired manner. The inte- in view of the friction of the rotating drum, to produce a
grator was in essence a variable-speed gear, and took the large tension in the end attached to the output arm. A
form of a rotating horizontal disk on which a small knife- small torque applied to the input shaft is thus capable of
edged wheel rested. The wheel was driven by friction, and producing a much larger torque in the output shaft.
the gear ratio was altered by varying the distance of the The integrators and torque amplifiers can be clearly
wheel from the axis of rotation of the disk. The principle seen in Fig. 4, together with the system of shafting used
is illustrated in Fig. 2. for effecting the connections. Changing the problem was
The use of mechanical integrators for solving differ- a job for someone who did not mind hands covered in oil.
ential equations had been suggested by Kelvin, and vari- The output table on which the results were plotted di-
ous special-purpose integrating devices were constructed rectly in graphical form can be seen in Fig. 4, which also
at various times. Bush’s differential analyzer was, how- shows anumber of similar tables that were used for input,
ever, the first device of sufficiently general application to an operator being employed to turn a handle so that a
meet a genuine need, and in the period immediately before cursor followed a curve. It is a comment on the primitive
and during World War II quite a number of these devices state of automatic control in the period in question that
were constructed. The one shown in Fig. 4 was installed at automatic curve-following devices were not provided
the Mathematical Laboratory in Cambridge, England. until later. The accuracy attainable in a single integrator
In order to make a practical device, it is necessary to was about one part in three thousand, but of course a
have some means of amplifying the small amount of lower accuracy was to be expected in the solution.
torque available from the rotating wheel. Bush used a
torque amplifier, working on the principle of the ship’s
Output arm
Output shaft
Input arm
Friction drums
FIG. 1. Vannevar Bush shown with the M.L.T. differential an- FIG. 3. _ Principle of torque amplifier. (Courtesy of Journal of the
alyzer. Franklin Institute.)
DIFFERENTIAL ANALYZER 433
FIG. 4. The differential analyzer system, showing integrators, torque amplifiers, and shafting.
Fig. 5 shows the notation that was used for an integra- Digital Differential Analyzer This device is
tor and Fig. 6 shows how two integrators could be inter- based on the use of a rate multiplier as an integrator. In
connected to solve a simple differential equation. It was a rate multiplier, a constant quantityy is held in a register
not difficult to arrive at a diagram such as Fig. 6, even for and, on the receipt of an input pulse, is added to the
a complicated equation, but working out the gear ratios number standing in an accumulator. If input pulses arrive
required was a distinctly tedious task calling for some at a rate R, overflow pulses will emerge from the most
experience, particularly as accuracy required that full use significant end of the accumulator at a rate proportional
should be made of the available range of integrator mo- to yR. If y now varies and if input pulses arrive whenever
tion. a certain other variable x increases by 6x, the number
In 1945, Bush and S. H. Caldwell described a new of output pulses emerging is proportion to £ y 6x or,
differential analyzer in which interconnection between approximately to J y dx. Thus, the device serves as an
the integrators was effected electrically instead of me- integrator. Normally, dx is equal to one unit in the least
chanically. However, during the decade that followed, significant place, and continuously updated values of the
competition from electronic analog computers and from variable x can be obtained by feeding the pulses into an
digital computers began to build up, and, although the accumulator.
new machine ran for a number of years at M.I.T., by
1955 the mechanical differential analyzer was already
obsolete.
xy
fy dx
FIG. 5. Schematic notation for an integrator. FIG. 6. Setup for solving the equation d’y/dx’ =y.
434 DIGITAL COMPUTERS
The first digital differential analyzer was the MAD- Computer Characteristics The main characteris-
DIDA developed in 1949 at the Northrop Aircraft Corpora- tics of the computer are that it is automatic, general
tion. It had 44 integrators implemented using a magnetic purpose, electronic, and digital.
drum for storage, the addition being done serially. There
were six tracks in all on the drum, one being used for Automatic We assume that a machine is automatic if it
synchronizing purposes. The problem was specified by works by itself without human intervention. But this is
writing an appropriate pattern of bits onto one of the not the whole story. Computers are machines and have
tracks. Compared with the digital computers then being no will of their own; they cannot start themselves; they
built, the MADDIDA was on an impressively small scale. It cannot go out and find their own problems and solutions.
lost some of its simplicity, however, when adequate input They have to be instructed. They are, however, auto-
and output devices were added, and in the end competi- matic, in that once started on a job, they will carry on
tion from general-purpose digital computers proved too until it is finished, normally without human assistance.
much for it. The MADDIDA and its descendants did not, A computer works from a program of coded instruc-
therefore, have the bright future in scientific computation tions that specify exactly how a particular job is to be
that was predicted for them. However, digital differential done. While the job is in progress, the program is stored
analyzers of a simple kind continue to have a place in in the computer, and the parts of the instructions are
certain control applications. obeyed. As soon as one instruction is completed, the next
is obeyed automatically.
References By contrast, a hand-held calculator can be described
1931..Bush, V. J. Frank. Inst. 212: 447. as semi-automatic. The user sets up the required num-
1945. Bush, V. and Caldwell, S. H. J. Frank. Inst. 240: 255. bers on a keyboard and has to press a key (for example,
1947. Crank, J. The Differential Analyser. London: Longmans, add or multiply) to initiate each individual arithmetic
Green and Co. operation. Today’s calculators can often carry out com-
1962. Huskey, H. D., and Korn, G. A. Computer Handbook. New plex arithmetic operations at the touch ofa single key, but
York: McGraw-Hill. the machine is still semi-automatic.
Maurice V. WILKES
Because a computer does not need to stop between
single operations, it can take full advantage of the high-
speed components that enable it to add, subtract, and
perform other individual operations in millionths of a
DIGITAL COMPUTERS second, or even faster.
An important corollary of the automaticity of the
computer is that its program has to be complete. If there
GENERAL PRINCIPLES is no provision for intervention by the human operator,
the program must be written to provide for all possible
For articles on related subjects see ANALOG COMPUTER; eventualities, however rare.
ARITHMETIC-LOGIC UNIT; CENTRAL PROCESSING UNIT; COM-
PUTER ARCHITECTURE; GENERATIONS, COMPUTER; HYBRID COM-
PUTER; MACHINE AND ASSEMBLY LANGUAGE PROGRAMMING; General Purpose Computers (and hand-held calcula-
MEMmoRY; MICROPROCESSORS AND MICROCOMPUTERS; MINICOM- tors) are general-purpose machines. In other words, a
PUTERS; PERSONAL COMPUTING; SUPERCOMPUTERS; and WORK- computer can do any job that its programmer can break
STATION.
down into suitable basic operations. Put a payroll pro-
gram into a computer and you make it, for the time being,
A digital computer is a machine that will accept data a special-purpose payroll machine. Replace the program
and information presented to it in its required form, carry by one for inverting a matrix, and you make the computer
out arithmetic and logical operations on this raw mate- temporarily a special-purpose mathematical machine.
rial, and then supply the required results in an acceptable
form. The resulting information (output) produced by Electronic The word electronic refers to the information
these operations is entirely dependent upon the accepted processing components of the machine. It is the nature of
information (input). Thus, correct and complete answers the electronic components that make possible the very
cannot be obtained unless correct and sufficient input high speeds of individual operations in modern comput-
data has been provided. ers.
The sequence of the operations required to produce The history of electronic digital computers dis-
the desired output must be accurately determined and tinguishes a number of “generations” defined by the na-
specified by people known as system designers (or ana- ture of the electronic components most prevalent in each.
lysts) and programmers (q.v.). The system designer pro- Thus, the first generation made extensive use of vacuum
duces a clear specification of the task to be undertaken, tubes, the second generation used discrete transistors,
including elements such as clerical processing, which do and the third used integrated circuits. There is little
not involve the computer directly. The programmer pre- agreement about whether we are now on the fourth or
pares the detailed set of instructions that the computer fifth generation, or even at some midway point, as we
will follow automatically so as to process the work from have moved through progressively higher degrees of inte-
input to output. gration in our circuits. (See GENERATIONS, COMPUTER.)
DIGITAL COMPUTERS 435
Most computer users need no special knowledge of Digital computers differ from analog computers
electronics, and the major practical distinctions between much as counting differs in principle from measuring.
the generations—as far as they are concerned—are the Both types of machines employ electric currents, or sig-
reductions in size for a given power, the rapid increases nals, but in the analog system, a number is represented
in speed, and, above all, a substantial and continuous fall by the magnitude (e.g. voltage) of a signal, whereas, in a
in the cost of computing. digital computer, it is not the magnitude of signals that is
important, but rather the number of them, or their pres-
Digital A computer may be either digital or analog. The ence or absence in particular positions. Analog comput-
two types do have some principles in common, but they ers tend to be special-purpose machines designed for
employ different types of data representations and are, in some specific scientific or technical application. They are
general, suited to different kinds of work. Digital comput- frequently found useful in engineering design for such
ers are so called because they work with numbers in the things as atomic power stations, chemical plants, and
form of separate discrete digits. More precisely, they work aircraft. In commercial and administrative data process-
with information that is in digital or character form, in- ing and for mathematical computation, we are concerned
cluding alphabetic and other symbols as well as numbers. almost exclusively with digital computers.
In a digital machine, the data, whether numbers,
letters, or other symbols, is represented in digital form. Main Units Only very rarely does a computer have a
An analog computer, on the other hand, may be said to unique, fixed specification. Normally, it is better de
deal with a “model” of the problem, in which the variables scribed as a computer system, consisting of a selection
are represented by continuous physical quantities, such from a wide variety of units appropriate to meet a defined
as angular position and voltage. The decimal numbers 136 need. The principal groupings of these units commonly
and 435, for instance, might be represented by 1.36 volts follow the pattern shown in Fig. 1 and are defined as
and 4.35 volts. Using familiar devices, we could say that a follows:
slide rule is an analog device, because numbers are rep-
resented by a linear length. The abacus, on the other 1. Input units—An input unit accepts the data, the
hand, is a digital device, because movable counters are raw material that a computer uses, communi-
used for calculating. cated from outside. It is the actual means by
Auxiliary
memory or
file storage
units
Control
unit
Arithmetic
and logic
unit
Legend:
Flow of information
———-» Control links
which information is converted into electronic magnetic field produced by each character is assessed by
pulses, which are then fed into the machine’s the reader and the character identified. Without such
memory. readers, the processing of today’s enormous volumes of
2. Control unit—The directing force of the com- checks would be quite impracticable.
puter, the automatic operator, is the control unit. Today, there are many optical readers capable of
It provides the means of communication within recognizing the shape of a character from its reflected
the machine, by moving, advancing, or transfer- light in much the same way as humans do. They use type
ring information. It switches and integrates the fonts that appear quite normal to us and, therefore, serve
various units into a whole system. both the needs of people and computers. There are also
3. Main memory unit—A\l information stored in the readers that scan the bar codes increasingly found on
main memory unit is “remembered” and made packages in supermarkets and that, therefore, greatly
available to other units as required, under the speed up the check-out procedures (see UNIVERSAL PROD-
direction of the control unit. UCT CODE).
4. Arithmetic-logic unit—This unit performs the four Some progress has also been made with voice recog-
nition equipment that allows computers to recognize the
arithmetic operations of add, subtract, multiply,
and divide. By determining whether one number human voice over a limited repertoire of input messages.
is larger than another, whether it is zero or (See SPEECH RECOGNITION AND SYNTHESIS.)
whether it is positive or negative, it is said to
have logical abilities; i.e. it can make logical deci- Central Processing Unit (CPU) The central processing
sions. In addition, it can perform other strictly unit is the focal point of the computer system. It receives
logical (Boolean) operations, such as and and or. data from input units and file storage units, carries out a
5. Output units—After information is processed, an variety of arithmetic and logical operations on this data,
and transmits results to output and file units. It is tradi-
output unit communicates it to the outside
world. When needed, the results are recalled tional, and still convenient, to consider the central pro-
from memory under the direction of the control cessor as made up of three principal parts (not
unit and presented by the output units in an
necessarily easily identifiable physically): (1) the mem-
appropriate form. A wide variety of output de- ory; (2) the arithmetic-logic unit; and (3) the control unit.
vices is available.
The Memory The memory (or main memory, as it is
6. File storage units—These units store information
sometimes called, to distinguish it from file storage or
required for reference.
auxiliary memory) is able to hold, for as long as desired,
coded representations of numbers and letters in conve-
We will now consider each of these main units in some
nient groupings; each group is held in a uniquely address-
detail.
able part of the memory, from which it can be transferred
on demand. The memory may be figuratively described
Input Input devices accept data from the world outside as a large number of pigeonholes, each identifiable by a
the computer and transfer it in suitably coded form into serial number that in effect is its address.
the memory, a process frequently described as data cap- One purpose of the memory is to hold data. Numbers
ture. A very high proportion of input data is prepared by and letters flow into it from input, are sent for arithmetic
the operation of a typewriter-like keyboard. This may be processing to the arithmetic unit from which the results
linked directly to the computer either from an adjacent return to the memory, and the output information is
room or remotely over a telephone line. Alternatively, stored in it before transfer to an output unit.
there may be some intermediate carrier of the data, such The access time to data in the internal memory is
as magnetic tape or disks. In each case, the data prepara- important. The memory is a vital crossroad in processing,
tion device produces a coded representation of the keyed and the very high-speed arithmetic facilities of the ma-
data, which is recorded on the carrier medium in the form chine demand virtually instantaneous access to data.
of magnetized blips. These are subsequently scanned by Typically, memories can supply requested data in an in-
an appropriate reading device and signals transferred at credibly short time, measured in microseconds (mil-
high speed into the computer’s memory. lionths of a second) or nanoseconds (billionths of a
A data preparation process that depends on a manual second); in fact, their speed is usually from 8 ps down to
typing operation is clearly expensive and error-prone. 200 ns or less.
Since most original data appears as ink on paper, devices The second use of the memory is to hold all the
that can read such data automatically have a great attrac- instructions of the program required to carry out a job.
tion and document readers (scanners) play an increasingly These instructions are normally coded in numeric form
important part in the input process. and can be read into the memory from magnetic disk or
These readers are capable of feeding documents one any other input medium. They remain in memory indefi-
by one and scanning numbers or letters printed in suit- nitely unless they are deliberately erased.
able type fonts. The first readers, developed for handling The arithmetic-logic unit (ALU) is obviously one of
checks, read characters printed along the bottom of the the simplest parts of the machine to understand. It is that
check in a magnetized ink. When the characters pass the part where actual arithmetic operations are carried out.
reading mechanism of the input unit, the shape of the It in quite common to find a machine that can add a pair
DIGITAL COMPUTERS 437
Increasingly, personal computers are being used in- business data processing where the only input is fresh,
stead of VDUs. Such computers have all the capabilities raw data. For example, in inventory control, the new data
of a VDU plus the added advantage of local CPU process- consists of stock issues and receipts, but data in file
ing power, which supplements that of the host computer storage indicates the number of items left in stock calcu-
with which it communicates. A typical personal computer lated at last inventory and the average value of that stock.
is shown in Fig. 3. These files also include more static information about
Video display units or personal computers can also each item, such as its name, dimensions, batch order
be used to display information in graphical form or in quantity, and supplier.
diagrams of moderate accuracy. Associated input tech- Thus, the computer must also have its “filing cabi-
niques using a lightpen (a device that effectively draws nets” (albeit electronic ones) if it is to be used in business
lines electronically on the face of the tube) manipulate applications. It is obvious that such file storage units
changes or additions to drawings and diagrams. Devices must act as input and output units to the computer, and
such as the lightpen are increasingly being used for com- as they are of special and fundamental importance in
puter-aided design in such fields as car body or electric- these applications, they are treated here separately.
circuit design. The three most important factors relating to any
Where a permanent record of a graph or drawing is filing system, whether manual or electronic, are (1) its
required, or where greater accuracy is needed, a graph- total capacity; (2) the speed of access to required infor-
plotter can be attached to the computer and can produce mation (i.e. how long it takes to find what is needed); and
intricate drawings on paper. (3) the cost per unit of data. The two most commonly
Results from one computer operation often need to used media for holding computer files are magnetic tapes
be stored temporarily and then used as an input to a and magnetic disks. Each system has its advantages and
subsequent process. Magnetic tape (described in detail disadvantages, and the choice depends on the particular
under Storage Media) is frequently used for this purpose. circumstances; many installations indeed use both.
For example, process A may produce payroll information Magnetic tape holds records in a serial fashion in a
that will subsequently be used as input to process B way analogous to a domestic tape recorder. Thus, if the
for a labor cost analysis. Magnetic tape may also be records are in no particular sequence, the user is forced to
produced as an intermediary to carry data to other hunt backward and forward along the tape for any desired
machines being operated “off-line” (i.e. not directly record. Although tape moves quite quickly on a computer
linked to the computer). These could include numerically tape unit (up to 12 feet or so per second), a reel of tape is
controlled machine tools, printers, graph plotters, type- usually 2,400 feet long and contains many thousands of
setting machines, etc. records. Thus, minutes could easily elapse between the
location of succeeding required records. It is obvious,
File Storage (Auxiliary Memory) There are relatively therefore, that the records in a magnetic tape file must be
few applications of computers, particularly in the field of held in some predetermined sequence, such as employee
number or customer number sequence, and that the new
data being input in order to bring the file up to date (to
“update” the file) must also be in the same sequence.
When used for file storage, magnetic tape units are
generally operated in pairs—one carrying the brought-
forward or current file, which is read by the machine; the
other, a new carry-forward or updated file recorded or
“written” by the machine, which, in turn, will become the
brought-forward file when the job is next run. (Unaffected
items on the brought-forward tape are obviously copied
unchanged onto the carried-forward tape.)
Magnetic tape units (or decks, or transports, or sta-
tions) differ widely in performance (and price), with read-
ing and writing speeds varying from about 10,000
characters per second through a common speed of about
60,000 characters per second to a maximum speed of over
100,000 characters per second. Obviously, a tape system
offers virtually unlimited file capacity at low cost per
record, but it is not an acceptable medium when immedi-
ate random access is required to every item in the file,
There are two basic forms of a mainframe disk unit:
In one the disks are usually large (over 3 feet in diameter)
and are not removable from the unit; in the other, the
FIG. 3. The HP Vectra OS/20 PC from Hewlett-Packard has a
32-bit, Intel 80386 microprocessor in a desktop system. It can “removable disk,” or disk pack, system the disks are
be configured with up to 16 Mbytes of random-access memory. smaller (about 20 inches in diameter) and are demount-
It has three mass-storage shelves and seven industry-standard able, usually in sets of 6 to 12. This is analogous to putting
expansion slots. (Courtesy Hewlett-Packard.) six phonograph records on a player that is equipped with
DIGITAL COMPUTERS 439
one pickup for each of the surfaces of the set. (Computers and then 5 1/4-inch floppies prospered for a while, but the
can “play” their disks on both sides without inverting current trend is to 3 1/2-inch diskettes stored in a solid
them). protective case.
Unlike the phonograph record, which has one track Personal computers also use hard disks (q.v.) that are
spiraling from the periphery toward the center, the com- similar to non-removable mainframe disks but much
puter disk has a large number of concentric tracks on its smaller in diameter, typically 5 1/4-inch. Capacities range
surface, each capable of storing about 10,000 characters. from 20 MB to over 100 MB.
The pick-up, or “recording head” can be moved radially There are many facets to the problem of choosing
across the disk surface to the desired track at very high between tape and disk for file storage. The simplest basis
speed. The total capacity of a set of six removable disks for choosing one over the other is that tape methods are
is usually about 60 million characters, and the recording in general cheaper, whereas disk systems offer greater
head can move from one track to any other so quickly that speed and flexibility in the processing method, especially
direct access to any record at random can be obtained in where the files must be frequently interrogated. Obvi-
about one-tenth of a second, or even less in some cases. ously, the choice depends on the application.
For non-removable disk units, the capacity may be as Another medium (although increasingly less import-
large as 4 billion characters (four gigabytes). A typical ant than tape or disk) used for file storage is the magnetic
modern hard disk system having a capacity of 767 mega- drum. Historically, it is interesting to note that, in early
bytes is shown in Fig. 4. computers, a magnetic drum frequently provided the
Thus, disks offer the facility of processing data in main memory. Its speed of access, however, was such that
random sequence without any undue delay in searching other processing units were frequently kept waiting for
for a required item. However, their capacity is much more instructions and data, so it was replaced in favor by
limited than magnetic tape and their cost is higher. In magnetic core or semiconductor stores.
addition, the fact that essentially random access is possi- However, this inherent limitation does not affect its
ble means that, in contrast to magnetic tapes, data can be use as a file store, now that drums of large capacity (up to
corrected or changed and the modified record can be put 20 million characters and more) have been developed.
back on the disk in the same place that it originally On a magnetic drum, the curved surface of a rapidly
occupied. One disadvantage is that the modified data rotating cylinder is the recording medium. There are a
could create an overflow problem, and then a way must large number of magnetic heads, each of which can read
be found to correct it. and write data on the drum. Each head is associated with
A third type of disk is frequently used with small a specific recording track that extends around the circum-
computers. This is the so-called floppy disk (q.v.). It is ference of the drum. In many respects, the principles of
somewhat like a small phonograph record, but is much operation and use of the magnetic drum are similar to
thinner and very flexible. It doesn’t operate to such fine those for the magnetic disk, but there are the following
tolerances as its bigger siblings and is much more ro- important differences.
bust—a floppy disk can easily be mailed in an envelope.
A typical floppy disk has a storage capacity of about 1 1. Since there is usually a recording head for every
million characters to which access can be made in about track, no time is lost in the physical movement of
100 milliseconds. Early floppies were 8 inches in diameter, heads to a required track.
2. Atypical drum rotates about three or four times to the increasing scale of integration in computer circuits.
as fast as a magnetic disk system, which means This integration has now reached the stage where thou-
that less time is lost waiting for the required data sands of minute components and the printed wiring to
to come around to the recording head. Since interconnect them can be formed on the well-publicized
each track has its own recording head, the fast “chip”—a thin slice of silicon about 0.5 cm square. The
rotation means that drums have a much shorter components include transistors, resistors, and capaci-
access time than disks. tors, which are the raw material from which the
3. Drums are more expensive per record stored computer’s registers, arithmetic unit, control unit, and
than are disks. Moreover, they are permanently memory can be made. (See MICROCOMPUTER CHIP.)
attached and are not exchangeable. The effect of achieving such a high packing density of
components (or, as it is known, VLSI, very large-scale
There are a variety of other file storage devices, in addi- integration) is to make it possible to produce a complete
tion to the more common ones discussed above (see processor or small memory unit on a single chip.
CD-ROM). The struggle in many business applications is The implications of this are of quite fundamental
always to accommodate larger and larger files with an importance, since, with a cost per chip ranging from tens
acceptable access time without paying too high a price. to a few hundred dollars, it enables computing power to
be built into a wide variety of devices for use in offices,
factories, laboratories, and the home, and, indeed, to put
Distributed Computing, Computer Networks
a personal computer well within the range of purchase of
In the earliest days of the computer, its power was con-
many.
fined to the computer room. Bundles of work had to be
The effects of this increasing availability of cheap
physically brought to it and results collected. A vital step
computing power are to cause a proliferation of more
in releasing the power of the computer occurred when
“intelligent” machines and to raise questions about the
terminal devices, such as teletypes, were connected to
attendant social implications for both good and ill. In
the computer over telephone lines. The problems to be
particular, there is great debate about the effects on em-
solved were with the physical connection of the commu-
ployment. Word processing, (qg.v.), for example, can
nications equipment and the writing of very sophisticated
greatly improve the productivity of a typist and, hence,
computer programs to control and manage an ever-in-
theoretically reduce the number of available jobs. At the
creasing number of terminal devices.
same time, the boring, routine aspects of many jobs, such
The development first of minicomputers and today of
as typing, can be eliminated and, indeed, new jobs cre-
the microprocessor and microcomputer have made it
ated in the manufacture and use of new products hitherto
possible to build more “intelligence” (or local computing
undreamed of.
power) into the remote terminal devices so that they have
become capable of carrying out more complex opera- GRAHAM J. Morris
tions. For example, magnetic tape, card, or document
readers may be used at a distant point and results fed
back for local printing (see FILE SERVER).
It is but a small step from this to the provision of DIGITAL COMPUTERS: HISTORY
computer facilities at the distant location so that many
simple, routine tasks can be carried out locally and the
communications facilities used either to feed results to ORIGINS
the central installation or to make use of its greater power For articles on related subjects see ABC COMPUTER; AIKEN,
and wider facilities when necessary. It is then a further, HOWARD; ANALYTICAL ENGINE; ATANASOFF, JOHN VINCENT; BABB-
relatively small step to conceive the idea of interconnect- AGE, CHARLES; BUSH, VANNEVAR; CALCULATING MACHINES; COLOS-
ing a series of computers to form a network, passing work SUS; ECKERT, J. PRESPER; EDVAC; ENIAC; HOLLERITH MACHINES;
between themselves to be processed most economically HOLLERITH, HERMAN; LEIBNIZ, GOTTFRIED WILHELM VON; MARK J;
where the most appropriate facilities are available. Again, MAUCHLY, JOHN W.; NAPIER, JOHN; PASCAL, BLAISE; POWERS,
the major obstacle was not just the physical interconnec- JAMES; STORED PROGRAM CONCEPT; TORRES Y QUEVEDO; TURING,
tion, but also the management and control of the entire ALAN; WIENER, NORBERT; VON NEUMANN, JOHN; ZUSE COMPUT-
system both within the computers themselves and over ERS; and ZUSE, KONRAD.
the telecommunications systems. Such networks now
exist on both national and international scales, frequently
Mechanical aids to calculation and mechanical se-
using satellite communication facilities, and have quence-control] devices were perhaps the earliest and
reached the point where a user may not know, and need
most important achievements in the development of com-
not know, on which computer the work is actually being puter technology.
processed (see DISTRIBUTED SYSTEMS).
The first adding machines date from the early seven-
teenth century, the most famous of which was invented
Microprocessors and Microcomputers The by the French scientist and philosopher Blaise Pascal,
foregoing applies in principle to all computer systems, although it is now believed that his work was predated by
however large or small. Under the heading Electronic in that of William Schickard. A number of Pascal’s machines,
the section on Computer Characteristics, there is reference which he started to build in 1642, stil! exist. Even though
DIGITAL COMPUTERS: HISTORY 441
he had intended them for practical use, their unreliability were unaware that the problems they were tackling had
caused them to be treated mainly as objects of scientific been considered and often solved by Babbage more than
curiosity. During the subsequent two centuries, numer- a hundred years earlier.
ous attempts to develop practical calculating machines The Jacquard loom was perhaps the source of
were made by Morland, Leibniz, Mahon, Hahn, and Miiller, Herman Hollerith’s idea of using punched cards to rep-
among others. However, it was not until the mid-nine resent logical and numerical data. Developed for use in
teenth century that a commercially successful machine the 1890 U. S. National Census, his system, incorporating
was produced. This was the “arithmometer” of Thomas hand-operated tabulating machines and sorters, was
de Colmar, the first version of which was invented in 1820, highly successful and spread rapidly to several other
and which used the stepped-wheel mechanism invented countries. Automatic card-feed mechanisms were soon
by Leibniz. provided, and the system began to be used for business
Mechanical devices for controlling the sequencing accounting applications. Following a dispute with Hol-
of a set of operations, such as the rotating pegged lerith, the Bureau of the Census developed in time
cylinders still seen in music boxes today, date back even for the 1910 Census a new tabulating system involving
earlier. For example, de Caus (1576-1626) used such a mechanical sensing of card perforations, as opposed
mechanism to control both the playing of an organ and to Hollerith’s system of electrical sensing. James Pow-
the movements of model figures. One of the most famous ers, the engineer in charge of this work, eventually
designers of mechanical automata was Vaucanson. In left the Bureau to form his own company, which later
1736, he successfully demonstrated an automaton that became part of Remington Rand. Hollerith’s company
simulated human lip and finger movements with suffi- merged with two others to become the Computing-
cient accuracy to play a flute. Vaucanson was also Tabulating-Recording Company, which, in 1924,
involved in the development of what came to be known changed its name to the International Business Ma-
as the Jacquard loom, in which the woven pattern was chines Corporation.
specified and controlled by a sequence of perforated In 1937, Howard Aiken of Harvard University ap-
cards. The original idea can be traced back to Bouchon proached IBM with a proposal for a large-scale calculator
in 1725, but such automatic looms did not come into to be built from the mechanical and electromechanical
widespread use until early in the nineteenth century devices that were used for punched-card machines. The
after the work by Jacquard. resulting machine, the Automatic Sequence Controlled
In 1834, these two lines of development came to- Calculator, or Harvard Mark I, was built at the IBM
gether in the work of Charles Babbage, who had become Development Laboratories at Endicott. The machine,
dissatisfied with the accuracy of printed mathematical which was completed in 1943, was a huge affair with
tables. Earlier, in 1822, Babbage had built a small ma- 72 decimal accumulators, capable of multiplying two
chine, involving several linked adding mechanisms, 23-digit numbers in 6 sec. It was controlled by a sequence
which would automatically generate successive values of of instructions specified by a perforated paper tape;
simple algebraic functions using the method of finite dif- somewhat surprisingly, in view of Aiken’s knowledge of
ferences (see DIFFERENCE ENGINE). His attempt at making a and respect for Babbage’s efforts, it lacked general
full-scale model with a printing mechanism was aban- conditional jump facilities. After completion of the Mark
doned in 1834, and he then started to design a more I, Aiken and IBM pursued separate paths. Several more
versatile machine. In the space of a few years he had machines were designed at Harvard, the first being
developed the concept of a program-controlled, mechan- another tape-controlled calculator, built this time from
ical, digital computer, incorporating a complete arithme- electromagnetic relays. IBM produced various machines,
tic unit, store, punched-card input and output, and including several plug-board-controlled relay calculators
printing mechanism. The machine, which he called an and the partly electronic Selective Sequence Electronic
analytical engine, was to have been controlled by pro- Calculator, which was very much in the tradition of the
grams represented by sets of Jacquard cards, with condi- original Mark I.
tional jumps and iteration loops being provided for by Not until well after World War II was it found that
devices that skipped forward or backward over the re- in Germany there had been an operational program-con-
quired number of cards. Internaily, the machine was es- trolled calculator built earlier than the Mark I, namely,
sentially microprogrammed by rotating pegged cylinders Konrad Zuse’s Z3 machine, which first worked in 1941.
that controlled the sequencing of subsidiary mecha- This machine, which had been preceded by two earlier
nisms. but unsuccessful machines, had a mechanical store, but
Babbage’s work inspired several other people, was otherwise built from telephone relays. It could store
among whom were Ludgate, who designed an analytical 64 floating-point binary numbers, and has been de-
engine in Ireland in 1909; Torres y Quevedo, who demon- scribed as somewhat faster than the Harvard Mark I.
strated the feasibility of an electromechanical analytical The Z3, like several other machines built by Zuse, did
engine by successfully producing a typewriter-controlled not survive the war; the only one of Zuse’s machines
calculating machine in 1920; and Couffignal, who started to do so was the Z4 computer, which was later used
to design a binary analytical engine in France during the successfully for several years at the Technische
1930s. However, Babbage’s pioneering efforts were appar- Hochschule in Zurich.
ently unknown to most of the people who worked on the Various other electromechanical machines were
various computer projects during World War II and who built during and even after World War Il, including an
442 DIGITAL COMPUTERS: HISTORY
important series of relay calculators at the Bell Telephone until stored program electronic computers became
Laboratories. The first of these, the Complex Computer, widely available.
was demonstrated in September 1940 by being operated The earliest known efforts at applying electronics to
in its New York City location from a teletypewriter in- a general-purpose, program-controlled computer were
stalled in Hanover, New Hampshire, on the occasion of a those undertaken by Schreyer and Zuse in 1939, but their
meeting of the American Mathematical Society. The Com- plans for a 1,500-valve (i.e. vacuum tube) machine were
plex Computer, or Model 1, was capable of adding, sub- later rejected by the German government. In Britain, a
tracting, multiplying, and dividing two complex numbers, series of large special-purpose electronic computers, in-
but lacked any sequence-control facilities. Later ma- tended for code-breaking purposes, was developed by a
chines in the series incorporated successively more ex- team at Bletchley Park, with which Alan Turing was asso-
tensive sequencing facilities, so that the Model 5 relay ciated. The first of these machines, which incorporated
calculator was a truly general-purpose (tape-controlled) about 2,000 tubes, was operating in December 1943. It has
computer that achieved very high reliability of operation. been described as being, in a very limited fashion, a
(See BELL LABS RELAY COMPUTERS.) program-controlled device. Interestingly enough, several
The earliest known electronic digital calculating de- postwar British electronic computers were developed by
vice was a machine for solving up to 30 simultaneous people who had been involved with these secret ma-
linear equations, initiated in 1938 at lowa State College by chines.
John Atanasoff and Clifford Berry. Although the arithme- However, by far the most influential line of develop-
tic unit had been successfully tested before the project ment was that carried out at the Moore School of Electri-
was abandoned in 1942, the input/output mechanism was cal Engineering at the University of Pennsylvania by John
still incomplete, so the machine never saw actual use (see Mauchly, J. Presper Eckert, and their colleagues, starting
ATANASOFF-BERRY COMPUTER). Other important work on the in 1943. This work, which derived at least as directly from
development of electronic calculating devices was done Vannevar Bush’s prewar mechanical differential analyzer
at IBM, starting in 1942 with the building of experimental (q.v.) as from any digital calculating device, first led to the
versions of various punched-card machines, including a development of the ENIAC, which was officially inaugu-
multiplier. This machine was the origin of the electronic rated in February 1946. This machine was intended pri-
multipliers and calculating machines, such as the Type marily for ballistics calculations, but by the time it was
604 and the Card Programmed Calculator (CPC), that IBM completed, it was really a general-purpose device, pro-
produced in great quantities in the years immediately grammed by means of pluggable interconnections. Its
following World War II and that played an important role internal electronic memory consisted of 20 accumulators,
each of 10 decimal digits, and it could pérform 5,000 1982. Randell, B. (Ed.). The Origins of Digital Computers. (3rd Ed.).
arithmetic operations per second—it was approximately Berlin: Springer.
a thousand times faster than the Harvard Mark I. The 1983. Ceruzzi, P. E. Reckoners: The Prehistory of the Digital Com-
ENIAC was very much the most complex piece of elec- puter from Relays to the Stored Program Concept, 1935-1945.
tronic equipment that had ever been assembled, incorpo- Westport, CT: Greenwood Press.
1984. Augarten, S. Bit by Bit: An Illustrated History of Computers.
rating 19,000 tubes, and using nearly 200 KW of power.
New York: Tickner & Fields.
The machine was very successful, despite earlier fears
regarding the reliability of electronic components. BRIAN RANDALL
However, even before the ENIAC was complete, the
designers, who had been joined by John von Neumann,
started to plan a radically different successor machine,
EARLY
the EDVAC. The EDVAC was a serial binary machine, far
more economical on electronic tubes than ENIAC, which For articles on related subjects see AIKEN, HOWARD; BELL
was a decimal machine in which each decimal digit was LABS RELAY COMPUTERS; ECKERT, J. PRESPER; EDSAC; EDVAC;
represented by a ring of ten flip-flops. A second major ENIAC; MARK I; MAUCHLY, JOHN W.; STORED PROGRAM CONCEPT;
difference was that EDVAC was to have a much larger TURING, ALAN; ULTRASONIC MEMORY; UNIVAC I; VON NEUMANN,
internal memory than ENIAC, based on mercury delay JOHN; WHIRLWIND I; ZUSE, KONRAD; and ZUSE COMPUTERS.
lines. For these reasons, the initial design of EDVAC
included only one-tenth of the equipment used in ENIAC, The digital computer age began when the Automatic
yet provided a hundred times the internal memory Sequence Controlled Calculator (Harvard Mark I) started
capacity. F working in August 1944. This machine was based on the
It was apparently the discussions of the various ways mechanical technology of rotating shafts, electromag-
in which the capabilities of ENIAC might be extended, netic clutches, and counter wheels, developed over the
together with the knowledge of the possibility of compar- years for punched card tabulating machinery. It was con-
atively large internal memories, that led to the realization structed by IBM, following the ideas of Howard Aiken,
that sequence-control information could be represented whose original proposals go back at least to 1937. The
by words held in memory along with the numerical quan- shaft rotation period, and hence the time required to
tities entering into the computation, rather than by some transfer a number or perform an addition, was 0.3 sec,
external means, such as perforated tape or pluggable while multiplication and division took 6 and 11.4 sec,
interconnections. Thus, EDVAC could retain the great respectively.
speed of operation that had been achieved by ENIAC, but No other large machines using rotating shafts were
could avoid the very lengthy setup time, often on the built, but there were a number of successful magnetic
order of a day or more, that had made it impractical to use relay machines. Bell Telephone Laboratories had been
for other than very extensive calculations. The fact that a working in this area since 1938. Their first fully automatic
program could read and modify portions of itself was computer was the one now referred to as the Bell Model
heavily utilized, since ideas such as index registers and V (Fig. 1), of which two examples were constructed.
indirect addresses were still in the offing. Of more lasting The first of these began to work at the end of 1946.
significance was the practical and attractive proposition An addition took 0.3 sec and multiplication and division
of using the computer to assist with the preparation of its took up to 1.0 and 2.2 sec, respectively. The last of the
own programs. series was the Model VI, commissioned in 1949. Harvard
With EDVAC, therefore, the invention of the modern Mark Il, a relay machine designed by Aiken and following
digital computer was basically complete. The plans for its a very different design philosophy, was running in
design were widely published and extremely influential, September 1948. A relay computer constructed in Swe-
so that, even though it was not the first stored-program den (BARK) was operational early in 1950. Independent
electronic digital computer to be put into operation, it work on relay computers had also been done by K.
undoubtedly was the major initial inspiration that started Zuse in Germany, and a Zuse Z4 was running in Zurich
the vast number of computer projects during the late in 1950. Relays lend themselves to complex circuit
1940s. A family tree depicting computer development up arrangements, and all the machines just mentioned had
to the mid-1950s is shown in Fig. 1. floating-point arithmetic operations, a feature that did
not appear in electronic computers until well after the
period now under review here. The Bell machines had
References
elaborate checking arrangements, including a redundant
1961. Morrison, P. and Morrison, E. (Eds.). Charles Babbage and representation for stored numbers. Model VI even had
His Calculating Engines: Selected Writings by Charles Babbage a re-try feature, designed to mitigate the effect of tran-
and Others. New York: Dover. sient relay faults.
1972. Goldstine, H. H. The Computer from Piserl to von’. Neumann. The concept of the large-scale electronic computer is
Princeton: Princeton University Press. due to J. Presper Eckert and John W. Mauchly. They were
1973. Fleck, G. (Ed.). A Computer Perspective. By the Office of already building the ENIAC when the Harvard Mark I was
Charles and Ray Eames, Cambridge, MA: Harvard University
commissioned. The ENIAC contained nearly 19,000 vac-
Press. (A profusely illustrated book, containing a vast amount
uum tubes, more than twice as many as any later vacuum-
of information related directly or indirectly to the history of
computing.) tube computer. Because it was by far the most complex
444 DIGITAL COMPUTERS: HISTORY
FIG. 1. The second Bell Model V relay calculator installed at Aberdeen Proving Ground. The first was installed at
Langley Field, Virginia.
machine constructed up to that time, its construction was so formed that the ideas of the modern stored-program
a great act of technological courage, both on the part of computer emerged. They were summarized in a docu-
the designers and of the Office of Naval Research, which ment entitled “First draft of a report on the EDVAC,”
sponsored it. It was built at the Moore School of Electrical prepared by von Neumann and dated 30 June 1945. Be-
Engineering in Philadelphia. The ENIAC began to function cause this report bore von Neumann’s name only, the
in the summer of 1945. An addition took 200 us and a term von Neumann computer is often used as a synonym
multiplication took 2.8 ms. for “stored-program computer,” giving the impression
The very early computers were extremely limited that the ideas were all von Neumann’s own. | prefer the
in the amount of internal storage that they had. Provision term Eckert-von Neumann computer.
was usually made for tables to be held in read-only Eckert and Mauchly did not stay at the Moore School
storage (banks of switches or punched paper tape) with to work on the EDVAC, and it was not until January 1952
arrangements for interpolation. It was frequently possi- that a machine bearing that name was commissioned.
ble for the programmer to arrange that more than one Instead, they founded the Eckert-Mauchly Corporation,
arithmetic or transfer operation should take place at with the object of designing and marketing the UNIVAC.
the same time. The ENIAC was programmed by setting This company was later absorbed into Remington Rand.
up hundreds of plugs and sockets and switches, an From the beginning, the UNIVAC was designed with
operation that could take several hours. The other an eye to business data processing, and the standards set
computers read their instructions from punched paper for performance and reliability were very high. In March
tape, endless loops being used for repeated sections of 1951, the first UNIVAC passed a rigorous acceptance test
the program. and was delivered to the U.S. Census Bureau. It was then
While the ENIAC was still under construction, Eckert a fully engineered machine, with magnetic tape and other
and Mauchly began to realize that, by the application of peripherals required for large-scale business operations.
logical principles, it would be possible to construct a The Eckert-Mauchly Corporation had demonstrated a
machine not only much more powerful than the ENIAC smaller machine, the BINAC (Fig. 2), in August 1949, but
but also much smaller. They were joined by John von this was not very successful and they decided to concen-
Neumann on a part-time basis, and it was from the group trate their efforts on the UNIVAC.
DIGITAL COMPUTERS: HISTORY 445
When the Moore School group broke up, von Neu- tinued, and by the summer of 1949 a computer with a
mann established a project for the construction of a com- magnetic drum as a backing memory was demonstrated.
puter at the Institute for Advanced Study, Princeton. Von The Ferranti Mark I computer (Fig. 3), of which the first
Neumann himself, assisted by H. H. Goldstine, laid down delivered model was inaugurated at Manchester Univer-
the logical structure of this computer, and the engineering sity in July 1951, was based on this work.
development and design was in the hands of J. H. Bigelow. A third center of activity in England was at the Na-
It was the first parallel computer to be designed, and it tional Physical Laboratory, where the inspiration came
introduced techniques that became commonplace, such from Alan Turing. Turing did not stay there long, leaving
as the register economizing device of putting the multi- for Manchester University in 1948, but the Pilot ACE,
plier in the tail of the accumulator and shifting it out as which was running by December 1950, reflected very
the multiplication proceeds. Although the machine was strongly his rather personal view of computer design. The
not working until October 1952, the project had immense Pilot ACE used an ultrasonic memory, and it was neces-
influence on the development of the digital computer sary for the programmer to know more of the structure of
field. The ultrasonic memory (g.v.), which had been pro- the machine and the timing of pulses within it than was
posed for the EDVAC, was thought to be too slow for a required in the case of other machines.
parallel machine, and it was planned to use instead a The first of the American machines to be brought into
memory based on the Selectron proposed by J. A. Rajch- use was the SEAC, dedicated on 20 June 1950. This was
man. The Selectron did not fulfill its promise, but fortu- built under the direction of S. N. Alexander at the National
nately the Williams tube memory (g.v.) came along in time Bureau of Standards in Washington, and the success of
to save the situation. that group is the more remarkable, since the SEAC project
The experimental computers that came into action started after many others. The SEAC was elegant in design
first were those that were least ambitious, both in speci- and construction, and pioneered the use of small plug-in
fication and in performance. One of these was the EDSAC, packages; each package contained a number of germa-
a computer directly inspired by the EDVAC, designed and nium diodes and a single vacuum tube. The SEAC used an
constructed by myself and W. Renwick in Cambridge, ultrasonic memory, but a Williams tube memory was later
England. This computer did its first calculation on 6 May added for evaluation purposes. Meanwhile, H. D. Huskey,
1949, and was used for much early work on the develop- who had formerly been a member of the team at the
ment of programming techniques. Activity at Manchester National Physical Laboratory in England and had worked
University arose out of work by F. C. Williams on what on ENIAC, was completing the SWAC at the NBS Institute
became known as the Williams tube memory. In order to for Numerical Analysis at UCLA. This was a parallel ma-
test this system, Williams and T. Kilburn built a small chine with a Williams tube memory and was very fast by
model computer with a memory of 32 words and only 5 the standards of the day.
instructions in its instruction set. The only arithmetic Whirlwind! was a computer with a short word length,
instruction was for subtraction. Development work con- aiming at very high speed and power, and intended ulti-
446 _ DIGITAL COMPUTERS: HISTORY
mately for air traffic contro] and similar applications. It memory was of the electrostatic type, but the cathode-ray
was designed and built under the direction of J. W. Forres- tubes were of special design and operated on a different
ter at M.I.T. and was operating in December 1950. From its principle from that used by Williams.
specification, one would take it to be the first of the Table 1 gives brief particulars of the computers men-
minicomputers, but in fact it occupied the largest floor tioned above and also of several additional ones that
area of all the early computers, including the ENIAC. The became operational in the same period.
Operation Time
Max. (incl. access)
Memory No. of
Access Time Add Mult. Divide Input No. of Diodes Aux.
ms ms ms ms Output Tubes (germanium) Memory
range of options about computer design. It has persisted grams in high-speed memory meant that the processor
also because it could be extended and radically modified could fetch instructions at the same high speeds as data.
without altering its basic structure. Despite limitations, Second, by not having a fixed barrier between data and
the model has served as the foundation upon which the program storage, a computer could solve a variety of
edifice of computer science and engineering has been problems in which the ratio of instructions to data might
built, and shows signs of remaining so into the future. vary. Third, by storing instructions in the same memory
Computers of the 1990s hardly resemble those unit as data, the processor could operate on and modify
sketched out by the EDVAC team in the 1940s. Yet, just as those instructions, especially by computing new ad-
one can see in a modern automobile certain decisions dresses for operands required by an instruction.
made by Henry Ford seven decades ago, the ancestral By the mid-1950s it became clear that the ability to
lineage is there. Today it implies computers that maintain modify programs in mid-execution was the most pro-
a rigid division between memory and processing units, found innovation of all. Indeed, by allowing computers to
with a single channel between the two. Instructions as be programmed at levels far higher than individual pro-
well as data are stored together in the primary memory, cessor instructions, this innovation is as much responsi-
which is configured to be large, random-access, and as ble for the present-day “computer age” as is the invention
fast as practical. The basic cycle of a computer is to of the integrated circuit. Although the EDVAC group
transfer an instruction from memory to the processor, hardly foresaw this, it is testimony to the originality of the
decode that instruction, and execute it with respect to team’s thinking that their original concept has proved so
data that is also retrieved from memory. adaptable and seminal.
Despite all that has happened, those patterns remain.
(The late Alan Perlis (g.v.) once remarked, “Sometimes | Classes of Computers Computers are roughly
think the only universal in the computing field is the classed, from top down, as supercomputer, mainframe,
fetch-execute cycle.”) From time to time, designers pro- mini, workstation, and personal (or microcomputer).
pose computers that radically deviate from the von Neu- Other categories are developing in between these major
mann model; there has been a flurry of this activity since ones, and the future may see the blurring or merging of
1985. But this architecture remains the starting point, some of the ones mentioned. These terms did not come
even in the most extreme cases of massively parallel into common use until the 1970s and (for workstation) the
designs (some advocates of which call “non-Von ma- 1980s, but today they have fairly precise meanings. But a
chines” (see PARALLEL PROCESSING). look back reveals a functional as well as price differentia-
The ideas contained in von Neumann’s 1945 report tion in computers almost from the beginning of commer-
were not his alone, nor was that report the definitive cial computing. The ENIAC, with its emphasis on
statement of what has become the accepted architecture numerical processing for classified military customers,
of the modern computer. A full understanding came with was the ancestor of the supercomputer, while the UNIVAC
the cooperative effort of many persons, working on differ- I, optimized for business data processing, was an early
ent projects, between 1945 and about 1950. The EDVAC mainframe. Small and relatively inexpensive computers
report described a machine that economized on hard- such as the Bendix G-15, the Librascope LGP-30, and the
ware by doing everything serially, including register addi- Alwac III-E were vacuum tube machines that sold well,
tion, one bit at a time. When von Neumann moved from although their architecture was very different from that
the EDVAC project to one at the Institute for Advanced of the minicomputer of the 1960s.
Study at Princeton, that notion had given way to one of Architecture is one way of assigning these classifica-
parallel operation on each 40-bit word. That required tions, but memory capacity, processing speeds, price,
more hardware but simplified the design of the logical packaging, intended market, software, and other factors
control unit and yielded faster arithmetic speeds. Trans- come into play as well. At any given moment, the classes
fers to and from memory, as well as processing, were are distinct and represent a descending order of comput-
done one word, not one bit, at a time. Despite this shift to ing power, but over the years each category ratchets
a more parallel structure, memory transfer remained es- upward. Thus, today’s personal computer has the power
sentially a serial activity, since become famous as the of yesterday's mini (and the day before yesterday’s main-
“von Neumann bottleneck.” frame), but it is still called a personal computer.
The notion of having the word, not the bit, as the New categories, when they do arise, often bubble up
basic unit of processing further emerged among the vari- from a lower level, due mainly to advances in device
ous one-of-a-kind computer projects in the late 1940s, as technology. They often begin as modest offerings de-
did the related notion of having a large, reliable, random signed to take advantage of a small niche poorly served
access memory that could transfer a full word at a time. by an established class, but soon grow out of that to
Most first-generation computers used serial memories, become a full-fledged class of general-purpose comput-
however, until reliable magnetic core memory became ers. New classes do not arise from the reduction in cost
available in the mid-1950s. and size of the machines of a higher category. For exam-
What is most remembered about the EDVAC Report ple, in 1975, Digital Equipment Corporation introduced
is its description of the stored program principle. That the LSI-11, a single-board, low-cost version of its popular
principle was much modified and extended by the time PDP-11 minicomputer. But the LSI-11 did not inaugurate
first-generation commercial computers appeared. As ini- the personal computer era. That era came instead from
tially conceived, it had three features. First, storing pro- an upward evolution of simple 4-bit processor chips that
DIGITAL COMPUTERS: HISTORY 449
were developed for cash resisters, adding machines, and compatibility. The result has kept this architecture com-
other modest devices. As these increased in power, they mercially competitive into the 1990s.
took on more and more properties of general-purpose Whether to drop a proven architecture and adopt a
computers. In the mid 1980s, a similar phenomenon oc- new one is a decision manufacturers constantly face.
curred as companies introduced machines (“mini-super- Given the relentless march of device technology, a com-
computers”) that reached toward the performance of the pany may feel it must take that step, although it is possi-
supercomputer, but at far lower cost. ble to keep an obsolete design viable for a long time.
When a company adopts a new architecture, its managers
Upward-Compatible Families of Computers “bet the company” on the future design. The history of
A third pattern has emerged, and it, too, is likely to per- modern computing is full of examples of those who
sist: the emergence of not just single products optimized waited too long or who plunged too early into a new
for scientific, process-control, or business applications, design. Sometimes, established firms are quickly eclipsed
but families of general-purpose computers that offer up- by other companies that make the switch effectively and
ward compatibility of software. This gives customers an at the right moment.
easy path to upgrade with the same vendor as their needs Following are brief descriptions of representative
increase. Offering general-purpose instead of specialized machines that reflect the patterns described above. Ma-
products broadens the manufacturer’s customer base. chines up to and including the IBM System/360 are classi-
A major portion of the costs of any computing system fied by the traditional generations; those following it by
is the software developed for it. With a family of products, their type: super, mainframe, mini, etc. In these descrip-
a vendor can amortize these costs over a longer period of tions the emphasis is both on the device technology as
time. That in turn’can justify higher initial development well as the overall system architecture.
costs, and thus produce better software. Alternatively, it
can allow a vigorous third-party software industry to
flourish, especially evident with personal computers.
The First Generation, 1950-1960 The first
This more than offsets the downside that one may not
generation began around 1950 with the introduction of
take advantage of new technologies in the “best” way
commercial computers manufactured and sold in quan-
from a hardware standpoint. Likewise, offering a family of
tity. Computers of the first generation stored their pro-
machines based on a general-purpose architecture com-
grams internally and used vacuum tubes as their
pensates for the fact that special-purpose architectures
switching technology, but beyond that had little else in
might work better for specific customers.
common. Each design used a different mix of registers,
The first family of compatible processors consisted
addressing schemes, and instruction sets. The greatest
of the Philco Transac S-2000 models 210, 211, and 212,
variation was found in the devices used for memory, and
marketed over the period 1958 to 1964. Philco sold out to
this affected the logic of the processor design. Each mem-
Ford, who subsequently left the computer business. IBM
ory technology had some sort of technical drawback,
System/360, introduced in April 1964, was the first com-
thus giving rise to a variety of machines that favored one
mercial system based on a family of upward compatible
design approach over another.
processors all of which were announced on the same day.
The reports describing the Institute for Advanced
Other notable families include the Univac 1100 series, the
Study computer, written by Arthur Burks, Herman Gold-
Burroughs B5000 and its successors, the CDC Cyber se-
stine, and John von Neumann, emphasized the advan-
ries, the Digital Equipment Corporation VAX series, and
tages of a parallel memory device that could read and
the Intel 8080 line of processors used in many personal
write a full word at atime. But the device they favored, the
computers.
The need to maintain compatibility tends to slow RCA Selectron tube, took longer than expected to appear;
down the adoption of new advances in architecture or only the RAND Corporation’s Johnniac used it. America’s
instruction set design. If improvements in device technol- first commercial machine, the UNIVAC, used a mercury
ogy can be incorporated without destroying compatibil- delay line to which words were read and written one bit
at a time. The fastest machines used cathode-ray tubes
ity, a manufacturer will do so as soon as practical,
(Williams tubes - g.v.), which were capable of parallel
although marketing factors come into play as well. The
operation. But in practice these tubes, originally intended
overall results are short, generational cycles of device
technology, but less frequent cycles of changes in archi- for other commercial applications, were notoriously un-
tecture.
reliable. By far the most popular memory technique for
Some advances in circuit technology compel modifi- first-generation machines was the rotating magnetic
cations to a system architecture to take full advantage of drum. An electromechanical device, it was slow, but its
it. But a good initial design can and should be robust reliability and low cost made it suitable for small-scale
enough to absorb advances and incorporate them while machines like the IBM 650, Bendix G-15, Alwac III-E, and
still maintaining software compatibility. The IBM Sys- Librascope LGP-30.
tem/360 used hybrid circuits, magnetic core memory, and By the end of this period, machines were introduced
a batch-oriented operating system. Over the years, IBM that incorporated magnetic core memory. With the advent
introduced integrated circuits, semiconductor memory, of ferrite cores—and techniques for manufacturing and
virtual memory (q.v.), time-sharing (q.v.), and a host of assembling them in large quantities—the memory prob-
other technical innovations, all while preserving software lem endemic to the first generation was effectively solved.
450 DIGITAL COMPUTERS: HISTORY
nd of this period, machines were introduced that incorpo- petitive threat, IBM introduced two machines, one on a
rated magnetic core memory. With the advent of ferrite par with the UNIVAC, the other more modest.
cores—and techniques for manufacturing and assembling In 1952, IBM announced the 701 computer, originally
them in large quantities—the memory problem endemic called the Defense Calculator after its perceived market.
to the first generation was effectively solved. True to that perception, of the 19 models installed, most
went to U.S. Defense Department or aerospace custom-
UNIVAC The UNIVAC was designed by J. Presper Eckert ers. Initial rental fees were $15,000 a month; IBM did not
and John Mauchly, and first delivered in 1951 (by which sell the machines outright. For primary memory, the ma-
time their company had been acquired by Remington chine used IBM-designed Williams tubes that could store
Rand). It was the first American computer to be serially up to 4,096 36-bit words. Magnetic oxide-coated plastic
produced and sold to commercial customers. Eventually, tape was used for back-up memory, and a magnetic drum
over 40 were built. Customers included the U.S. Census for intermediate storage. It could perform about 2,000
Bureau, the Lawrence Livermore Laboratory, the U.S. multiplications/second, but unlike the UNIVAC, the 701’s
Army and Air Force, and the General Electric Corporation. central processor handled control of the slow input/out-
Most customers used the UNIVAC for accounting, statisti- put facilities directly. At about the same time, IBM also
cal, and other applications that would later fall under the developed a character-oriented machine, the 702, for
term data processing (q.v.). business customers. These machines began IBM's transi-
The computer used serial, binary-coded-decimal tion to a company that designed and built large-scale
arithmetic performed in four general-purpose accumula- electronic digital computers.
tors. Word length was 45 bits; each word could represent Also, at about the same time, IBM developed a
11 binary-coded-decimal (BCD) digits plus a sign, or 6 smaller machine that had its origins in proposals for
alphabetic characters (6 bits per character plus 1 parity extensions of punched card equipment. In the course of
bit). Basic clock speed was 2.25 Mhz, and the multiplica- its development, its nature shifted to that of a general-
tion time was about 2 msec. Mercury delay-lines stored purpose, stored program computer, using a magnetic
1,000 words in high-speed memory, while magnetic tape drum for primary memory. IBM’s acquisition of drum
units stored up to 1 million characters on reels of /%-inch memory technology from Engineering Research Associ-
wide metal tape. ates in 1949 was a key element in this shift. The machine,
_The UNIVAC was ruggedly designed and built. Its now called the IBM 650, was delivered in 1954, rather late
central processor contained over 5,000 tubes, installed in relative to objectives. But it proved to be very successful;
cabinets:that were arranged in a 10-foot < 14-foot rectan- eventually, there were over a thousand 650 installations
gle. Inside this rectangle were placed the mercury delay- at a rental of about $3,500 per month.
line tanks. Many design features that later became By the time of its announcement, the 650 had to
commonplace first appeared with the UNIVAC: alphanu- compete with a number of other inexpensive, drum-mem-
meric as well as numeric processing; extra bits for error ory machines. But it outsold them all, partly because of
checking, magnetic tapes for bulk memory, and buffers IBM’s reputation and existing customer base of punched
that allowed high-speed data transfer between internal card users, and partly because the 650 was perceived to
and external memories without CPU intervention. be easier to program and more reliable than its competi-
tors. The 650’s drum had a faster access time (2.4 msec.)
IBM 701, 650 At the time of the UNIVAC’s announce- than other drum machines. But that was still slow, a
ment, IBM was not committed to electronic computation limitation that precluded the use of drum-based ma-
and was vigorously marketing its line of punched card chines for many important applications. Ironically, the
calculators and tabulators. But, responding to the com- 650 had less impact among the business customers for
whom it was intended than it had at universities, who and a rich instruction repertoire. In addition, the 704
were able to acquire the computer at a deep discount. CPU used hardware floating-point arithmetic and three
There it frequently became the first machine available to addressable index registers. Both were major advances
the nascent “computing centers” that were just getting over the 701. To facilitate the use of floating point, an
underway in the late 1950s. IBM team led by John Backus developed Fortran. Backus
has said that he had not envisioned Fortran’s use much
ERA 1103 Another important first-generation com- beyond the 704, but of course it became and has re-
mained, with Cobol, one of the two most successful
puter was the ERA 1103, developed by Engineering Re-
search Associates, the St. Paul, Minnesota firm that
programming languages of all time. IBM produced 123
Remington-Rand bought in 1952. This machine was 704s between 1955 and 1960.
In January 1957, IBM announced the 709 as a compat-
geared toward scientific and engineering customers, and
ible upgrade to the 704, but it did not enjoy the same
thus represented a different design philosophy from Rem-
success. Shortly after it was introduced, it became clear
ington-Rand’s other large machine, the UNIVAC.
that after a ten-year development phase transistors were
The machine used binary arithmetic, a 36-bit word
finally becoming a practical replacement for vacuum
length, and parallel arithmetic operation. Internal mem-
tubes. Indeed, the transistorized Philco Transac S-2000
ory (1K words) was supplied by Williams tubes, with an
and Control Data 1604 had already beaten IBM to the
ERA-designed drum for backup. It employed a two-ad-
punch. IBM quickly withdrew the 709 from the market and
dress instruction scheme, with the first six bits of a word
replaced it with the transistorized 7090. The new machine
used to encode a repertoire of 45 instructions. Arithmetic
was architecturally identical to the 709, so IBM engineers
was performed in an internal 72-bit accumulator.
used a 709 to write software for the as-yet-unbuilt 7090.
In late 1954, the company delivered to the National
The first delivery of the 7090 in late 1959 marked the
Security Agency and to the National Advisory Committee
beginning of IBM’s entry into the solid-state era.
for Aeronautics an 1103 that employed magnetic core in
The first-generation computers established a beach-
place of the Williams Tube memory—perhaps the first
head among commercial customers, but even consider-
use of core in a commercial machine. (Core had by that
ing the success of the IBM 650, they did little more
time already been installed in the Whirlwind (g.v.) at
than that. Punched card accounting equipment still did
M.I.T. and in a few other experimental computers.) Fol-
most of the work for businesses, while engineering and
lowing customer advice, ERA modified the machine’s in-
scientific calculating was done with slide rules, desk
struction set to include an interrupt facility for its I/O,
calculators, or analog computers. Machines like the ERA
another first in computer design. Interrupts and core
1103 were too big, too expensive, and required too
memory were later marketed as standard features of the
much maintenance to be found anywhere but at the
1103-A model.
largest aerospace firms or government research labo-
ratories. Many still spoke of the total world market for
IBM 704, 709 _ In late 1955, IBM began deliveries of large computers as being limited to very small numbers,
the 36-bit 704, its successor to the scientifically-oriented much as one might speak of the demand for particle
701. It was the most successful of the large first-gener- accelerators or wind tunnels. As reliable magnetic core
ation computers. The 704’s most notable features were and transistor technology developed, that perception
core memory (initially 4K words, up to 32K by 1957) would change.
The Second Generation, 1960-1965 The sec- punched card accounting equipment. This combination
ond generation of computing lasted from about 1960 to of features, renting at $2,500 a month for a base system,
1965, and was characterized by the use of discrete tran- made the 1401 attractive to many small- and medium-
sistors for switching elements and coincident-current fer- sized businesses.
rite core planes for internal memory. In software, this era Eventually, over 10,000 1401s were installed—ten
saw the acceptance of high-level programming languages times as many as the 650. Its success marked the ascen-
like Fortran and Cobol, although assembly language pro- dancy of IBM over Univac as the dominant computer
gramming remained common. supplier. Not only did the 1401 broaden the base of poten-
From the perspective of the 1990s, the second tial customers, it finally dispelled lingering doubts over
generation appears to have been more of a transitional whether the world could absorb more than a small num-
period than a major era in computing. The term “revo- ber of electronic computers. Together with the 650, the
lution,” as applied to the invention of the integrated 1401 made a forceful argument for general-purpose,
circuit, obscures the fact that the IC’s inventors saw stored program machines over special-purpose designs.
their work as an evolutionary outgrowth of their work Concurrently with the 1401, IBM also offered the 1620, a
in materials, circuits, and packaging pioneered in the like-sized machine intended for scientific applications.
discrete transistor era. This evolutionary approach has- Meanwhile, in 1962 the company introduced the 7094, an
tened the acceptance of the otherwise exotic technology upgrade to the 7090. It, too, sold well and became the
among computer designers. It was during the transistor standard large-scale scientific computer of the time.
era when some of the toughest challenges were faced, By the mid-1960s, the IBM Corporation had seized
especially regarding the serial production of reliable and was vigorously defending a dominant share of the
transistors with consistent performance. It took from U. S. computer market. Univac, Burroughs, NCR, RCA,
1949 to 1959 to bring transistors from the laboratory Control Data, Philco/Ford, General Electric, and Honey-
to commercial production and use in computers. But well were its chief competitors. Each produced machines
the basic knowledge gained during that period hastened that were comparable in price and functionality to the
the advent of the IC, which went from invention to IBM machines, although they had different architectures.
commercial use in half that time. By 1970, GE, Ford, and RCA had left the computer
Transistors, replacing vacuum tubes on a one-to-one business, their places taken by new companies offering
basis, solved the problems of a tube’s unreliability, heat, computers of a different nature than the classic main-
and power consumption. As they solved those problems, frames of this era.
they exposed another, which proved to be more funda-
mental: the complexity of interconnecting many thou- LARC, Stretch, Atlas, B5000 The second generation
sands of simple circuits to obtain a system that had was a time when a number of architectural innovations
reasonable computing power. This tyranny of numbers— first appeared, but were premature. That is, the features
brought to the fore by transistorized computers—would saw only limited use until the next generation, when they
eventually be solved by the integrated circuit. became commonplace.
In 1955, Remington Rand Univac contracted with the
Lawrence Livermore Laboratory to produce a high-per-
IBM 1401 The most successful transistorized com- formance computer for weapons design. Design and de-
puter was the IBM 1401, introduced in 1960. Based on an velopment of the LARC (Livermore Automatic Research
initial concept developed at IBM’s laboratory in France, Computer) were beset with problems, but in 1960 the first
the machine employed a character-oriented, variable-
length data field, with one bit of each character code
reserved to delimit the end of a field. As with the 650, the
1401’s design evolved from a plug-wired, punched card
calculator to a stored-program, general-purpose com-
puter that utilized magnetic media (tape) as well as
punched cards for its I/O. Ferrite cores provided a central
memory of from 1,400 to 4,000 characters, while transis-
torized circuits supported a multiplication speed of about
500 numbers/sec.
IBM engineers took pains to make the machine easy
to program, especially by those who were comfortable
with punched card tabulators, but who knew nothing of
stored program computers. A simple language called “Re-
port Program Generator” (RPG) facilitated processing
and printing of tabular data much as punched card equip-
ment was formerly used to perform those tasks. With the
1401, IBM also introduced the Type 1403 printer, a rugged
and fast printer that carried type on a moving chain. The
system’s relatively small size meant that a customer
could install it in the same room that was already used for FIG. 3. IBM 7094. (Photo: IBM.)
DIGITAL COMPUTERS: HISTORY 453
model was completed and accepted by Livermore, with a that foreshadowed the operating systems (q.v.) common
second model delivered to the Navy’s David Taylor Model after 1965.
Basin soon thereafter. The LARC achieved high process- In 1962, Burroughs introduced the 5000 series of
ing speeds by having a separate processor whose only job computers that incorporated innovations similar to the
was to handle I/O. Logic circuits used Surface Barrier Atlas. This series was further designed for optimal execu-
Transistors, developed by Philco in 1955, but already tion of programs written in a high-level language (Algol).
obsolete by 1960. A great deal of effort was spent on The design of its processor was also novel in its use of a
packaging the circuits. Getting the backplane wired stack-oriented addressing scheme rather than the accu-
proved to be a major challenge, ultimately solved by mulator-oriented architectures of the first generation.
developing special tools that resembled those used by Neither of these two features would prevail in the market-
surgeons. The LARC was an impressive performer, but place,. but two others—multiprogramming and virtual
after delivering the two models for a total price of $6 memory—would become common a generation later.
million, Univac stopped production and absorbed a $20
million loss.
At about the same time IBM undertook a similar The Third Generation, 1965-1970 The IBM
project called “Stretch,” implying that it would dramati- System/360, announced on 7 April 1964, inaugurated the
cally extend the state of the art. Work began in 1956, with third generation of computers. This series of machines
the first delivery (to Los Alamos Laboratory) in 1961. Like did not use integrated circuits, but rather small modules
the LARC, the Stretch introduced a number of innovations consisting of discrete devices laid onto a ceramic sub-
in both architecture and device technology. Among the strate. IBM had considered using the newly invented IC
former was its use of a pipelined processor; among the for the 360, but went instead with what they called Solid
latter was its use of very fast transistors and Emitter-Cou- Logic Technology, in part because they had a better grasp
pled Logic (ECL). A total of seven other machines, by now of its manufacture in large quantities than they had with
called the IBM 7030, were delivered, before the company ICs.
withdrew the product line. As with Univac’s experience The initial announcement was for a series of six ma-
with the LARC, IBM absorbed a huge financial loss on the chines, offering upward compatibility over a range of 25:1
project. in performance. The 360 machines were intended to be
The Atlas computer, introduced in 1962 by the British applicable to the full circle of applications (hence the
firm Ferranti, Ltd., employed virtual memory (g.v.) with name), rather than having a separate character-oriented
paging, and provision for multiprogramming (q.v.). line of products for business and a word-oriented line for
Whereas most first- and second-generation computers scientific use. Eventually, over ten models were offered,
had at best only a rudimentary job control facility, plus additional models announced but not delivered or
Ferranti provided the Atlas with a “Supervisor” program else withdrawn soon after initial delivery. The series even-
tually offered a several hundred-fold range in computing instead of magnetic core. Shortly after the 370’s an-
power. nouncement, IBM offered models with these as well.
The 360’s designers achieved compatibility over that Because semiconductor memory, unlike core, loses
range by adopting several design innovations. The first its information when power is switched off, the 370
was the use of base-register addressing, whereby an in- needed a way to store its microprogrammed instructions
struction referred to a short address (see BASE REGISTER). in a non-volatile fashion. IBM engineers invented the
This address was added to a base address (stored in a floppy disk (q.v.) for this purpose. The floppy became the
register) to yield the actual location in core of the desired pivotal technology for establishing the personal com-
data. This kept the cost of address-decoding circuits low puter class later that decade.
for the low-end models. The notion of a compatible family of machines was
A second innovation was the use of microprogram- not the only 360 innovation that later became widely
ming (q.v.) to achieve compatibility. Except for the Model copied. The 360 adopted the 8-bit byte as the standard for
75, initially at the top of the line, each model of the 360 representing characters, and multiple-spindle disk sys-
obtained its instruction set from a read-only memory tems with removable disk packs. Microprogramming
(ROM - g.v.) containing a microprogram. That allowed soon became the most common way to implement archi-
designers for each model to aim for optimum cost/perfor- tectures. From the marketing of the system came the
mance without being unduly constrained by the specifics acceptance of many terms now used in computing:
of the 360 instruction set. The concept of microprogram- “byte,” “architecture,” and “generation,” among others.
ming was first suggested by Maurice Wilkes in 1951, and
had been implemented in the design of the Ferranti Atlas. Minicomputers The term “minicomputer” was coined
Another British computer, the KDF-9, used microprogram- in the mid-1960s by a Digital Equipment Corporation
ming; 360 engineers later acknowledged that this machine salesman to describe the PDP-8. The term really has two
inspired their decision to adopt it. The 360 established meanings, one informal and the other specific. Informally,
microprogramming firmly in the mainstream of comput- a minicomputer is low in cost, small in size, and intended
ing, and led the way for its use in the minicomputer and for use by a single individual, small department, or for a
microcomputer classes that followed. dedicated application. That concept was expressed as
A third innovation was the use of input-output chan- early as 1952, when several companies introduced com-
nels (q.v.)—small, independent processors—that han- puters aimed at such a market.
dled the transfer of data between primary memory and But producing such a machine with adequate per-
peripheral devices. This allowed IBM to market a com- formance was another matter. First-generation comput-
mon set of I/O equipment to all customers, regardless of ers like the Bendix G-15, Alwac III-E, or Librascope LGP-30
model. (The proliferation of incompatible peripherals for achieved low cost by using a drum memory, which is
previous lines of products was one of the main forces incapable of high-speed random access to data. The
behind the decision to develop the 360.) resulting low-processing speeds meant that these com-
By all accounts the 360 series was very successful. puters were ill-suited for process control, laboratory
IBM sales personnel recorded over a thousand orders for instrumentation, or other similar applications where
systems within a month of the April 1964 announcement, minicomputers first found wide use.
and by 1970 there were over 18,000 installations world- A more specific definition recognizes the technical
wide. The architecture did, however, have serious short- constraints that have to be overcome for a compact and
comings that were later corrected to varying degrees. inexpensive computer to be useful. By this definition, a
Chief among them was its lack of dynamic address trans- mini is a compact, solid-state computer, with random-ac-
lation, which, among other things, made it difficult to use cess electronic memory, whose internal structure is char-
the machine in a time-shared environment. When IBM acterized by a short word length and a variety of memory
upgraded the 360 series to the System/370 in 1970, its addressing modes.
architecture was extended to provide this feature and This definition also requires that a minicomputer be
virtual memory as well. A further extension of the 360 small and rugged enough to fit in a standard equipment
architecture was made in 1981, when the number of ad- rack and thus serve as an embedded controller for other
dressing bits was increased from 24 to 31. The basic systems. It was substantially smaller and more rugged
architecture, much extended, is still being used in the than what many people previously thought practical; its
1990s in two lines of IBM products, the 43xx series and the realization had to await advances in integrated circuit
30xx series which together have evolved into the Sys- technology as well as circuit board fabrication, power
tem/390 series. supply design, and packaging techniques.
The success of the 360 spawned competitors. In 1965, This definition makes sense only in the context of the
RCA began deliveries of a series of four machines, the era in which the machines appear. Minicomputers, with
Spectra Series, that were software compatible to the microcomputers following close behind, have evolved to
equivalent 360 models. These had the distinction of being mainframe-class word lengths of 32 bits and they now
built with true integrated circuits instead of the 360’s come in all sizes, including some that require a full-sized
Solid Logic Technology. But RCA was unable to sustain computer room. But the category has persisted. (32-bit
the line and sold its computer business to Univac in 1971. minicomputers are now called “superminis,” but the dif-
By that time other companies were offering computers ferences are not yet so great as to constitute a separate
built with integrated circuits and semiconductor memory class.)
DIGITAL COMPUTERS: HISTORY 455
The M.LT. Whirlwind (g.v.), completed in the early in early 1969, and it quickly became DEC’s main competi-
1950s, used a 16-bit word length, and was envisioned for tor. The Nova had a simple but powerful instruction set
real-time simulation and control applications. It was and was the first to use medium-scale-integrated (MSI)
housed in several rooms of a building on the M.LT. cam- circuits. It led the trend toward minis having word lengths
pus, and in its initial configuration used fragile and sensi- that were multiples of the 8-bit byte. DEC countered with
tive electrostatic tubes for memory. As such, it was hardly their 16-bit PDP-11 in 1970.
a minicomputer, although it was used like one. Many of The mini’s low cost, ruggedness, and compact pack-
the M.LT. students and faculty who worked on it would aging made it attractive for so-called “original equipment
later become founders of the minicomputer industry lo- manufacturers” (OEMs - g.v.), who purchased minis and
cated around the Boston suburbs. embedded them into specialized systems for typesetting,
In 1960, Control Data Corporation introduced a tran- process control, and a host of other applications. Having
sistorized, 12-bit machine called the CDC 160. The 160 others develop the specialized software and interfaces
was intended primarily as an input/output controller for was well-suited to small, entrepreneurial minicomputer
its larger, 48-bit model 1604. But the 160 could be used as firms who did not have the resources to develop such
a computer on its own, and as such, was one of the first specialized applications in-house. Several of the main-
machines to fit the definition of a mini. Unlike Whirlwind, frame companies, including IBM, introduced minicomput-
it was very compact—in fact, it was built into an ordinary ers at this time, but the smaller firms propelled the
office desk. Both the 160 and the 1604 sold well and industry.
helped establish CDC as a major computer manufacturer. A typical mini was microprogrammed and trans-
The company continued building small machines, but ferred data internally over a high-speed channel called a
concentrated more on very fast, long-word eomputers— bus (q.v.). To gain access to more memory than could be
later called supercomputers—for which the 160 was de- directly addressed by a short word, their central proces-
signed as an I/O channel. Thus it failed to establish a sors contained sets of registers for base-offset, indirect,
minicomputer niche. indexed, and other types of addressing. These designs
The Digital Equipment Corporation PDP-8, a 12-bit made optimum use of the medium-scale integrated mem-
computer announced in 1965, made the breakthrough. Up ory and logic circuits then becoming available.
to that time, DEC had produced and sold a variety of The machines offered considerable processing
machines with varying word lengths, including the 36-bit power for the money, and it was not long before custom-
PDP-6 (later PDP-10), a full-size mainframe widely used in ers began using them for general-purpose computation.
a time-sharing environment. But the success of the PDP-8 As they did, the need for more address bits soon became
established the minicomputer as defined above, with DEC pressing, in spite of the innovative addressing techniques
as the leading supplier. The success of the PDP-8 spawned the machines employed. Interdata, Systems Engineering
a number of competitors: Varian, Hewlett-Packard, Com- Laboratories, and Prime all introduced machines with a
puter Automation, and other companies. Data General, 32-bit word length in the mid-1970s. These machines
formed by ex-DEC employees, brought out the 16-bit Nova quickly became popular with NASA and other aerospace
customers, who needed that power for computer-aided Supercomputers On several occasions throughout
design and manufacture (CAD/CAM - q.v.) and real-time the history of digital computing, there has been a desire
data reduction. DEC responded to this trend in 1978 with to push the state of the art to obtain the highest perfor-
its VAX-11, a 32-bit “Virtual Address Extension” to the mance possible. Indeed, one sees this force driving
PDP-11. Data General announced its 32-bit Eclipse * Charles Babbage, who in 1834 abandoned work on his
MV/8000 in 1980. promising difference engine (q.v.) to attempt a far more
These minicomputers thus had the same word powerful analytical engine (g.v.), which he never was able
length, 32 bits, as the mainframes of the IBM 360 class. to complete. The various “Giant Brains” of the late 1940s
At first the 32-bit machines were called “superminis,” and early 1950s reflect this desire as well.
but as 12- and 16-bit minicomputers became scarce, In 1954, IBM built a fast computer called the Naval
this distinction became unnecessary. There were still Ordnance Research Calculator (NORC - g.v.) for the Naval
differences, however, in the minicomputer’s instruction Proving Ground in Dahlgren, Virginia. At its dedication,
set and use of buses instead of the mainframe’s I/O John von Neumann spoke of the tremendous advances in
channels. computer speeds, ending his talk with the hope that
The VAX soon began outselling the other 32-bit minis computer companies would continue from time to time
and went on to become one of the most successful com- “..to write specifications simply calling for the most ad-
puters of all time. Part of the reason was DEC’s existing vanced machine which is possible in the present state of
market position, but success was also due to the software the art.”
compatibility the VAX had with the large installed base of IBM’s Stretch (1961) and Univac’s LARC (1960) both
PDP-11s. Internally, the VAX was a different machine, but fit this category. And in the late 1960s, Burroughs built the
it contained within it an emulation mode, accessed by ILLIAC-IV, a parallel-processing machine based on a de-
setting a bit, that executed PDP-11 programs (eventually sign by Daniel Slotnik of the University of Illinois. The
this feature was dropped). Also crucial to success was the computers that resulted were often well regarded by the
VAX’s ability to be networked through Ethernet, the customers who bought them, but they usually incurred
Xerox-developed networking system that DEC chose in huge financial losses for the companies that manufac-
1980. The VAX was further blessed with having available tured them, even with the government subsidies each of
not one but two good operating systems: Digital’s own these machines enjoyed.
VMS (Virtual Memory System) and Unix (q.v.), developed It remained for Control Data Corporation to find a
by AT&T and originally offered on a PDP-11. The combina- way, not only to make reliable and practical super-
tion of inherently good design, an adequate supply of computers, but to sell them profitably as well. The ma-
semiconductor memory chips, networking, and software chine that brought the term “supercomputer”. into
support enabled the VAX to compete with all but the common use was their 6600, designed by Seymour Cray
largest mainframe computers, whose designs were begin- and delivered in 1964.
ning to look dated by 1980. The CDC’s architecture employed a 60-bit word cen-
The VAX’s success thus followed that of the IBM 360, tral processor, around which were arranged ten logical
in which a microprogrammed architecture allowed a wide 12-bit word peripheral processors each having a memory
range of models all running the same software. DEC has of 4K words. (Physically, there was only one such proces-
continued supporting the system by offering a range of sor, but it was ingeniously time-shared to provide users
VAX machines that merge into the mainframe at the high the illusion of ten independent logical processors.)
end and the micro at the low end. The machine continues Within the central processor were ten “functional units,”
to be popular into the 1990s, although its dominance is which contained specialized circuitry that performed the
being threatened by the 32-bit microprocessor-based sys- operations of fixed- or floating-point arithmetic and logic.
tems to be described later. Logic circuits, taking advantage of the high-speed silicon
technology and pays close attention to packaging, but mediate success for Hewlett-Packard, a company that had
various architectural philosophies are followed. In con- not been part of the consumer electronics business.
trast to Cray’s approach, for example, Thinking Ma- Some individuals within DEC, Xerox, HP, and IBM
chines, Inc. of Cambridge, Massachusetts introduced a proposed to build and market an inexpensive, general-
computer in the mid-1980s called the Connection Ma- purpose personal computer around this time, but their
chine, which is characterized by a massively parallel proposals were either turned down or only weakly sup-
architecture. All agree that a degree of vector processing ported. At the same time, radio and electronics hobbyist
and other parallelism is necessary, but just how much— magazines were publishing articles on how to build so-
therefore, how far to stray from the classic von Neumann phisticated digital devices using the TTL chips then be-
concept—is far from settled. coming available at low prices. By 1973, the space that the
personal computer would eventually fill was being nib-
bled at from above, by cheaper and cheaper minicomput-
Personal Computers Many persons in the com- ers, and from below, by pocket programmable calculators
puter business saw the trend of lower prices and smaller and hobbyist’s kits.
packaging occurring through the 1960s. They also recog- In January 1975, Popular Electronics published a
nized that lowering a computer’s price and making it cover story on a computer kit that sold for less that $400.
smaller opened up the market to new customers who The machine, called the Altair, was designed for the mag-
would never have been considered to be reasonable pros- azine by MITS, acompany consisting of about ten employ-
pects during an earlier generation. ees located in Albuquerque, New Mexico. The Altair filled
Seen in this light, and with the hindsight of a decade the space perfectly. It was inexpensive, less than an HP-
of furious growth of the industry, it seems inevitable 35. It was designed around the Intel 8080 microprocessor,
that a computer company would introduce the personal a chip that offered a rich instruction set, flexible address-
computer. The truth is more complex: The personal ing, and a 64 Kbyte addressing space. Also, Ed Roberts,
computer’s invention was the result of a conscious effort the head of MITS, had designed the Altair along the lines
by individuals whose vision of the industry was quite of the best minicomputers, with a bus architecture and
different from that of the established companies. plenty of slots for expansion.
An understanding of the invention and subsequent There were many things the Altair lacked, however,
growth of the personal computer must begin with an including decent mass storage and I/O. As delivered, it
understanding of the technical and social components of represented the minimum configuration of circuits that
a true “personal” computer. Some of the first electronic one could legitimately call a “computer.” But hobbyists
computers of the late 1940s were operated as personal were tolerant. In fact, these hobbyists were the key to the
computers in the sense that all control and operation ofa launching of the personal computer, and the reason why
machine was turned over to one user at a time. Prospec- the PDP-8 and the other machines proposed or offered by
tive users had to take their place in line with others the established companies did not inaugurate this class
waiting to use the machine, but there were no supervi- of machines.
sory personnel or computer operators between them and Those who bought the Altair did so not because they
the machine. This mode of operation and very low cost had a specific computing job to do, but rather because
are the defining characteristics of what constitutes a per- they understood the potential of owning a general-pur-
sonal computer. pose, stored program computer. They understood, as the
As the industry matured into the third generation, a mini and mainframe makers did not, the social im-
style of access arose that became known as a “computer plications of the word “personal.” As such they were in
utility”: computing power made accessible to individuals the tradition of Alan Turing (q.v.), who asked whether a
through remote terminals accessing a centralized, time- computer could think at a time when few could run more
shared mainframe. Control over the physical location and than an hour without failing, or John Mauchly (q.v.), who
supervision of the mainframe was left to computer spe- set out to create a commercial computer industry at a
cialists and technicians. The user had the impression that time when nearly everyone else believed that the total
the full resources of the mainframe were available to him world market for them would be on the order of ten. The
or her, with few of the administrative headaches. This
approach had many advantages, but its very appeal and
its analogy to an electric power utility created for some
companies a mental block that prevented them from mar-
keting a personal computer.
Throughout the late 1960s, the semiconductor man-
ufacturers were continuing to place even more circuits on
single chips of silicon. Around 1970, these developments
led to the first consumer products: digital watches,
games, and calculators. Four-function pocket calculators,
priced near $100, appeared around 1971, and the follow-
ing year Hewlett-Packard introduced the HP-35, which
offered floating-point arithmetic and a full range of scien-
tific functions. The HP-35 sold for $395 and was an im- FIG. 8. Altair 8800. (Photo: Smithsonian Institution.)
DIGITAL COMPUTERS: HISTORY 459
personal computer’s social appeal was that its owner new architectures that radically deviate from the classic
could do as he or she wished with it; it became an exten- von Neumann model. But both their architecture and
sion of the owner’s mind and hands, a tool like a pocket even their existence will be transparent to the user. The
knife. Further details on the history of the personal com- situation is similar to the way someone using the tele-
puter are given in the next part of this History article. phone neither sees nor is aware of the specialized switch-
ing, billing, and signal-processing equipment connected
Personal Workstations Beginning in the late to the modest telephone on one’s desk (unless one of the
1980s, a number of companies introduced personal work- computers malfunctions).
stations, whose architecture reversed the trend set by the In the above scenario, the generational and class
360, VAX, and 8080-series. Instead of using a complex, distinctions that characterized the history of computing
microcoded instruction set, these workstations are Re- since 1950 would come to an end. But in computing, any
duced Instruction Set Computers (RISC - q.v.), which use a attempt to predict the future is bound to fail. The rapid
small instruction set applied to many fast registers. These pace of innovation is likely to continue, with the future
computers are intended for use by a single individual, and bringing surprises that no one can predict. A simple ex-
provide high-resolution graphics, fast numerical process- trapolation of existing trends points to an even smaller
ing, and networking capability. As such they combine the class of computers, and indeed such may have already
attributes of the personal computer with those of the appeared in the form of “laptop” (q.v.), notebook, or even
higher classes. Their performance reaches into the low palm-sized computers. But this time smaller size alone
end of the supercomputer range, but their prices, cur- will not produce a qualitatively new class. If another class
rently ranging from $100,000 down to $10,000, touch the of machines should appear, it is likely to be as novel and
high end of the personal computer class. . “ unexpected as were the mini- and personal computer in
their day. Looking at what seems to be missing from
Future Trends The future may see the industry sta- present computers, two needs stand out: ease of use and
bilize around networks of these workstations (see FILE communications. Current products meet neither very
SERVER). Should this happen, all other classes of machine well.
will be subordinate to this one. On the networks con- Despite the penetration of personal computing into
nected to these workstations, other types of computers the workplace, many areas of work have yet to benefit
will continue to exist and evolve: mainframes to provide from their introduction. Computers remain difficult to
mass storage or database management, minis for network use, frustrating, and overly complex in the way they pres-
or process control, and supercomputers for intensive ent software to their owners. Manufacturers are already
numeric processing. These computers may incorporate devoting large resources to developing graphical user
interfaces (GUIs), best exemplified by the Apple Macln-
tosh, introduced in 1984. But, even with this computer,
many of the frustrations of casual computer users remain.
There is little doubt that there is a need for systems
that better integrate communications and general-pur-
pose computing—witness the explosive growth of cellu-
lar telephones, pocket pagers, and facsimile (fax)
machines beginning in the mid-1980s. It is illustrative of
the need and of the problem to note that the compara-
tively simple fax technology, which sends an image of a
page over ordinary telephone lines, has rapidly eclipsed
the packet-switched networks such as Internet for gen-
eral use, mainly due to the former’s ease of use.
In the early 1980s, many believed that the marriage of
computing and communications was imminent. The
breakup of the AT&T monopoly in 1984 was seen as the
pivotal event that would hasten this event. AT&T lost no
time in marketing a line of computers, while IBM acquired
communications technology. But to their mutual frustra-
tion, the marriage did not happen. The fundamental rea-
sons why it should happen are still valid. There have been
successes in establishing large digital networks under
private control, such as the SABRE system for airline
reservations or automatic teller machines for personal
banking. But the vast majority of computers in use today
are unable to communicate with one another. Depending
on the products to be marketed, the surprising joint ven-
ture of IBM and Apple Computer called Taligent an-
nounced in 1991 may address this need.
FIG. 9. IRIS Personal Workstation. (Photo: Silicon Graphics.) Progress depends partly on technology, but also in
460 _ DIGITAL COMPUTERS: HISTORY
establishing communications standards, uniform govern- showing the principles of computing, but it was a working
ment regulations, “open systems” of architecture, and machine.
protocols. The universal acceptance of networked per- An example of a more usable machine is the “Mark-8,”
sonal workstations, as compelling as it may seem, will not first advertised in the July 1974 Issue of Radio-Electronics.
happen without such standards taking hold. Also, people The electronics magazines usually made arrangements
have to feel as comfortable using these networks as they with electronics suppliers and manufacturers so that at
do with the telephone system. least the key parts needed for the construction project
could be purchased through the mail. The parts kits could
Conclusion The word “revolution” is overused, but include anything, but usually contained the circuit board
by the metric of computing speeds, price, size, and power and those parts that were not easy to get in a TV or
consumption, there has indeed been a revolution in com- electronics hobby shop. The prototype of the Mark-8 was
puting technology since 1950. But that is not the only way designed and built by Jonathan Titus, then with the chem-
to measure what has been happening, nor does it give one istry department of Virginia Polytechnic Institute in
a reliable guide to future trends. The persistence of cer- Blacksburg, Virginia. The “brain” of this and several other
tain patterns of development, based on architectural fea- such machines was the Intel 8008, the next commercial
tures, has given some structure to these events. Future version of the original microprocessor developed for cal-
development may depend on that as well as other factors. culators, the 4004. Several hundred of the machines were
built by enthusiasts, and a club or “users’ group” with its
References own newsletter was formed for mutual help and support.
From these machines and later ones produced by the
1982. Siewiorek, Daniel P., Bell, C. Gordon, and Newell, Allen. new microcomputer entrepreneurs, the legend arose that
Computer Structures: Principles and Examples. New York:
the microcomputer was exclusively a grassroots move-
McGraw-Hill.
ment created by individuals or small groups working in
1986. Bashe, Charles J., Johnson, Lyle R., Palmer, John H., and
Pugh, Emerson W., JBM’s Early Computers. Cambridge, MA:
garages or recycled sandwich shops. The claim was that
The M.I.T. Press. large companies couldn’t really innovate. But there are
1989. Smith, Richard E. A historical overview of computer archi- two dramatic examples that contradict this romantic and
tecture. Annals of the History of Computing, 10, 277-303. comfortable mythology.
PAUL E. CERUZZI Xerox Alto Xerox Corporation had established its Palo
Alto Research Center, more famous as “Xerox PARC,” in
the 1960s. Here, several research groups were given
PERSONAL COMPUTERS considerable freedom and funds to create high-technol-
ogy machinery in various areas. One result was the
The Beginnings By 1970, a few computer visionar- “Alto,” a personal computer in every sense of the word,
ies saw that the new IC technologies not only solved the which became operational in 1973. It was well ahead of
tyranny of numbers, but might even make it possible for any of the machines then available from kits. It featured
small, relatively inexpensive computers to find their way high-resolution graphics on a full-page screen, a mouse
into the individual home or office. The way was paved by (qg.v.), high-capacity (for the time) 8inch drives, and
electronic enthusiasts and hobbyists. It was not an unrea- some excellent software. Though widely used within the
sonable hope, because the increasingly small minicom- Xerox Parc facilities, there was confusion and contro-
puters of the 1960s, such as the later PDP-8 versions, were versy about marketing the machine and it appeared
in fact no larger than many of the microcomputers of the publicly only as the elegant and expensive Xerox 850
mid-1970s or the later IBM PC (g.v.). Increasingly powerful dedicated word processor. The Alto caught the attention
yet ever shrinking integrated circuits and the invention of of many people, including Steve Jobs, who hired Larry
electronic calculators in the early 1970s moved the Tessler and others from Xerox to work on projects for
dreams along. There was scattered talk in one or two large Apple Computer (q.v.), which included the unsuccessful
companies about building small computers for individu- Lisa machine and its popular and influential successor,
als using the new chip technology. However, the first to the MacIntosh.
realize the fantasy of owning their very own computer
were a handful of electronics enthusiasts. IBM SCAMP The sleek and attractive portable proto-
A few computer kits based on the new integrated type machine called SCAMP was designed and built in the
circuit chip technology were available in the early 1970s. last few months of 1973 by a project team headed by Paul
They appeared as kits or in electronics magazines as Fried] of the IBM Palo Alto Science Center. It was originally
construction projects for electronics professionals or ad- conceived by IBM as a vehicle to spread the use of its APL
vanced hobbyists. These early kits created interest and language by engineers. Heavier and slightly larger than
awareness of the possibilities of owning one’s own com- the later “luggables” of the early 1980s, it was a personal
puter which was important to the personal computer computer in every respect, including a handle and even
movement. software that functioned as a spreadsheet (¢.v.). Although
The first known example was the “Kenbeck” which this prototype also preceded anything offered by the
was advertised and sold in Scientific American around small entrepreneurs, the production model (the IBM
1973. Like several such early machines, it was limited to model 5100) did not reach the market until late 1975 and
DIGITAL COMPUTERS: HISTORY 461
then as a rather expensive machine for engineering use. The Processor Technology Sol A good example of an
The Scamp and the Alto demonstrate that large compa- early entrepreneurial machine is the Sol. This machine
nies can innovate; what they seldom do is commit large was designed by Homebrew member Lee Felsenstein in
resources before they see a market. Despite many claims 1976 for a new company called Processor Technology
after the fact, few, if any, realized that America had a which had just been started by two other members of the
remarkable number of people who wanted their own com- Homebrew Club, Bob Marsh and Bob Curry. The Sol was
puter. designed with its keyboard and electronics in a single
unit. A later example of this style was the Apple II, which
The “Altair Age” Although few, if any, predicted it, the used the same type of plug-in electronic circuit boards as
market was ready for a complete computer kit by early the Altair. Many other companies adopted the Altair plug-
1975 and it came in the form of the now famous Altair. The in approach, called the “S-100" bus system because there
Altair was produced by a small entrepreneurial company were 100 connectors in each slot and on every board that
in Albuquerque, New Mexico called Micro Instrumenta-
plugged into the slot.
tion and Telemetry Systems (MITS), which had been
formed to make electronic instruments for model rockets. AppleI The Apple! was designed and manufactured in
Like the Mark-8, the Altair came to many people’s atten- 1976 by two other members of the Homebrew Club, Steve
tion as the subject of an article in an electronics maga- Jobs and Steve Wozniak. The Apple I was actually only an
zine, Popular Electronics (January 1975), where it was electronic circuit board. The case and other parts had to
shown on the cover. No one predicted the great response be bought or made by the owner. Relatively few Apple I
to the Altair kit; it was hoped that perhaps 200 (a pro- boards were made and sold, but they gave the company
jected break-even point) would be sold, but thousands of its start (see APPLE COMPUTER).
orders poured in during the first year.
Though potentially a genuine computer and a real The Hidden Enterprise: Computer Publications As
bargain at $397, the Altair required a great deal of work in suggested by the racks of magazines, books, and soft-
assembly and trouble-shooting just to get it up and run- ware in stores that supported personal computers, pub-
ning. Though it was marketed as a complete kit, it was not lications about the microcomputer were a_ business
a project for the faint of heart, much less the technical arguably as large as the microcomputer industry itself.
novice. Yet many novices did attempt to build the ma- Before the great shakeout of 1983-85, there were well
chine and many succeeded. over one hundred periodicals (magazines, newsletters)
When built, the Altair did nothing more than produce devoted to the subject. Books on microcomputers and
patterns of lights on its front panel in response to a related subjects grew into the largest single nonfiction
“program” that the owner put into the machine with the area in publishing.
switches on the front panel. Serious applications required
many additional and expensive additions, both inside and
Godbout Compupro Machines that used the Altair’s
outside the machine, such as a keyboard and television
original S-100 bus circuit board system continued to be
screen. A key technical feature of the Altair was its provi-
built well into the 1980s and many survive today. The
sion of slots on the main circuit board in the bottom of the
well-constructed machines designed by Bill Godbout
machine. These allowed additional electronic circuit
were widely admired and were among the first to be used
boards to be plugged into the Altair that could be manu-
in heavy-duty industrial and professional commercial
factured by companies other then MITS. Most early mi-
tasks. For example, a Compupro system did all of the
crocomputer companies got their start by making new or
large-screen graphics for the movie “War Games.”
improved Altair circuits boards; the open architecture
Word processing (g.v.) was one of the earliest and
(q.v.) spawned an industry.
most important uses of the microcomputer. For example,
science fiction writer and microcomputer columnist Jerry
The Homebrew Club The early computer kits like the Pournelle used a Godbout whimsically named “Zeke II” for
Mark-8 and the Altair were very difficult to build, main- several novels and many columns in BYTE magazine.
tain, and operate. Because of this, owners of these early
machines soon began to band together into clubs or The Osborne Conceived by computer commentator
“users’ groups.” Although the groups were truly amateur, Adam Osborne and designed by Lee Felsenstein, the 1981
the core of most of them consisted of people who worked Osborne was the first personal computer that was truly
in one phase or another of the established computer portable and that came “bundled” with a large set of appli-
industry. These people wanted their own computer be- cation programs, such as word processing, spreadsheets,
cause they were dissatisfied with the limitations placed databases, etc. Although the programs that came with the
on them by those who managed large systems and machine varied over the lifetime of the company, all of
wanted more direct access to computing power. The first them were close to the best then available in terms of
users’ group, the Homebrew Club, was located in the power and usefulness.
Santa Clara Valley south of San Francisco (now better Like the Godbout and most other personal comput-
known as “Silicon Valley”). Founded in March 1975, it was ers of the S-100 (Altair) type, the Osborne’s programs all
a cradle for early entrepreneurial efforts to build micro- worked exclusively with a supportive software system
computers or their components. called CP/M written by Gary Kildall in the early 1970s.
462 DIGITAL COMPUTERS: HISTORY
Though written originally for the use of computer pro- The Commodore 64 The Commodore 64, introduced in
grammers, CP/M was just easy enough to learn and use the spring of 1982, became the most popular home com-
that it became the standard for this generation of ma- puter in history. It achieved its popularity partly because
chines. We have mentioned only a few of the many CP/M of its technical merits and partly because it was aggres-
machines made from 1976 to the early 1980s when they sively marketed in a wide variety of outlets, including toy
were displaced by the IBM PC and competitive compati- stores. The Commodore 64 was inexpensive and had very
ble machines. good color graphics which allowed it to act as a game
machine.
Like the CP/M machines described earlier, there were
The Computer as Appliance many small start-up companies that produced appliance
computers. Many had their own operating systems and
thus their software could not be used on other brands of
The Tandy TRS-80 Model 1 Along with the Apple II and computers. The situation reminded many observers of
the Commodore Pet, the TRS-80 (Fig. 1) was introduced in the biblical Tower of Babel. What was needed for the
1977 as an “appliance” computer. That is, unlike the ma- software industry was to have no more than a few domi-
chines of the kit era of the previous few years, it was built nant operating systems.
and tested and ready to be turned on. It came with a
built-in computer programming language, Basic, stored in
ROM (q.v.), and an excellent instruction manual for that
language written by David Lein. The TRS-80 had no arcane
Social Computing Though no longer marketed in a kit
flashing lights to be interpreted; it came with ascreen and form that appealed only to the electronics hobbyist, the
a keyboard and used ordinary letters and words to com- next generation of personal computers were still rela-
tively expensive and forbidding machines that were usu-
municate with the user.
ally poorly explained in the documentation supplied. The
standard joke in the early days of microcomputing was
The Apple II The Apple II, which was announced in the that the machines were not delivered, they were aban-
Spring 1977, was still available in several forms in the late doned on your doorstep. Because of this, owners of these
1980s, making it the longest lived design in the history of early machines soon banded together into clubs or users’
microcomputing. In many ways, the Apple was a model groups, similar in form to the earlier more technical
for successful microcomputers. It had open architecture groups such as Homebrew. The largest computer group in
(like the Altair), flexible pricing practices (book prices the world and one of the oldest, the Boston Computer
were fairly high, but dealers could discount within rea- Society, was started by Jonathan Rotenberg when he was
son), encouragement of third-party software, an add-on only 13. The BCS has been dispensing help and informa-
card system (like the Altair), and a strong relationship tion to its members since 1977. Other major social insti-
with its users. In addition, Apple offered color and rela- tutions included conferences and computer shows where
tively high resolution graphics which made for marvelous vendors demonstrated their hardware and software and
sales demonstrations. sometimes sold them at discounts.
Rade shack
Tes-ae.
vee
ea
ware implementations to be compatible so that the same The VAX/VMS operating system is Digital’s principal
software runs on all models. operating system. It provides multi-user time-sharing,
The VAX series embodies a 32-bit architecture with batch, real-time, and transaction processing capabilities.
32-bit virtual addresses and 32-bit general registers. It supports symmetric multiprocessing, loosely coupled
There are 16 general purpose registers, including the VAXcluster systems, and wide area multivendor network-
program counter, stack pointer, frame pointer, and argu- ing. It supports all major programming languages, com-
ment pointer. The VAX architecture features variable- puter-aided software engineering tools (CASE - q.v.),
length instructions, from 1 byte to over 50 bytes. Opcodes information management tools, networking, and security
can be 1 or 2 bytes long. The number of operands varies controls.
from 0 to 6. Each operand is specified using a general The Ultrix operating system is based on Unix™Berke-
operand specifier that allows 1 of 13 addressing modes, ley Software Distribution 4.2 with 4.3 extensions and
including true post-indexing. Several data types are sup- AT&T’s System V.2 enhancements. It complies with indus-
ported, including 8, 16-, and 32-bit integers; single, dou- try standards such as POSIX and X/OPEN.
ble, and quadruple precision floating-point numbers; and The VAXELIN Real-time Software Tool kit supports
decimal string, numeric string, character string, 0- to dedicated real-time applications, such as process control,
32-bit fields, and queues. simulation, or high-speed data acquisition.
Its architecture makes the VAX a classic complex
instruction set computer (CISC). Special instructions are Processors Though the VAX began as a minicomputer,
provided for procedure call and return, saving and restor- the VAX series now includes a wide range of architectur-
ing process context, array index computation, polyno- ally compatible processors whose performance spans a
mial evaluation, character string manipulation, range from that typical of workstations through minis to
transformation of packed decimal strings to character mainframes. A summary of the mini and mainframe VAX
strings, etc. It also includes a PDP-11 compatibility mode products marketed as of 1990 is given in Table 1. A VAX
for emulation of PDP-11 user code. Unit of Performance, one VUP, is approximately 0.5 MIPS.
VAX virtual memory management uses 512-byte For multi-processor models, the performance cited is that
pages for address mapping and protection. Four modes attainable from the maximum processor configuration.
(kernel, executive, supervisor, and user) are supported.
Each mode has its own stack pointer.
The original VAX architecture included 244 instruc- VAX Workstations
tions when it was announced in 1977. Four queue instruc-
tions for manipulating queues in a multiprocessor system VAXstation I With the introduction of the MicroVAX I in
were added in 1978 and retrofitted to all VAX-11/780s in 1984, it became technically feasible to enhance the VAX
the field. In 1980, 56 new instructions were added to
product line with a single-user, graphics-based worksta-
support a new extended range double precision data type
tion known as the VAXstation I. The VAXstation I takes the
(G_floating) and a quadruple precision data type (H_float- existing MicroVAX I packaging and adds to it a 1-bit frame
ing). These new instructions were implemented as micro- buffer attached to a 1024 x 864 monochrome monitor.
code options on the VAX-11/780 and VAX-11/750. Software Input/output is accomplished through both a keyboard
emulation was provided to achieve compatibility of sys- and a mouse (q.v.). The frame buffer remaps a portion of
tems that did not include the microcode option. VAX physical memory to the frame buffer, and software
The next major change to the VAX architecture oc- routines manipulate this memory to create a basic win-
curred in 1984, with the definition of the MicroVAX subset,
dow environment (q.v.).
which was intended to allow single-chip VLSI micropro-
cessor implementations. Decimal string instructions,
VAXstation II and VAXstation II/GPX The MicroVAX II,
certain character string instructions, and PDP-11 compat-
like version I, contains graphics capabilities. The same
ibility mode were excluded from the MicroVAX and rele-
gated to software emulation. In 1988, a small number of
additional instructions were removed from the required
subset and replaced with software emulation.
In 1989, 63 new instructions were added to the VAX
architecture to support vector register-based integrated
vector processing. The vector architecture specifies 16
vector registers, each with 64 elements that are 64 bits
wide. The vector instruction set supports integer and
floating point arithmetic, logical operations, and stride-
based load/stores, as well as scatter/gather. Operations
under the control of a mask register allow selected ele-
ments of a vector register to be modified.
monochrome frame buffer found on the VAXstation | is chrome frame buffer and a 4bit (later, 8-bit) color or gray
used on the MicroVAX II platform, forming the basis for scale graphics subsystem.
the VAXstation II. In January 1986, Digital introduced its
first graphics processor-based subsystem, the GPX. The VAXstation 3200/3500 Introduced in July 1987, the
VAXstation II/GPX is a 1024 x 864 8-bit color or gray scale VAXstation 3200/3500 uses the same CPU as the
graphics subsystem using a graphics processor devel- MicroVAX 3500/3600. The VAXstation 3200 was packaged
oped by Digital. in a small deskside pedestal, while the VAXstation 3500
used the same deskside enclosure as the MicroVAX 3500.
VAXstation 2000 In February 1987, Digital introduced The VAXstation 3200/3500 uses the same graphics op-
its first desktop workstation, the VAXstation 2000, based tions found on the VAXstation II and VAXstation II/GPX.
on the same processor found in the MicroVAX II. This was
the first VAX-based system designed from the outset as a VAXstation 8000 The VAXstation 8000, introduced in
workstation. The VAXstation 2000 supported a mono- February 1988, was Digital’s first true three-dimensional
466 _ DIGITAL EQUIPMENT CORPORATION VAX™ SERIES
workstation. Based on the VAX 8200 CPU packaged in a DECstation 3100 This workstation, announced in Janu-
deskside enclosure, the VAXstation 8000 used a sophisti- ary 1989, features a 64 KB instruction cache and a 64 KB
cated 3-D graphics subsystem designed with Evans and data cache. The system is configurable up to 24 MB of
Sutherland. This graphics subsystem consisted of the parity memory. It can be configured with monochrome or
complete 3-D graphics pipeline and additional hardware eight color planes of 1024 x 864 frame-buffer graphics. It
support for such features as hardware anti-aliasing of has a SPECmark performance rating of 11.3. Gee BENCH-
vectors and depth queuing. MARKS.)
References
1983. Bell, C. G. and Bell, J. R., Digital Equipment Corporation PDP
Series, Encyclopedia of Computer Science and Engineering, 2nd
Ed., Ralston, A. and Reilly, E. D., Ed. New York: Van Nostrand
Reinhold. pp. 554-561.
1989. Levy, H. M. and Eckhouse, R. H. Jr. Computer Programming
and Architecture: The VAX, 2nd Ed. Englewood Cliffs, NJ: Pren-
tice Hall/Digital Press.
1991. Brunner, R. A. VAX Architecture Reference Manual 2nd Ed.
Englewood Cliffs, NJ: Prentice Hall/Digital Press.
1991. Federighi, F. D. and Reilly, E. D. VAX Assembly Language. New
York: Macmillan.
is a request to display all files of volume B (most probably, the data structure of a tree - g.v.). More particularly, the
all files on the diskette currently in drive B). Typically, tree is a dynamic n-ary tree (where n is the current maxi-
drives labeled A and B are floppy disk drives, and the mum number of subdirectories that currently report to
letters C and above refer to partitions of a hard disk. On the root or any other subdirectory). The tree is dynamic
PCs that boot and reboot (q¢.v.) from hard disk partition C, because subdirectories may be added or deleted from the
C is the default drive whose directory is displayed if no master directory (possibly changing the value of n, but
argument is supplied to the command “dir.” But, since the that is of no concern to the user).
hard drive is likely to contain many more file names than MS-DOS provides several tools that facilitate naviga-
fit on a screen, the more usual directory request is quali- tion through a directory tree. In order to avoid continual
fied so as to elicit a manageable response. For example, specification of a long chain of prefixes, the user may
the request name any subdirectory as the default directory, no matter
dir dex.x* how deeply nested. For example, the “change directory”
(CD) command
asks for display of just those file names whose primary
name starts with “de,” regardless of the secondary name CD \alpha\beta\gamma
(file extension) that follows the period. (The “*” is a will thereafter allow use of such commands as
“wild card” character that matches any actual character
string of any length, including the null string.) The WPErrostersext
displayed response might be that shown in Fig. 1. Note instead of
that there are three files whose primary name is DECPOS,
but, as is shown in column two, they have the distinc- TYPE \alpha\beta\gamma\roster.txt
tively different full names—DECPOS.PAS, DECPOS.MAR,
But then file turbo.com in, say, subdirectory delta can
and DECPOS.COM. Column three shows the size of each
no longer be executed by typing just turbo (because pre-
file in bytes, and columns four and five show the date
fix \al pha\beta\gamma\ would inevitably be applied),
and time that the file in question was created or last
unless the user has previously given a clue that the file is
revised.
not in the default directory. The command to do this is
Continuing to refer to Fig. 1, we see that two of the
files have an “extension” of <DIR>. This notation indi- PATH \delta
cates that files DERIVE and DELTA are themselves direc-
tories, or more properly, subdirectories of root directory which may very well be part of the login file (¢.v.)
C. To display the files on subdirectory DELTA, the proper AUTOEXEC.BAT. (The PATH command is usable only
command is to reach executable files in other subdirectories; i.e. files
with an extension of .COM, .EXE, or .BAT. Data files in
dir \DELTA (ordir \delta since case is other subdirectories can be accessed only through spec-
irrelevant) ification of their full path in each DOS command issued.)
and if DELTA, in turn, has a subdirectory called TOWNS, Keeping track of the current structure of a complex
hierarchical directory can be sufficiently daunting that a
the command to display all files in the sub-subdirectory
that have extension “txt” would be sharper tool is needed than any provided by MS-DOS
itself. The commercial product XTREE, for example, dis-
dir \delta\towns\*.txt. plays the directory tree explicitly (see Fig. 2.). Arrow keys
on the keyboard (or a mouse - g.v.) can be used to navi-
(The notation in the Unix operating system (q.v.) is sim-
ilar, except that the solidus (/) is used instead of the gate through the tree, with initially unseen parts of the
backslash (\).) This ability to form subdirectories to sub- tree displacing other branches as needed. The figure
directories to any (reasonable) depth implies that MS- shows that the user has highlighted subdirectory SNO-
DOS and Unix directories are hierarchical (i.e. they have BOL, whose first 12 files are shown in the box at the lower
left. But one can also see that subdirectory C (not to be
confused with drive C, which is always followed by a
colon) contains more deeply nested subdirectories, IN -
Volume in drive C has no label CLUDE and LIB, the first of which contains a still more
Directory of C: deeply nested subdirectory called SYS.
DEBUG COM 15786 ©4-01286 9:10a As hard disks increase in capacity—up to 800 mega-
DETECT COM 17522. 12-10-86 10:37a bytes on a PC is now possible—the task of finding a
DEBUGGER TXT 32587) 5-24-87 11:56p particular file on a full disk becomes taxonomically formi-
DECPOS PAS 490 11-01-91 9:08p dable. This concern was anticipated in a work of fiction
DECPOS MAR 1053. 11-01-91 9: 28D over 30 years ago:
DERIVE <DIR> 6235-9) 11:29p
DELTA <DIR> 8-31-89 TEES The Rx (abstract records) in the new storage
DECPOS COM 11705 2-12-92 So: DoD systems could be scanned only...by means of a
8 Files(s) 702464 bytes free code number arranged as an index to the Rx. Clearly
the index itself had to be kept representational and
FIG. 1. Response to the request dir de*.*. macroscopic else a code number would become
DISASSEMBLER 469
Path: \SNOBOL
QA
RBFILES
RETIRE DIUSKeaaG.s
SNOBOL Available
Bytes: 782,336
DISK Statistics
INCLUDE Total
L_sys Files: Daily)
LIB Bytes:29,230,188
T_BASIC Matching
VAL Files: Cok Lid
WORD Bytes:29,230,188
WP Tagged
Files: 0
ACKER BINTREE .SNO CD . ASM Bytes: 0
ANSI ; BNF . SNO CD .COM Current Directory
ATAN ‘ BOX _ eI NC CEDNTER .SNO SNOBOL
BACK BSCREEN .INC CLEARBUF. INC Bytes: 326,233
necessary to activate it. By the time of the super- a valuable object file exists whose corresponding source
micros there were several Indexes to Indexes to file has been lost or accidentally destroyed. The object
Indexes a’), and work had already started on an [a code can be executed indefinitely, but the time will inevi-
tably come when modifications are called for. There are
These were the innocent days before the prob-
ways to “patch” the object code to add new or modified
lem became acute. Later, Index runs were collected
code, but doing so is very tedious and error prone. What
in Files, and Files in Catalogs—so that, for example,
else might be done?
C3F°1‘ meant that you wanted an Index to Indexes to
Most real-world processes are inherently irrevers-
Indexes to Indexes, which was to be found in a
ible, but a few are not. With the right scanning equipment,
certain File of Files of Files of Files of Files, which in
printed text can be read and converted back to a text file
turn was contained in a Catalog of Catalogs of Cata-
virtually identical to the one from which it was printed.
logs. Of course actual superscripts were much
Might something similar be done with orphaned object
greater; the structure grew exponentially. The pro-
code? The answer is yes, but certain concessions must be
cess of education consisted solely in learning how made. If the original (but lost) source code contained the
to tap the Rx for knowledge when needed [so that] instruction ADD ACE,KING, which an assembler turned
although hardly anybody knew anything any longer, into the hexadecimal sequence A7 3B80 DFF7, then a
everybody knew how to find out everything.
disassembler that encounters this sequence might output
Hal Draper, “Ms Fnd in a Lbry,” 1961 (long be- something like ADD P04,S12. The “ADD” can be recon-
fore micros, much less supermicros) structed, but the disassembler, having no way of knowing
what symbols the original programmer used as operands,
EDWIN D. REILLY must synthesize alternative symbols. In this example, the
disassembler being used invents symbols in the order
A00, A01, A02, etc., up through Z99, and has reached (at
least) S12.
DISASSEMBLER The disassembler must be consistent, of course. If
For related articles see ASSEMBLERS; MACHINE AND ASSEMBLY hexadecimal address 3B80 is assigned symbol P04 the
LANGUAGE PROGRAMMING; and SOFTWARE MAINTENANCE. first time it is encountered, then it must be replaced with
the same symbol every later time it is encountered. More-
A disassembler is a language processor that accepts over, the disassembler must allocate a particular piece of
machine language object code as input and produces memory of appropriate size to correspond to symbol P04,
assembly language source code as output. Suppose that a size that is determined from knowledge that the
470 DISCRETE MATHEMATICS
and again using any available method, P(n+1) is proven smallest). There are many practical applications of this
to be true. These two things together suffice to prove the situation where the number of vertices is in the hundreds
truth of P(n) for all n = n, (see also under “Mathematical or more.
Logic,” below). Fig. 2 displays a sketch of Dijkstra’s algorithm for the
The above form of mathematical induction is often solution of this problem for a graph of n+1 vertices,
called weak induction. Mathematical induction also where we want the shortest path from v, to u,. The dis-
comes in several other flavors—strong induction, which is tance function d(v).is the length of the shortest path from
a generalization of weak induction, and induction on more Uy to vertex v of the graph that passes through only
than one integer parameter, among others. Together, the vertices in the set U. Thus, initially, all distances are ©
variants of mathematical induction suffice to prove many except for d(v,), which is 0. Fig. 3 shows how the compu-
results and theorems in discrete mathematics, particu- tation proceeds for the graph of Fig. 1, with the first row
larly those involving the analysis and verification of algo- giving the initial values and each subsequent row giving
rithms. the results after the kth passage through the loop of Fig.
2. The shortest path is (Up, V,, V3, Us, Vg, Vz), Whose length
The Content of Discrete Mathematics As is 11.
judged by the syllabuses of courses on discrete mathe Graph theory is one of the most important branches
matics for college freshmen and sophomores and by the of discrete mathematics and the source of many algo-
more than 40 textbooks published since 1985 for such rithms of practical importance. In particular, we note the
courses, there is no universally agreed upon set of topics importance of trees (g.v.), which are special cases of
included under the discrete mathematics rubric, and graphs.
certainly no agreement similar to that “on courses in
calculus. However, there is general agreement that vari- Combinatorics Combinatorics is about counting the
ous branches of mathematics are clearly part of discrete number of objects of some type or about how many ways
mathematics. Most of the remainder of this article is there are to do something. It, too, is the subject of a
devoted to brief descriptions of these branches. The separate article in this Encyclopedia, so again we just
reader should also refer to the list of articles under present a single example.
Discrete Mathematics in the Classification of Articles on A permutation P(n, r) is an ordered arrangement of n
p. xxi for a further perspective. objects taken r at a time. It is sometimes necessary to
generate permutations in lexical order so that if the ob-
jects are 1, 2,...,2, each permutation represents the next
Graph Theory The “graph” in graph theory is not the
number larger than its predecessor). Fig. 4 displays an
familiar graph of high school mathematics, which is a
algorithm to accomplish this when r = n for the objects 1,
“picture” of a continuous function, but rather a collection
2,..., n. It is based on the idea that, given a permutation,
of vertices (or nodes) and edges (or branches) joining
the next larger one can be found by beginning at the right
pairs of vertices. Since graph theory is the subject of a
and going left, as long as the digits are increasing. When
separate article in this Encyclopedia, we content our-
the first digit is reached that is less than its neighbor to
selves here with one example of its application. the right, exchange it with the smallest digit to its right
Fig. 1 displays a weighted digraph, weighted because greater than it and then reverse the order of the pre-
of the weights associated with each edge and a digraph viously increasing digits. Thus, starting with 4257631, we
because each edge has a direction. The problem is to find identify 5 as the first decreasing digit from the right,
the path (i.e. sequence of edges) from v, to v, that is exchange it with 6, and reverse 7531 to obtain 4261357.
shortest (i.e. for which the sum of the edge weights is Applications of combinatorics play a major role in
the analysis of algorithms. For example, it is often neces-
sary in such analyses to count the average number of
times that a particular portion of an algorithm is executed
over all possible input data sets.
Vertex
Added
Psa divi) d(vz)_— d(us)_— (va) dvs) d(vse) d(v7) toU
(o) -) oo Vo
foe) co) co) Ui
00 0 oo v2
-) 00 --) U3
6 10 10 U4
6 8 9 Us
6 7 8 U6
OS BNNONNNHND
AMRMNRhWNHH
B
HD
ALD
AL Bsg 6
ANMNMMHANAD
gauaAnnan
g 7 8 v7
of these equations are the discretization of differential y, + a,()y, _, +a,(ry, 2 +-..+ a,(y, —,= gM),
equations for solution on a computer and the analysis
of algorithms (see ALGORITHMS, ANALYSIS OF). We shall where each a({n) can be any function of n. When g(n) = 0,
focus on the latter here. (For the former, see both the we Call the equation homogeneous, otherwise, it is nonho-
NUMERICAL ANALYSIS and PARTIAL DIFFERENTIAL EQUATIONS mogeneous. When each a,(n) is a constant a,, we speak of
articles.) In general, a difference equation of order k has linear, constant coefficient difference equations, which are
the form the easiest to solve.
The solution of a homogeneous, linear, constant co-
efficient difference equation of order k has the form
Va ne pda oue aap) (1)
k
Vi Op. lly nos Ke,
Yn acres (2)
Input n
Algorithm ALLPERM
fori=l1ton [Generate first permutation]
Perm() <i
endfor
repeat [Main permutation loop]
print Perm
ben-1 [b will be position of leftmost digit to be changed]
repeat until b = 0 or Perm(b) < Perm(b+1)
beb-1
endrepeat
if b = 0 then siop [All permutations found]
cen [c will be position of leftmost digit to be exchanged with 5]
repeat until Perm(c) > Perm(b)
cec- 1
endrepeat
Perm(b) © Perm(c) [Exchange digits]
d+b+1;fen [Initialize for reversal]
repeat until d = f
Perm(d) © Perm(f) [Reverse by exchanging]
d¢d+1;fef-1
endrepeat
endrepeat
Output All n! permutations of 1,2....,n
Input x [Integer = 0]
y [Integer]
Algorithm MULT
{x=0} [Input specification]
prod — 0;u<0
{prod =, uy} [Loop invariant]
repeat until u = x
prod — prod + y
ucutl
endrepeat
{prod= uy /\u = x} [Loop termination condition]
{prod = xy} {Output specification]
Output prod [=xy]
FIG. 5. A multiplication algorithm with assertions,
474 — DISCRETE MATHEMATICS
it suffices to prove where the second term on the left is the probability of 5
bad guesses and the third is the probability of 4 bad
P(ny) a4 Wa: n =n, [P@) => P(r + 1)). guesses and 1 good one. Despite the fact that the proba-
bility of improving your score is only just greater than 1/4,
The other significant quantifier is the existential the answer to the question about expected change of
quantifier, which is written 3 and read “there exists” so score is 0 because, although the probability of losing
that points (which happens when all 5 guesses are wrong,
which occurs with probability .328) is greater than that of
Gn) P@) gaining them, when you win, you win relatively big (e.g. 5
more points when all 5 guesses are correct), but when you
is true if P(n) is true for any n and false otherwise. lose, you don’t lose so much (only 1 1/4 points when all 5
Here is an example of the use of quantifiers in an guesses are wrong). Thus, whether or not you should
algorithm verification context. Suppose you wish to write make pure guesses on a test like the SATs is more a
the output specification for an algorithm (or program) psychological matter than a mathematical one. If you can
whose purpose is to sort in ascending order m numbers, rule out one of the choices so that the probability of
Qj, y,.--, 4, You could write something like guessing correctly is now 1/4, the probability that you
improve your score is .367, the probability of a worse
a, = Ay A A, <=
= A, A...AG,_) == Ay» score is .237, and the expected gain is now .312. So,
mathematically, you should guess if you can eliminate one
or perhaps answer, but there are still psychological considerations
that might make you decide not to guess.
ad, =a, 5...=a,,
=
Discrete probability is an important tool in the anal-
ysis of algorithms because generally average case analy-
but it is much prettier to write ses require that you consider all possible input data and
the probability that each occurs.
(Vil sism (Vj 1sjsm[i<j> a,=a), Sequences and Series
where the finite domain of each quantifier is indicated Although a standard part of freshman and sophomore
explicitly. calculus courses, sequences in their entirety and series,
except for power series, are bona fide discrete mathemat-
ics. Some aspects of sequences and series are particularly
Other Branches of Discrete Mathematics Here are pertinent to computers and computer science. For exam-
brief descriptions of areas of discrete mathematics that ple, whereas mathematicians are usually most interested
are sometimes but not always found in discrete mathe- in convergent sequences, computer scientists are more
matics courses. interested in divergent sequences, in particular those
that represent the execution sequences of algorithms and
Discrete Probability
programs. For example, the sequence {n”/4} is the aver-
This deals with the familiar notions of probability where age case execution sequence of insertion sort (see SorT-
the sample space (i.e. the space of possible events) is ING), which means that, on the average, n?/4 comparisons
finite or countably infinite. The probability distributions of elements on a list of length n will be needed, in order to
of discrete probability include the familiar binomial and sort it into lexical order. Thus, we say that insertion sort
Poisson distributions. The former may, for example, be is an 0(n”) (read “order n2”) algorithm. By determining the
used to solve the following problem. execution sequences of various algorithms for the same
Consider a multiple choice exam with five possible task, you can judge when one algorithm is to be preferred
choices on each question (such as the SATs), where you over another. Sometimes through analysis it is possible to
score 1 point for each correct answer and lose 1/4 for determine the best possible algorithm for a task (see
each incorrect answer. What is the probability of improv- COMPUTATIONAL COMPLEXITY) by determining the slowest
ing your score if you make pure guesses on 5 questions? possible divergent execution sequence. In the case of
What is the expected change in your score if you make sorting by comparisons, this sequence is known to be {cn
pure guesses on 5 questions? log n}, where c is a constant.
For the first question, we need to compute A powerful idea in discrete mathematics (and in con-
tinuous mathematics, as well) that arises from the study
1 — [the probability of getting 0 or 1 answers correct] of series is that of generating functions. If {a,} is a se-
quence, its generating function G(s) is defined to be
since you improve your score only if you get 2 or more of
the 5 correct. (When you get one answer correct, your
score is unchanged.) Since the probability of a pure guess Gs)
=} a, s*.
being correct is 1/5, using the binomial distribution, the k=0
answer is
Using this formal power series, many problems in discrete
1 — (4/5)° — 5(4/5)4 (1/5) = .263 mathematics, including many kinds of difference equa-
DISCRETE MATHEMATICS 475
tions, can be solved. So can a variety of combinatorial because they require a considerable amount of mathe-
problems. For example, the number of combinations Gimk matical sophistication and in part because abstract alge-
of n distinct objects, k at a time with up to m repetitions bra is a natural subject of more advanced mathematics
of each object can be found by determining that the courses and its applications are naturally discussed in
generating function of the sequence {a,,,,} is advanced computer science courses.
Linear algebra (and linear programming) are uncom-
(l+s+s?+...4s7)" mon topics in discrete mathematics, but are also quite
natural, since, although the variables in linear algebra are
with a_,_,, the coefficient of s*. For example, with n = 3, normally real variables, the structures (e.g. matrices) and
m = 2,k = 3, a3), is given by the coefficient of s* in (1 +s manipulations are generally discrete. Moreover, linear
oP s*y°, which is easily determined to be 7. If we denote the algebra is a highly algorithmic subject and is perhaps
three objects by a, b, and c, the seven combinations are more effectively taught initially from this perspective
than from an abstract vector space perspective. For ex-
aab, aac, abb, abc, acc, bbc, bcc. ample, the basic theorems on the solution of systems of
linear equations are simply and elegantly derived from a
Abstract and Linear Algebra Algebras generally deal consideration of Gaussian elimination (see ERROR ANALYSIS
with discrete objects and are, therefore, a natural part of and MATRIX COMPUTATIONS). Fig. 6 displays an algorithm for
discrete mathematics. Abstract algebra has many appli- the solution of n X n linear systems by Gaussian elimina-
cations in computer science. For example, semigroups tion, which assumes that diagonal elements never be-
have application to formal languages and automata the- come 0. This algorithm can be used as the starting point
ory, and groups have important applications in coding for the design of a general algorithm for m X n linear
theory. A particularly important application is the use of systems, which takes into account all possible difficult
finite state machines in compiler construction (q.v.) for and degenerate cases. The algorithm in Fig. 6 may also be
the recognition of syntactically correct language struc- used to analyze Gaussian elimination, as shown in Fig. 7.
tures (see AUTOMATA THEORY). Topics in abstract algebra
are now found less frequently in freshman or sophomore Conclusion This has been quite a brief survey of
discrete mathematics courses than heretofore, in part discrete mathematics. We have not even touched upon
Scale(i) 0 1
All Scaling 0 an
Usweep(i) 0 i-1
n—n
All Upsweeping 0 5,
Downsweep(i) (n-i? +(n-d| n-i
5 n—n n—n
All Downsweeping ange 9
Ra
Total ariel nr?
3 + 2 —
Combined Total —
the basic topics of sets, relations, and functions that DISK. See Fiopry DIsK; HARD DISK; AND MEMORY: AUXIL-
underlie all discrete mathematics. Also, we have not IARY.
mentioned such an important branch of discrete mathe-
matics as number theory, which has recently seen im-
portant applications to coding (see NUMBER THEORETIC
CALCULATIONS). For more information on these areas, the DISKETTE. See Fioppy Disk.
reader is referred to the references. One thing that can
be said with certainty about discrete mathematics is that
the importance of its various branches will continue to
grow as the applications of computers permeate more DISTRIBUTED SYSTEMS
and more aspects of science, technology, and everyday
For articles on related subjects see COMMUNICATIONS AND
life.
COMPUTERS; DATA COMMUNICATIONS; and NETWORKS, COM-
PUTER.
References
Distributed systems are a natural outgrowth of the de-
1976. Roberts, F. R. Discrete Mathematical Models. Englewood velopment of computer networks (see NETWORKS, COMPUT-
Cliffs, NJ: Prentice-Hall. (Contains many applications of dis- ERS). Computer networking focused on having a number of
crete mathematics to the social and biological sciences.) processors communicate with one another, as well as on
1985. Doerr, A., and Levasseur, K. Applied Discrete Structures for
the utilization of such systems by remote users, whether
Computer Science. Chicago: Science Research Associates.
the “user” was a terminal or another computer. With dis-
(Written specifically for computer scientists, with more on
tributed data processing systems, we apply the results of
logic and automata theory than most discrete mathematics
books.) the work in networking to the design of applications sys-
1988. Bogart, K. P. Discrete Mathematics. Lexington, MA: D.C. tems. A distributed data processing system is character-
Heath. (A modern approach with plenty about algorithms.) ized by having both the processor and storage facilities
1989. Graham, R. L., Knuth, D. E., and Patashnik, O. Concrete physically dispersed and interconnected by data commu-
Mathematics. Reading, MA: Addison-Wesley. (A relatively ad- nications facilities, as shown in Fig. 1. Distributed process-
vanced book, mainly on discrete mathematics, but with a ing systems have been proposed as a means to provide a
spirited discussion of areas where a combination of the CON- large number of highly desirable user and operational
tinuous and disCRETE is just what you need.)
benefits. Some of these benefits are listed in Table 1.
1990. Epp, Susanna S. Discrete Mathematics with Applications.
Belmont, CA: Wadsworth. (Well written and with good cover-
age of classical discrete mathematics topics.)
What is Distributed There are three activities of a
1990. Skiena, S. Implementing Discrete Mathematics—Combinatr- data processing system that may be distributed: (1) pro-
ics and Graph Theory with Mathematica. Reading, MA: Addi- cessing functions; (2) storage of the database(s); and (3)
son-Wesley. (How discrete mathematics capabilities can be system control. In order to achieve an appreciable por-
added on to a well-known computer algebra system.) tion of the benefits of distributed systems listed in Table
1991. Maurer, S. B., and Ralston, A. Discrete Algorithmic Mathemat- 1, it is essential that the system exhibit a high degree of
ics. Reading, MA: Addison-Wesley. (A book that emphasizes distribution for all three of these activities.
the algorithmic approach to discrete mathematics.)
Distributed and Decentralized Systems A\I-
ANTHONY RALSTON though the term centralized has a very clear meaning
DISTRIBUTED SYSTEMS 477
Network
almost irrespective of the context in which it is used, The traffic on this network will need to be organized via
the terms distributed and decentralized have acquired protocols (g.v.) associated with network requirements,
quite different meanings when used in discussing dis- and higher-level protocols for distributed system require-
tributed systems. Distributed means the physical distribu- ments. A good example of a higher-level protocol is a
tion of a component (or components) of the system, such mechanism to provide distributed commit. In database
as the operating system code or the database. Decentral- terminology, a commit is an arrangement to record
ized, on the other hand, describes an activity in which changes to the database atomically so that either all
decisions are made at different physical locations in the related changes are recorded or none are. In a distributed
system. system, a distributed commit ensures that all changes at
all sites that have cooperated in a task are performed or
that none are recorded. For example, in an electronic
Distributed System Requirements A typical
funds transfer (g.v.), it ensures that either both the debit
distributed computing system would have a structure
of one account and the credit of the other are recorded or
such as that shown in Fig. 1. The network is likely to be a
that neither of them is.
wide area network (WAN) having some complex topology
A distributed system requires mechanisms for dis-
that provides moderately reliable inter-site message de-
tributed management. Examples are: to find out how the
livery services with moderate bandwidth and low signal-
load is distributed across the system; to allow local
ing rate. There may be a significant delay between
changes to be made without requiring all sites to stop or
sending a message and receiving a reply even when no
coordinate change; to find services; or to choose between
processing is required to generate the reply. Occasionally,
alternative equivalent services. A particular problem is to
the message service is provided through a local area
propagate change, such as installing a new version of
network (LAN - q.v.).
commonly used software and protocols.
The sites constitute one or more computers to be
In distributed systems, security has to be provided
treated as one component from the point of view of the
via protection and authentication mechanisms. For ex-
system. Usually, each site is connected internally by a
ample, data encryption should be used to prevent
local area network if it involves several computers, but it
may itself be a distributed system. The wide area network eavesdropping on network traffic (see CRYPTOGRAPHY,
is used to transfer data, coordinate tasks, and share load. COMPUTERS IN). Authentication prevents a site from mas-
querading as a legitimate or different site, and other
controls prevent sites from using resources qualitatively
or quantitatively different from those to which they are
TABLE 1. Benefits of Distributed Systems entitled.
The high-level protocols must support the data
High system performance—fast response exchange, coordination, security, and management of
High throughput the total distributed system. This requires agreements
High system reliability/high system availability between participants that may depend partly on data
Graceful degradation (fail-soft capability) communications standards (q.v.). Additional protocol
Reduced network transmission costs agreements concern the representation of application-
Ease of modular and incremental growth
specific information (e.g. diagnosis and treatment in a
Configuration flexibility
Automatic resource sharing
health care management system). Such protocols are
Automatic load distribution difficult to develop; invariably, achieving agreement re-
High adaptability to changes in workload quires most participants to commit resources to revising
Incremental replacement and/or upgrading of components or extending their local system. A managerial limit to
(hardware and software) the scale of distributed systems occurs when this dif-
Easy expansion in both capacity and function ficulty impedes the evolution of the function and busi-
Easy adaptation to new functions
ness of the organization that the distributed system
Good response to temporary overloads
nh mime rn —————————— was intended to support.
478 DISTRIBUTED SYSTEMS
Customer Branch
ner as a centralized or uniprocessor system. Office
Accounts
e The selection of the specific resources to be uti-
lized in servicing a user’s request should be trans-
parent to the users (i.e. occur without his or her
knowledge), unless a specific designation of the Customer Local Inventory
Billing Control
resources to be used is desired.
e The distributed operating system should automat- Orders for
ically distribute and balance the load over the More Stock
resources available.
e The distributed database manager should control Other
Branches
concurrent access to data files by different proces-
sors and should ensure that the contents of redun-
dant copies of the database are at all times
consistent.
e The system should be able to continue in opera-
tion despite the failure of individual components. Analysis Reordering
several distributed systems using the same computers of data. Within each category, there are variations in
and exchanging data between them (e.g. a power utility project size, problem complexity, organization of staff,
that collects meter readings via one system and directly and the time scale for development and use. Each func-
debits accounts by another), it is difficult to give these tion of documentation is described below.
systems precise boundaries.
Intertask/Interphase Communication This operation
References records what has been done at each stage of the project
1984. Ceri, S. and Pelagatti, G. Distributed Databases: Principles so that instructions can be issued for the next phase of
and Systems. New York: McGraw-Hill. work, or so that all people involved in the project can
1988. Coulouris, G. F. and Dollimore, J. B. Distributed Systems: agree what has been done before work proceeds to the
Concepts and Design, Reading, MA: Addison-Wesley. next step. The amount of time and effort that must be
1989. Mullender, S. (Ed.). Distributed Systems. Reading, MA: Addi- devoted to documentation for this reason is a function of
son-Wesley. the scope of the system and the number of people in-
volved.
MALCOLM P. ATKINSON and PHiuP H. ENsLow
In the development of a major commercial system,
which requires procedures such as invoicing, inventory
control, payroll, or production control, many people will
be involved. In a production control system, for example,
DIVIDE AND CONQUER. seeA.corrs,
DESIGN AND CLASSIFICATION OF. the business functions involved could include, among
others:
formed, passing on information and ideas for approval, step is finished. Management can use this documentation
and giving instructions involves a complex communica- to evaluate project progress and individual performance.
tions network in which formal documentation plays a
vital role. Instructional Reference The development documenta-
A failure of communication through poor documenta- tion can be reviewed during and after development for
tion (or a lack of it) can prove very expensive indeed. The many general purposes. For example, documentation will
documentation will also help to insure project continuity enable trainees to study a system developed by experi-
should staff changes occur. enced technicians. This is particularly important for in-
The use of documentation for intertask/interphase structional reference to generalized systems or
communication is equally important in large technical or general-purpose software. Another benefit of documenta-
scientific projects. Where the development of a program tion is that an outside party can evaluate the system and
or group of programs can be done by only a limited its method of operation to determine if the package is
number of technicians who are quite often both problem suitable for use in another environment. In this case,
proponents and solution programmers, the importance of sufficient information must be given to enable the user to
documentation during the project diminishes. However, apply the software to other problems and requirements.
the documentation of what has been done and how the Instructional reference thus includes all literature
programs work will be important for historical or instruc- provided by a software supplier, such as the reference
tional reference, as described below. manuals for all languages, utilities, operating systems,
subroutines, and application packages. it also includes
Historical Reference The reference function is relevant the documentation and library facilities in a large organi-
to both commercial and scientific work. It is the documen- zation that produces its own software.
tation of how the system works that makes it easily
changed after it is implemented. All systems are subject Types of Documentation In the development of a
to change. Maintenance of business systems and pro- system, whether it is a large-scale commercial system or
grams will be required because the nature of a business a group of scientific programs for analyzing data, certain
and its methods change, or because the organization is
categories of documentation must be considered. These
restructured, new types of products are developed, man- are:
agement reporting requirements change, etc.
In scientific work, programs may have to be altered
. Analytical documentation.
because the nature of the problem to be solved changes,
. Systems documentation.
possibly as a result of further research. A system may
have to be changed because of new software or hardware. Program documentation.
It may be desirable to change the processing methods Operations documentation.
because new techniques become available. The reason ApR.wNn
User/management aids.
for the change may lie outside the organization alto-
gether, as is the case with legal requirements and statu- Each of these categories is described below, along with
tory changes. the major factors that influence the form of the documen-
A system can be maintained efficiently only if the tation in any particular organization.
existing operation of all procedures and programs is
clearly known and understood. The documentation of the Analytical documentation consists of all the records
system provides this knowledge. For example, a program and reports produced when a project is initiated. For all
written a year ago is to be changed today; the program projects except those that require a single, onetime,
consists of 2,000 instructions, with many branches and problem-solving program, some form of initial briefing is
nested loops. The programmer who originally wrote it is required. In most organizations, the technicians who de-
no longer available. The modifications require that logic sign, program, and test a system are grouped into a com-
of the program be understood; the new programmer must puting or data processing department, and the users who
ensure that errors are not introduced by overlooking the commission work from the data processing department
impact of some of the changes. must define the nature and objectives of the project. In
The documentation of a system may also be reviewed some technical or scientific environments, the user is
for performance purposes. Many installations. develop capable of specifying in very exact terms what is required
performance standards based on records of time and in the way of processing and outputs. Generally, for any
resources budgeted and used in developing a system, as type of project, the initial briefing should consist of a user
compared with system type, scope, and complexity. The request, stating the problem (i.e. what the user needs to
contro] documentation is used for details of resources, achieve); a feasibility study that evaluates possible solu-
and the development documentation for a description of tions (in outline); and a project plan that estimates the
the system. By formally capturing details of all projects, time and resources required to develop and implement
estimates of resources for future projects can be im- the system. Failure to produce and agree upon these
proved. three statements in the briefing will result in much wasted
effort later in the project. They are vital whenever a user
Quality/Quantity Control As a system develops, vari- commissions work from computer technicians, and must
ous elements of documentation are completed as each be provided before money is actually committed to the
DOCUMENTATION 481
more time-consuming tasks of system design and pro- ’ quality of documentation produced by the software, and
gramming. the use of special-purpose documentation programs
(flowcharters, etc.).
Systems documentation encompasses all information From this broad picture of the total documentation of
needed to define the proposed computer-based system to a project, we select one type to review in detail: program
a level where it can be programmed, tested, and im- documentation. We focus on this because the limits of the
plemented. The major document is some form of system tasks of programming can be clearly defined, and because
specification, which acts as a permanent record of the this function in programming is similar in many organiza-
structure, its functions and work flow, and the controls on tions.
the system. It is the basic means of communication be-
tween the systems design, programming, and user func-
tions. In a major project, the system specification Program Documentation Fig. 2 shows the flow of
comprises a number of documents. A sample outline of documentation in designing, coding, and testing a pro-
specification documentation for a major project is shown gram, respectively. The starting point is a program spec-
in Fig. 1. If the project will result in the development of ification. Typically, this is a statement of what the
only one or two programs for restricted use, then only the
program must do; the programmer’s task is to determine
how the program will do it. How much the data formats
program (processing) specification would be produced.
are predefined and how much is left to the discretion of
the programmer depends on installation policy and the
Program documentation comprises the records of the
project. Other inputs to the programming phase include
detailed logic and coding of the constituent programs of
literature—which describes the software available for
a system. These records, prepared by the programmer,
the project (either from outside suppliers or from an
aid program development and acceptance, troubleshoot-
internal library)—and the programming standards,
ing, general maintenance, machine/software conversion
which give the rules and techniques for programming in
at a later date, and programmer changeover.
that installation.
Program documentation covers both specific appli-
The outputs include a program manual which de-
cations programs and general-purpose or in-house devel-
scribes the programs in detail (construction, coding, and
oped software. In addition to documenting how a program
testing), instructions for use (for a generalized program),
works, instructions for using the program must be written
and computer operating instructions for day-to-day run-
for packaged software.
ning. In many cases the task of documenting a program is
one of adding to the initial program specification in order
Operations documentation specifies those proce
to build up the program manual. The various elements of
dures required for running the system by operations per-
program documentation are discussed below.
sonnel. It gives the general sequence of events for
performing the job and defines precise procedures for
data control and security, data preparation, program run- Program Specification This is a statement of the data
ning, output dispersal, and ancillary operations. available for processing, the required outputs, and the
details of the necessary processing. The specification can
User/management aids _ consist of all the descriptive be prepared by the problem proponent, a specialist sys-
and instructive material necessary for the user to partic- tems analyst/designer, or the programmer. It must be
ipate in the running of the operational system, including complete, accurate, and unambiguous; changes to the
notes on the interpretation of the output results. Where a specification after programming begins can be very ex-
software package is produced, this category includes all pensive. The specification usually contains the following
material necessary to evaluate the programs and all in- information:
structions for its use.
Every installation should establish documentation Input.
standards (i.e. rules for the completion of certain docu- Output.
ments at certain times) that define the content, format, . Major functions performed.
and distribution of the documents. Many factors influ- aw
Ne. The means of communication between this pro-
ence what documents are to be produced, how, when, and
gram and previous and following programs.
by whom. For example, the extent of management commit-
5. Logical rules and decisions to be followed, in-
ment is indicated by how much the management of the
cluding statements of how the input is to be
installation is prepared to allocate time and resources,
examined, altered, and used.
not only for developing a system, but also for its docu-
6. Validation and edit criteria.
mentation. Another controlling factor may be project char-
7. Actions to be taken on error or exception condi-
acteristics, which consist of the number of projects and
tions.
their scope, complexity, and duration. Crucial to any set
of standards is the organization structure of both the insti- 8. Special tables, formulas, and algorithms.
tution as a whole, and the development and operations
departments in particular. This, in turn, is affected by the The description of the processing rules (item 5 in the list),
technical environment: the hardware/software techniques can be given in narrative, flowchart, or decision-table
used, such as the level of programming language, the form.
e
BpN]oU! [eUl} “sIsATeue
jJoUIq-}SOd UOTedIOads JOU)
UOI}Das UY
‘(UMOYs peppe UOTJIesJYZIUI eyeq Aewleq
swreiZ01d UI &
peuljap
JO
Jaquinu 10} YOee ‘ally eyeq
payeedal 0} e
UOWIWOD UONedYIDads BION JEU} SUA}‘0'Z ‘YE’ pure QP ore
‘UONeJUSUINDOpP jo
adweg ouT]JNO ‘Hy“|
pue (PpOu,aw
‘saijiijiqisuodsas
‘sadunosas Ue}y
UoNejUawajduy| ‘Buiwi}) /'Wu0d
isa} saseg G9 $3S!I] aDUasdjay-SsOUD ‘¢
3891 aiNPsYydS og sisi] UPR Z
(indjno synoAe7 *|
pue
‘Buissad0id ‘|023Uu09) AlpleA e1sayD €°9 sasipuaddy pz
uoileziuebid
isa,
79 SUONdIIDSag JUaWajZ eVeQ E'7
vonesiynuap| 19 PsOd9y
yew4OY
77
SWasSAS
SA) Uue|q yesgy ai4 7
weibo1g voljediyi9adS
u u'G uoldisa9sag jesauaDH *|}
SdISIdaJOeseYD Pue UOed Uap] aji4 1°Z
suoiedijinads ajig
sayeuiysy aziSg pue Burus) jesauayd “¢
Z uorjedijisads wesbo1g 7S MO}|4 WasAS ‘Z
1G
LuonedyioadS
wesbolg suoiuUljyag “1
suoleadijioads (6uissao0i1g) wesboig UOIId49S9Q aANeseEN EFL
syewsoy 31ndinO p'p SYSI] BQUaIIJaY “7
uoidis9sag 3NdINO EC'p WeYIMO|4 “1
(uoneuinsap YaeYMO}4 WaysAS Z|}
Ppue ‘saidod 40 ‘Ou ‘awnjoA ‘Aduanbasy $asfQ 3NdjnCO pueyndino ‘py
‘eipaus ‘ou wes6osd) Bulysiq ANdINO: Zp $3941NOS ynduj pue ynduj_*¢
asOding Pue uOojedjiuapy |p PaIIaj jy Pue paulejuleW saji4y “7
suoinedji9adg +1ndino YONSUNY pue asoding °|
; sajdwes pue s}noAeq jndu| ¢'¢ AseWUNns sasf-) {'
(29uNOs pue awiNjOA ‘AdUaNbas ‘paydajje Aseuiwing swaysAS
swesboid ‘asodind eipaw) Buijysi] uanoesues, 2°
asOding Pue UuOoNedjiuap) |'¢
ynduj
suonedijisads iwpy
annjeasiujelaayeW ajity pue
DOCUMENTATION
NOILVWOISIDAdS SW3LSAS
482
DOCUMENTATION 483
Software/
hardware Programming
Program descriptions standards
spec
Programming
Computer
Source listings
and test results
fe —_ =
Program abstract
Operating | Includes
Program manual and user aids (if
instructions —{ software
required) |Parameters
Program Manual From the program specification, the Flowcharts and cross-reference lists (produced by
programmer designs, codes, and tests the program. The the compiler or other software) can be used to check that
output of this exercise is the program manual. The form an alteration has not erroneously disturbed other coding.
of the logic design and the source program listing will The advantage of using comments in the source listing is
depend on the type of application and the software used. that it minimizes references to other documents. The
For example, if a high-level decision-table preprocessor comments are not compiled as part of the program, but
(q.v.) is used, the tabular program together with the data merely appear on the source listing. Source program com-
descriptions and final source listing will be complete ments should be kept brief while at the same time being
enough without the preparation of a flowchart. Similarly, descriptive and meaningful.
some installations use software for the final documenta- Note that the final documentation will show not only
tion; e.g. flowcharters that produce detailed flowcharts, how the program works, but also how it was tested (for
statement by statement from the source program. quality contro] and later retested after changes were
One of the advantages of high-level languages such as made), operating instructions for running it, and any spe-
Cobol is that the source listing itself forms the major part cial parameters that are to be given to the operating
of the final documentation. The programmer must insure system.
that the source program not only is logically correct and Although the program manual is the major output of
follows the rules of the language, but also that the pro- the program specification, the programmer will use (and
gram coding is neat and easy to understand. By using can produce) other types of documentation. If the pro-
meaningful data names and comments embedded in the gram(s) being developed are for general use, either within
program, it is possible to make a source program almost or outside the organization, then additional user instruc-
self-explanatory. In this case, a flowchart can be used as tions will be needed. They should enable the prospective
a general “route map” to the detailed coding in the source user to answer the following questions:
listing. When altering an operational program, many pro-
1. What does it do?
grammers refer directly to the source listing and then to
the flowchart only if the required change is not im- 2. Do we want to use it?
mediately obvious from the listing. 3. Can we use it?
484 DOCUMENTATION
4. How do we use it? both programming and operations departments are in-
5. What do we do if it changes? formed of changes in software availability and operation,
such as the introduction of a new release of the operating
6. What are its basic limitations?
system.
For internally produced software, one approach is to Though some form of documentation practice has
produce a program abstract that can be held in a central been necessary since the advent of programming, there is
documentation library. If, on first inspection, the user a recent trend toward a more disciplined methodology,
feels that it fulfills the needs, the detailed documentation
whereby system and program documentation is pro-
can then be consulted. The form of this detailed docu- duced as an integral by-product of system and program
mentation depends on the scope and complexity of the design activities. Typical of such methods is the HIPO
software. For example, a user’s guide may be produced system (Hierarchy plus Input-Process-Output).
to give a general description of the program(s), the The thrust of this new philosophy is that structured
facilities available, the hardware environment required, design and implementation methodologies such as HIPO
and example uses of the software. The user’s guide may will produce nearly all of the desired analytical, systems,
contain instructions for using the software, or a and program documentation in a form far superior to
programmer’s reference manual may be supplied, giving other, less integrated forms of documentation. In 1976,
detailed information. Most software is constructed so Informatics Inc. used the HIPO methodology for the
that the user programmer supplies parameters for a analysis, system design, and program design for its
particular job. The parameters may be as simple as ShopFloorControl/80 product. At the end of the im-
specifying an address of data to be processed or as plementation, it was concluded that only operations
comprehensive as a complete list of processing require- and user manuals need be produced. The HIPO docu-
ments. The programmer’s reference manual will describe mentation developed continues to serve its intended
the construction of the program(s), together with all purpose, even though HIPO (and other similar struc-
parameters required (their format, interdependence, and tured) documentation is, unfortunately, no easier to
usage), operating instructions, and error conditions and maintain than the more traditional forms. But it is not
diagnostics. any more difficult to maintain either, and it retains its
Programs ready for operational use and that are to be usability longer and more reliably than many other
run repeatedly are assigned to the automated program forms of documentation. This is true because the meth-
library, usually stored on magnetic disk. The documenta- odology tends to enforce a functionally structural sim-
tion for these programs is usually held in some form of ilarity between the design documentation and the
central records library, together with the master refer- programs themselves. If you understand what the system
ence copies of all software descriptions. does, it is easier to find the function and its implementa-
tion.
DPMA (DATA PROCESSING ers, the nature of the Association further changed as
MANAGEMENT ASSOCIATION) membership swelled from the ranks of computer manage-
ment. In step with this trend, the Association assumed its
For articles on related subjects see AMERICAN FEDERATION OF present name in 1962. The roster of past presidents in-
INFORMATION PROCESSING SOCIETIES; and INSTITUTE FOR CERTIFE cludes the following:
CATION OF COMPUTER PROFESSIONALS,
Robert L. Jenal, 1952 James Sutton, 1973
Gordon C. Couch, 1953 Edward J. Palmer, 1974
Purpose The Data Processing Management Associa-
Richard L. Irwin, 1954 J. Ralph Leatherman,
tion is one of the largest worldwide organizations serving
Robert O. Cross, 1955 1975-1976
the information processing and computer management
Donald L. Gerighty, 1956 Robert J. Marrigan, 1977
community. It comprises all levels of management per-
Willis L. Daniel, 1957 Delbert W. Atwood, 1978
sonnel and, through its educational and publication activ-
Lester E. Hill, 1958 George R. Eggert, 1979
ities, seeks to encourage high standards of performance
D. B. Paquin, 1959 Robert A. Finke, 1980
in the field of data processing and to promote a profes-
L. W. Montgomery, 1960 P. Roger Fenwick, 1981
sional attitude among its members. Its specific purposes, Alfonso G. Pia, 1961 Donald E. Price, 1982
as stated in its association bylaws, are as follows:
Elmer F. Judge, 1962 J. Crawford Turner Jr., 1983
Robert S. Gilmore, 1963 Carroll L. Lewis, 1984
e To foster, promote, and develop education and John K. Swearingen, 1964 Eddie M. Ashmore, 1985
scientific inquiry in the field of data processing Daniel A. Will, 1965 David R. Smith, 1986
and data processing management. . Billy R. Field, 1966 Robert A. Hoadley, 1987
e To inculcate among its members a better under- Theodore Rich, 1967 Christian G. Meyer, 1988
standing of the nature and functions of data pro- Charles L. Davis, 1968 Georgia B. Miller, 1989
cessing, and to engage in education and research D. H. Warnke, 1969 Terence Felker, 1990
in the technical methods pertaining thereto with a James D. Parker, Jr., 1970 Louis J. Berzai, 1991
view to their improvement. Edward O. Lineback, 1971 Ralph E. Jones, 1992
e To collect through research and to disseminate Herbert B. Safford, 1972
generally, by all appropriate means, all fundamen-
tally sound data processing principles and meth- Organizational Structure Individual chapters are
ods. organized geographically into 13 regions, each of which
e To study and develop improvements in equipment holds business meetings, conducts regional conferences
related to data processing. and educational seminars, and carries on various types of
e To supply to its members current information in interchapter educational activities. Governing authority
the field of data processing management, and to is vested in the Association’s Board of Directors, which
cooperate with them and with educational institu- consists of one representative from each chapter. An
tions in the advancement of the science of data annual meeting of the Board is held in conjunction with
processing. the Association’s Data Processing Conference & Business
e To encourage and promote a professional attitude Exposition. Association directors, appointed by chapters,
among its members in their approach to an under- also represent their chapters at regional meetings.
standing and application of the principles underly- Implementation of policy established by the Board is
ing the science of data processing and in their carried out by an Executive Council consisting of 21
relations to others similarly engaged. members: President, Executive Vice-President, Secretary-
e To foster among executives, the public generally, Treasurer, Immediate Past President, 4 Association Vice-
and the members of the Association a better un- Presidents with various areas of responsibility, and 3
derstanding of the vital business role of data pro- regional Presidents. The Corporate Operations Commit-
cessing, and the proper relationship of data tee manages administrative matters.
processing to management. The local chapter is the heart of the Association.
Every member must belong to a chapter, except for those
How Established Founded in Chicago as the Na- applying for an individual international membership,
tional Machine Accountants Association, DPMA was char- which is granted to qualified individuals living outside
tered in Illinois on 26 December 1951. At this time the first North America upon approval by the Executive Vice-Pres-
electronic digital computer had yet to come into commer- ident. Extensive educational programs are carried on by
cial use, and the name “machine accountant” was chosen the local chapters through regular monthly meetings,
to identify those associated with the operation and super- seminars, and other activities.
vision of punched card accounting machines. Twenty- Regular membership is granted by the individual
seven chapters were organized during the Association’s chapter Board of Directors to persons engaged as (1)
first year. By 1955, the organization had taken on an managerial or supervisory personnel in EDP installations;
international character with the admission of Montreal as (2) systems and methods analysts, research specialists,
the first Canadian chapter. and computer programmers employed in executive, ad-
With the rapid advances in information processing ministrative, or consulting capacities; (3) staff, managers,
educators, and executive personnel with a direct interest
techniques brought about by the introduction of comput-
486 DSU/CSU
in data processing; and (4) holders of the Certificate in Prof. Edward L. Glaser, 1974
Data Processing (CDP). Willis H. Ware and Donald L. Bitzer
A computer-equipped association headquarters with (co-recipients), 1975
modern facilities, located in Park Ridge, Illinois, serves as Gene M. Amdahl, 1976
the administrative nucleus of the Association. It provides J. Daniel Couger, 1977
a wide range of programs and services to local chapters Irwin J. Sitkin, 1978
and contributes to regional educational programs. Major Ruth M. Davis, 1979
departments are Membership Programs and Services, John Diebold, 1980
Publications, Education, Public Affairs, and Financial and David Packard, 1981
Administrative Services. Jerome W. Geckle, 1982
Paul M. Pair, 1983
Programs and Services DPMA members attend H. Ross Perot, 1984
meetings, seminars, and conferences at the local chapter, Harlan D. Mills, 1985
and at regional and international levels. A major educa- Joseph T. Brophy, 1986
tional event is the Annual DPMA Data Processing Confer- John T. (Jay) Westermeier, Jr., 1987
ence & Business Exposition, attended by members and Emmett Paige, Jr., 1988
nonmembers from all parts of the U.S., Canada, and other No award presented in 1989
countries. Mitchell Kapor, 1990
The Association was the first to introduce (in 1962) a Robert Campbell, 1991
certification program for computer management person-
nel. The Certificate in Data Processing (CDP) examination
ISAAC L. AUERBACH
program is dedicated to the advancement of data pro-
cessing and information management and to this end has
established high standards based on a broad educational
framework and practical knowledge. In 1970, DPMA also DRIVER
introduced the Registered Business Programmer exami-
A driver is a program or subprogram that is written
nation, which seeks to identify those reaching the level of
senior business programmers. Both examinations were to control either a particular hardware device or another
developed by the DPMA Certification Council and are software routine. The term originates from the concept
given annually in test centers at colleges and universities of harness race drivers or automobile drivers putting
in the U.S. and in Canada. In 1974, DPMA transferred their steeds or cars through their paces to see what
ownership of these examinations to the Institute for Cer- they can do. The most common examples of drivers
tification of Computer Professionals (ICCP). Other pro- that control hardware are those that pertain to particular
grams offered to the membership include the Business brands and models of printers attached to personal
and Management Principles one-day seminar, the video- computers. One speaks of having or needing, for exam-
tape Management Development seminar, and Educator’s ple, a printer driver that allows a word processor to
Night for improving communications with the education communicate with a particular model dot matrix printer
community. DPMA encourages and provides assistance or laser printer.
to student organizations interested in data processing in In another context, we may have written a procedure
colleges and universities. It also offers the Future Data that is to play an important role in conjunction with some
Processors Program for high school students, and pro- large main program that is not written yet. To test the
vides counseling aid for Boy Scouts seeking the computer procedure while we wait, we might write a simple main
merit badge. program that calls the procedure with sufficiently realis-
Other programs are being constantly developed to tic parameters to test it. The temporary main program
keep the membership abreast of changing developments whose only role is to provide a test bed for the new
in effective EDP management techniques and in techno- procedure may also be called a driver.
logical advances. EDwin D. REILLY
Among DPMA publications are the quarterly /nforma-
tion Executive magazine and the monthly /Jnside DPMA
(included in membership dues).
The audiovisual program includes films and slide DSU/CSU
presentations ranging from technical to general manage- For articles on related subjects see CHANNEL; MODEM; and
ment subjects. In 1969, DPMA originated the Computer- NETWORKS, COMPUTER.
Science-Man-of-the-Year Citation (called, since 1980, the
Distinguished Information Sciences Award), which in that A Data Service Unit/Channel Service Unit (DSU/CSU)
year was presented to Commander Grace Murray Hopper, serves the same function for digital data service commu-
USNR. Subsequent recipients have been nication (DDS) lines as a modem does for conventional
analog communication lines. As shown in Fig. 1, it pro-
Frederick Phillips Brooks, Jr. 1970 vides the interface between computing equipment con-
Robert C. Cheek, 1972 forming to the CCITT V.35 standard and four-wire leased
Carl Hammer, 1973
DUMP 487
Computer
Equipment |———— BU,
DSU/ Computer
CSU LSE Equipment
lines provided by an all-digital transmission facility con- While it is far more commonly employed in debugging
forming to AT&T Publication 62310. The DSU converts the assembly-language programs than those written in high-
digital data stream from the computer equipment into a level languages, it is still the last resort for programs
format suitable for transmission over the digital commu- of all descriptions, including those in high-level lan-
nication line. The CSU terminates the digital line and guages.
performs line conditioning functions, ensures network On-line debugging sessions do not involve extensive
compliance to FCC rules and responds to remote com- dumps, nor are the snapshot dumps that are involved so
mands for control and loop back testing. bit-oriented, but the representations of memory contents
that are produced share the dump’s essential character-
JOHN S. SOBOLEWSKI
istic of being instantaneous descriptions of a moving
object, and of requiring the programmer to shift into
another language, almost into another discipline, when
DUMP debugging.
The crudeness of debugeing with the sole aid of
For articles on related subjects see BUG; DEBUGGING; MA- dumps, program listings, and mother wit is due not
CHINE AND ASSEMBLY LANGUAGE PROGRAMMING; and TRACE. merely to the dump’s being a record of a single instant
only, but to its being, usually, a record of the wrong in-
A dump is a printed representation of the raw content stant. By the time an observer, human or programmed,
of a computer storage device, usually main memory, at a has detected something wrong with a running program
specified instant. “Raw” means that little or no interpreta- and ordered a dump taken, it is probable that some or all
tion is performed on the content; it is taken simply as a of the evidence that would enable the programmer to find
number of bit strings and presented to the reader as such. the underlying bug has been erased or changed.
A few refinements are found in even the simplest The total replacement of the dump—or, what is
dumps that keep them from being mere one-to-one bit equivalent, the realization of “source-language debug-
maps: The representation is usually in octal or hexa- ging”—has proved to be more difficult to achieve than
decimal, reducing the dump’s bulk by a factor of 3 or had initially been expected. It may require the abandon-
4. The segmentation of memory into words or bytes is ment of the notion of “debugging”—i.e. curative, after-the-
reflected in the print format; the address of the leftmost fact treatment of faulty programs—in favor of preventive
word or byte on each printed line is given; and long or prophylactic approaches, such as those suggested in
stretches of identically filled memory segments (typi- the references.
cally, zero-filled) are not printed verbatim, but replaced
with a message such as LOCATIONS 4000-4177 ALL ZERO. References
Simple dumps often offer the further amenities of per-
mitting bounds to be set on the area of storage to be 1965. Halpern, M. I. “Computer Programming: The Debugging
printed, and of automatically including the contents of Epoch Opens,” Computers and Automation (November).
1971. Worley, W. S. “Toward Automatic Debugging of Low Level
the principal registers in the CPU.
Code,” IBM Technical Report TR 00.2211.
Dumps may generally be classified as post-mortem
dumps or snapshot dumps. The post-mortem dump, which MARK HALPERN
occurs only when a program terminates (usually abnor-
mally or prematurely), is the most primitive of debugging
devices. It corresponds in vintage and sophistication to
machine-language programming, and hence its use in DYNAMIC PROGRAMMIMG. See Atco.
debugging high-level language programs is virtually nil. RITHMS, DESIGN AND CLASSIFICATION OF.
FEL writ
Pe eS
Sgnse $a ee oe
i a2
chan PARI EIT 2,
e ie ‘-
ore.
we rave) o> IQ a frit
7 ,
F
| ee! nerve P 7 ( =
FE al - ;
Os aa Zs ety ie ele ved oon ce
: phir drooculgre nehevezzy eto ey ie) tess: ion ni seule sds nee aT
vi
hatte pxOd) nag ems tyerty vysip Sa fle oN Sh) ra ot ty ae, Se nil :
| aati feaictenios veurche Sask dike set? saan,mePe . LSet nitgtoyhnedibaoy pal wi anette
<5 Aiea ip tksa eee yariirul: eee 8 mathssairadssel fs Pes & ritathy owl) “orpey nodetiaeeat tok slits
ee ge ieRela tw. ie fi shiesomy tots ori tettadh alt eotadinriay (HDC oft,
caviverat yuo eh Siighiginets)). eae i nish aetieke 2nd; aeuad palais
wh, tel cposhs Las} Patines Seier worhkeh ee Shaler Oy aisent TUN: pre etn “5
ae
_ | peat wena pte. be aioe ak
‘Postion a faint, re aahiat featon RC Cah
* eater nerae4;tryk
aertoiih’pti tt Sau Aa es
7
f
atid hh mei 2 —"Golyamich” 4 1 ey SS ye
:
erecta meraah oes Ho RS ye etn! ty tieeatestl sa een .EEri : behlie? bill aie
! Bosca womb Aga a: vole vidoe Wal Usteyeenly a Aan ew ahi tient
7
’
vie. i Silanasin sttn Ew TieSerk ‘VFS nyc Eeaneveel ae
ng 4. SS bogie tad role pov tbeotalvq 1001
he re bv) aap At . 7 eare eee AAR thd yb OY SS aS
edule : ~ au
Ati (NTA = JAMAL
Sue Sy
E-MAIL. See ELectRonic MAIL. TABLE 2.
EBCDIC 4
Y
4
0-8
For articles on related subjects see ASCII; BINARY-CODED c 120-3
= 86
DECIMAL; CODES; and PUNCHED CARDS.
IL 11-9-7
489
490
Bit Positions 0, 1
Bit Positions 2, 3
: Digit Punches
© “©
eee
Fo ke (0)
=[or
[8
|
Fol]
fell®
La
0010 FS SYN
0011
0100
[re
[=
[oe
fe
P=
|}Otsoains
Hanada BYP
z
i:
6 aes (es(?)
7 oO m rc L m DnoO
fe)Al
ees
aieahi ° Ss
eS Dy
- on DC4
1110 > Cc zA
Pp
fefe[eie|s
ee
Me N 8)m =
Sees
BaEE eo. N
fan 12 12 12 12
eae "1 11 11 11 11
Zone Punches
ase 9 9 9 9 9 9 9
ee
eS,
Card Hole Patterns
References
Anon. “Dr. Wallace J. Eckert” (publications by W. J. Eckert, 38
items), and “Outstanding Contribution Award Report” (n.d.),
IBM Archives.
1940. Eckert W. J. Punched-Card Methods in Scientific Computation.
New York: Columbia University Press.
1951. Eckert, W. J., Brouwer, D., and Clemence, G. M. “Coordinates
of the Five Outer Planets, 1653-2060,” Astronomical Papers,
NORC 12. Washington, D.C.: U.S. Government Printing Office.
1966. Eckert, W. J. “Transformations of the Lunar Coordinates and
Orbital Parameters,” Astronomical Journal (June).
1971. J. A. “A Great American Astronomer,” Sky and Telescope
(October).
1984. Eckert W. J. Punched-Card Methods in Scientific Computation.
New York: Columbia University Press. CBI Reprint Series #5.
Introduction by John McPherson. Cambridge, MA: The M.1.T.
Press.
HENry S. TROPP
FIG. 1. Wallace J. Eckert (photo courtesy of International Busi-
ness Machines Corporation).
puter engineering requires the following three critical of studies that the student has acquired the tools to
ingredients: understand the underlying issues and rigorously eval-
uate the alternatives. The design problem should not
1. A foundation in engineering analysis that enables have a pre-formulated answer, nor is the answer usually
the graduate to analyze trade-offs and make de- precise. The experience must provide the opportunity
sign choices. for the student to do individual work and have that
2. A foundation in mathematics and the basic quan- work carefully evaluated.
titative sciences so that this analysis and the The Accreditation Board for Engineering and Tech-
design choices that follow are based on rigorous nology (ABET), a federation of 26 enginering societies, is
understanding of fundamentals. responsible for the accreditation of engineering programs
3. Experience in design so that students can prac- in the U.S. Many of the specific educational guidelines
tice their craft and develop the experiences asso- identified in this article are taken from ABET guidelines
ciated with good engineering practice. for accreditation.
YALE PATT
The three elements of an engineering education identified
all contribute to the preparation of a computer engineer.
For the computer engineer, the foundation in engineering
analysis includes engineering science courses across the EDUCATION IN COMPUTER
breadth of computer science and engineering. This
SCIENCE
breadth in engineering and in computer engineering
should include engineering science courses outside of For articles on related subjects see COMPUTER LITERACY;
computer science and engineering. It also should include COMPUTER SCIENCE; COMPUTER SCIENCE, ACADEMIC; and EDUCA-
a balanced view of hardware, software, and application TION IN COMPUTER ENGINEERING.
trade-offs, and the basic modeling courses used to repre-
sent the computing process. In addition to breadth, a
computer engineering education should include the in- UNITED STATES
depth study of at least one major area of computer engi- The forerunners of the modern electronic computer were
neering. first developed at U.S. universities in the 1940s, mainly in
The computer engineering student should be pre- response to military needs during World War II. However,
pared in both hardware and software. Laboratory experi- a lengthy gap then ensued between the conception of
ences dealing with each should involve problem solving, computers at universities and their attendant application
design, implementation, and documentation. The student to the host of educational, research, and administrative
should acquire substantive experience with the advanced processes at these universities. The beginnings of the
features of at least one major operating system (q.v.). The university computing center date only to the mid-1950s;
fact that computer engineers are being prepared for a in fact, it was only during the period from 1960 to 1965
profession where the base technologies are expected to that the “computer revolution” really took hold at U. S.
change dramatically during their professional careers institutions of higher education. In some cases, the com-
dictates that a computer engineering education should puting center began as a separate organization, but more
focus on basic engineering sciences. generally it evolved from a computer facility initially
The second element of a computer engineering edu- installed in a department of mathematics or school of
cation is a foundation in mathematics and the basic sci- engineering to support the research projects of the de-
ences. Mathematics preparation should include the partmental faculty.
calculus through ordinary differential equations, discrete
mathematics (g.v.), probability and statistics, and linear Higher Education Programs: History The aca-
algebra and matrices or numerical methods. Basic sci- demic programs in computing at institutions of higher
ence courses should include both physics and chemistry. education began in the mid-1950s under pressure from
The third and final element of a computer engi- early users of computing equipment, or from the comput-
neering education is design experience. Because the ing center staff deluged with questions about the use of
practice of computer engineering involves examining these new devices. Initially, the “educational program”
issues, evaluating alternatives, and making tradeoffs, a might have consisted only of a short, non-credit course
critical component of a computer engineering education given by the computing center staff. Such a course mainly
is experience in design. Preparation for doing design emphasized hardware characteristics, binary arithmetic,
must be nurtured throughout a student’s education. and how to program a problem for computer solution
For example, a student should learn the tools of design (usually in machine or assembly language). At times,
early in the curriculum; open-ended problems should some of the instructional material was absorbed into an
be presented throughout the program, increasing in existing course in mathematics or engineering, generally
complexity as the student matures; and documentation in three or four lectures. However, with the rapid growth
standards should be emphasized throughout the course of broadly-based university computing installations dur-
of study. Finally, a comprehensive design experience ing the 1960-1965 period, and with the growth of an
should come sufficiently late in the student’s program organized body of knowledge, it became necessary to
494 EDUCATION IN COMPUTER SCIENCE
establish more formal educational programs in comput- others took the position that computer science was not a
ing. coherent discipline but rather a collection of bits and
One of the most influential early efforts took place at pieces from other disciplines; still others felt that comput-
the University of Michigan, and subsequently at the Uni- ers were not that important and were not proper objects
versity of Houston, during the period 1959-1962. These of academic interest. By and large, however, this skepti-
efforts, conducted jointly by the Computing Center and cism was short-lived.
the College of Engineering, were aimed less at establishing At the same time, computing, mathematics, and engi-
computer science as a distinct academic discipline than neering professional societies sponsored studies of the
at the “Use of Computers in Engineering Education” (Uni- curricular effects of the new discipline. Reports of the
versity of Michigan Study, 1960 and 1961, and University Mathematical Association of America (Committee on the
of Houston Study, 1962). At approximately the same time, Undergraduate Program in Mathematics) and the Com-
Stanford University, through the joint efforts of its com- mission on Engineering Education (Cosine Committee)
puting center and department of mathematics, was estab- recommended changes in existing academic programs to
lishing the discipline of computer science as an optional assure that students in mathematics and engineering re-
field of study in the department of mathematics. ceived adequate preparation in computing. This prepara-
These early efforts were capped by the creation of tion was necessitated by the fact that a growing number
separate departments of computer science. In 1962, Stan- of mathematics and engineering majors found themselves
ford University established a Department of Computer working in the computing field soon after graduation. The
Science in the School of Humanities and Sciences; in the studies of the Association for Computing Machinery
same year, Purdue University created a Department of (ACM - q.v.) had the most widespread effect. ACM char-
Computer Science in the Division of Mathematical Sci- tered a Curriculum Committee on Computer Science to
ences. In each case, the bond between the service and recommend necessary academic programs. The subse-
academic functions of computing was made evident by quent report of the Committee, “Curriculum 68” (Atchi-
the fact that one person was both director of the comput- son et al., 1968), defined for the first time the scope and
ing center and chairman of the department; this pattern content of a recommended undergraduate program in
was followed subsequently by other universities. Another computer science. Subsequently, the Committee consid-
pattern established by Stanford and Purdue was that of erably revised and updated the recommended undergrad-
initially offering only graduate programs in computer sci- uate program in its report, “Curriculum 78” (Austing et al.,
ence at the master’s and doctorate levels. The thinking at 1979). ACM also chartered a Curriculum Committee on
the time was that there could be no well-defined under- Computer Education for Management. This Committee
. graduate program in computer science, and that special- issued two principal reports on undergraduate and on
ization in computing should start only at the graduate graduate programs in information systems.
level. (It also reflected the fact that there were few profes- Separately, the Computer Society of the Institute of
sors qualified to teach computing at the time.) Electrical and Electronic Engineering (IEEE - see IEEE-CS)
By the mid-1960s, events in computer science educa- chartered a Model Curricula Subcommittee of the Educa-
tion were proceeding at a dynamic pace. Governmental tion Committee, which published guidelines and curricula
and quasi-governmental reports made recommendations for programs of computer science and engineering in 1979
that spurred the growth of computer science academic and 1983 (EEE Computer Society Reports, 1979, 1983). The
programs. Two were of particular importance. The Na- ACM and IEEE also cooperated in a joint curricula task
tional Academy of Sciences report on “Digital Computer force that presented its first report in 1989 (Denning et al.,
Needs in Universities and Colleges” (Rosser et al., 1966) 1989) and will publish its final curricula recommenda-
recommended, among other things, that campuses tions in 1991. The two societies joined to publish accred-
should “increase as rapidly as possible the number of itation guidelines in 1983 (Mulder et al., 1984) and to form
specialists trained annually as computer specialists and a Computer Science Accreditation Commission (CSAC) of
the support of pioneering research into computer sys- the Computing Sciences Accreditation Board (CSAB) in
tems, computer languages, and specialized equipment.” 1984. As of 1990, 80 programs in computer science had
The President’s Science Advisory Committee report on been accredited; for more information, contact the Com-
“Computers in Higher Education” (Pierce et al., 1967) puting Sciences Accreditation Board, Inc., 345 E. 47th St.,
recommended that “the Federal Government expand its New York, NY 10017.
support of both research and education in computer sci- ACM also chartered Curricula Committees for mas-
ences.” These reports helped obtain government and uni- ters level programs in computer science (Magel et al.,
versity support for the new discipline. 1981), undergraduate and graduate degree programs in
During the same period, university-sponsored con- information systems (Nunamaker et al., 1983), and related
ferences produced reports and books, such as “University computer science programs in vocational-technical
Education in Computing Science” (Finerman, 1968), indi- schools, community and junior colleges, and health com-
cating that computer science was truly an emerging aca- puting (ACM, 1983). ACM has also published curricula
demic discipline and not a short-lived curiosity. Indeed, recommendations for secondary school programs in
the “intellectual respectability” of computer science was computer science and for teacher certification (ACM,
a controversial issue in the 1960s. Many educators argued 1985).
that the computer was just a tool, and that a body of study The effect of all these studies, conferences, and re-
based upon a tool was not a proper academic discipline; ports was a proliferating and seemingly endless number
EDUCATION IN COMPUTER SCIENCE 495
of academic programs in computer science and engineer- Table 2 shows the number of higher-level degrees
ing. From the early graduate programs have come myriad (bachelor’s and beyond) awarded in C&S during 1970-
graduate and undergraduate programs that abound at 1989. Although the number of master’s and doctor’s de-
two-year colleges (associate's degree), four-year colleges grees has continually increased during this period, the
(bachelor’s), five-year colleges (bachelor’s and master’s), number of bachelor’s degrees peaked in 1985-86 and has
and universities (bachelor’s, master’s, and doctorate); declined by approximately 27% since then.
these programs are in additionto the numerous comput- The Taulbee Survey reports on the production of
ing service courses available to students majoring in graduate degrees in the U.S. and Canada that grant Ph.D.
other disciplines. Furthermore, there are a multitude of degrees in computer science or computer engineering
vocational courses given by technical schools. More re- from 1970-1985. The most recent (1989-1990) report
cently, computing courses have been introduced into the (Gries, 1992) provides figures from 167 of 170 Ph.D.-
educational programs of many secondary schools. granting institutions. It gives the number of master’s de-
grees awarded in 1989-1990 as 4,239 for computer science
University Educational Programs Higher edu- and 949 for computer engineering. These figures are
cation programs in computing go by different names, lower than those shown in Table 2 because they survey a
such as computer science, computer engineering, com- narrower population. The 1989-1990 Taulbee report gives
puter science and engineering, information science, data the number of Ph.D. degrees awarded in 1989-1990 as 734
processing, and information systems. Each name also has for computer science and 173 for computer engineering.
come to denote a particular emphasis and origin. For (The as yet unpublished figures for 1990-91 are 862 Ph.D.s
example, computer science usually indicates a mathemat- in computer science and 211 in computer engineering.)
ical and scientific emphasis generally found-at universi- The growth at institutions of higher education gener-
ties; information systems usually indicates computing ally parallels corresponding growth in demand in indus-
applied to organizational systems generally related to the try. Until recently, students graduating with a bachelor’s,
business administration programs at universities; and master’s, or Ph.D. degree in computer science or a related
data processing usually indicates computing applied to field have had little difficulty in finding employment. At
administrative and commercial applications generally the current time, supply and demand have approached
taught at two-year colleges. The programs may be housed equilibrium and some new graduates are experiencing
in a department of computer science, computer engineer- difficulty in finding their first jobs in industry. However,
ing, computer and information science, or data process- the demand is still strong for experienced computer sci-
ing, or given as an option in mathematics, engineering, or entists.
business administration. There is a more limited demand for graduates of a
Higher education programs in computing go by dif- two-year college and even less demand for vocational
ferent names. A recent paper (Hamblen, 1989) lists the school and high school graduates to fill professional po-
1984-1985 output by degree for ten different programs. sitions, although many technician positions are available,
However, the majority of degree programs fall into two especially for graduates with associate’s degrees. The
categories: computer science/computer and information bachelor’s (and, increasingly, the master’s) degree has
science (C&JS) and business data processing. Generally, rapidly become the entry-level degree for suitable profes-
programs in the first category (C&IS) lead to an associate sional positions in industry. In recent years, new Ph.D.
degree or higher, while programs in the second category graduates been actively recruited by universities, re-
often lead to a certificate or to an associate degree. Table search organizations, and manufacturers of computing
1 shows the number of certificate and associate degrees equipment.
awarded from 1982-1989 in each category.
There was an explosive growth in computer science Non-University Educational Programs Com-
and related degree programs from 1970 to 1985. As shown puter science educational programs originated at univer-
in Table 1, the number of certificates and associate de- sities and spread downward, from graduate to
grees started to decline around 1985. undergraduate to two-year colleges and then to high
TABLE 2. Earned Degrees in Computer and Information Sciences' Conferred by Institutions of Higher Education,
By Level of Degree and Sex of Student: 1970-71 to 1988-89
ne LEE
Bachelor’s degrees Master’s degrees Doctor’s degrees
Year Total Men Women Total Men Women Total Men Women
ae Nip a ttn Me ir, ah ht a Pe Se Fa ab iS NI a a a
1970=71..........- 2,388 2,064 324 1,588 1,424 164 128 125 3
AGU =12 occ c.cs 3,402 2,941 461 1,977 1,752 225 167 155 12
19 2=03 cer 4,304 3,664 640 2,113 1,888 225 196 181 15
1973=14 4,756 3,976 780 2,276 1,983 293 198 189 9
1974-75 eee 5,033 4,080 953 2,299 1,961 338 213 199 14
1975-76 ....... 5,652 4,534 1,118 2,603 2,226 377 244 221 23
1976=Memeen: 6,407 4,876 1,531 2,798 DES 466 216 197 19
197 %=18 eee 7,201 5,349 1,852 3,038 2,471 567 196 181 15
1978-79 ....... 8,719 6,272 2,447 3,055 2,480 575 236 206 30
1979-80....... 11,154 7,782 S.3i2 3,647 2,883 764 240 213 27
1980-81 ....... 15,121 10,202 4,919 4,218 3,247 971 252 227 25
T981E82 ee a: 20,267 13,218 7,049 4,935 3,625 1,310 251 230 21
1982-83 ....... 24,510 15,606 8,904 5,321 3,813 1,508 262 228 34
1983-84 ....... 32,172 20,246 11,926 6,190 4,379 1,811 251 225 26
1984-85....... 38,878 24,579 14,299 7,101 5,064 2,037 248 223 25
1985-86 ....... 41,889 26,923 14,966 8,070 5,658 2,412 344 299 45
1986-87 ....... 39,664 25,929 13,735 8,491 5,995 2,496 374 322 52
1987-88 ....... 34,548 23,347 11,201 9,166 6,702 2,464 428 380 48
1988-892. ...... 30,637 21,221 9,416 9,392 6,769 2,623 538 457 81
a. Ss sss sw 2:29.00 sss
‘Includes degrees in computer and information sciences, general; information sciences and systems; data processing; computer programming; systems analysis; and other infor-
mation sciences.
*Preliminary data.
SOURCE: U.S. Department of Education, National Center for Educational Statistics.
schools. Although subsequent sections of this article deal years ago, the community college was rather rare, usually
almost exclusively with university and college programs specializing in such areas as agriculture, forestry, and
(undergraduate and graduate), in this section, we discuss mining. Today, the community college has become as
briefly other educational programs in computing, specif- broadly based and diversified as its university cousin.
ically those offered by private technical schools or insti- The community college serves a twofold purpose.
tutes and by two-year colleges. The latter are in some One is to train the student for a position as a technician.
ways similar to those at technical schools and in other For these graduates, the two-year associate’s degree is
ways different, offering a preparation for four-year under- proof of better standards than those usually maintained
graduate work. by the technical school; the degree is also proof of a more
well-rounded education. The second purpose of the com-
Technical School Programs Private schools for training munity college is to serve as a bridge between the high
technicians have been operating for years. In many fields, school and the four-year college or university, especially
they serve a worthwhile function by preparing people for for those students uncertain of their desire or ability to
jobs as secretaries, dental technicians, TV repairers, and continue with higher education. For these students, the
the like. When the computing industry started expanding associate’s degree may be an intermediate step on the
rapidly, a large number of private schools began offering way towards a bachelor’s degree.
educational programs in computing. There are many jobs Students terminating after two years and entering
in industry for which training as a technician is worth- industry often suffer the same identity problem as do the
while, and the technical school graduate should be quali- technical school graduates. Indeed, they are more than
fied to assume such jobs. technicians, but not the same as college graduates. More
Unfortunately, some computing institutes intimate often than not, the career paths open to them are techni-
that their training will prepare students for well-paying cian-oriented. On the other hand, graduates wishing to
professional jobs in the computing industry, but their continue toward a bachelor’s degree sometimes find the
graduates often discover too late that most such posi- transition quite difficult. Community college standards
tions are filled by college graduates. The professional are not always the same as university standards; commu-
career path in computing, as in most other fields, requires nity college courses are not always identical or even
a college education. similar to corresponding courses at the university.
Some of these difficulties are being addressed; for
Community College Programs Two-year community example, community colleges and universities have been
(or junior) colleges have grown phenomenally in recent cooperating in facilitating the transfer process by making
years, both in quantity and in scope of offerings. Thirty courses more compatible. Transfer still remains a prob-
EDUCATION IN COMPUTER SCIENCE 497
lem, however, as does the technician versus professional e acore of eight computer courses which would be
issue. Increasingly, as the “computer profession” evolves taken by all majors
and becomes better defined, the broader educational e four elective courses chosen from a group of ten
scope of a bachelor’s degree becomes a prerequisite for a advanced courses described in the report
professional career. e five mathematics course (calculus, mathematical
We will not separately detail the usual curricula at analysis 1 and 2, linear algebra, discrete struc-
two-year colleges. In some cases, these are similar to tures, probability and statistics)
freshman and sophomore level computing courses at uni-
versities. In other cases, the differences are more visible. Curriculum 78 has been criticized because of its reduced
By and large, university programs are more theoretically number of mathematics courses and the fact that those
oriented, emphasizing both the theoretical underpin- mathematics courses required are not prerequisite to the
nings of computing and the scientific or engineering ap- computer courses—and therefore are not as integral a
plications. Two-year college programs tend to emphasize part of the prerequisite structure as in Curriculum 68
the practical aspects and the business applications of (see, for example, Ralston and Shaw, 1980).
computing. The four-year university program allows In 1984, an ACM Task Force revised the first two
more time to take courses unrelated to computing, math- courses in the curriculum, CS] and CS2, providing an
ematics, and associated technical disciplines. Because of increased emphasis on problem solving, structured de-
their shorter time span, community college programs, are sign, and software engineering (Koffman et al. 1984 and
more intensely oriented to courses in computing, busi- 1985). Subsequently, a model curriculum for a liberal arts
ness mathematics, accounting, and other technical areas. bachelor’s degree in computer science was published
Accordingly, graduates of community colleges do not pos- (Gibbs et al., 1986) that consists of three introductory
sess the broader educational background of graduates of courses (CS1, CS2, and discrete mathematics) followed by
four-year programs. four core courses in computer science:
puter science are required. The 13 subject areas in the Human-Computer Communication
core are: Numerical and Symbolic Computation
Operating Systems
SAl Fundamentals of Computing Programming Languages
SA2 _ Data Structures Software Methodology and Engineering
SA3 System Software and Software Engineering
The three basic processes and their elements (in
SA4 Computing Languages
SA5 Operating Systems parentheses) are:
SA6 _ Logic Design
e theory (definitions and axioms, theorems, proofs,
SA7 __ Digital Systems Design
interpretation of results),
SA8 Computer Architecture
e abstraction (data collection and hypothesis forma-
SA9 Interfacing and Communications
tion, modeling and prediction, design of an experi-
SA10_ Introduction to Computing Laboratory
ment, analysis of results),
SA11 Software Laboratory
e design (requirements, specification, design and
SA12__ Digital Systems Design Laboratory
implementation, testing and analysis)
SA13_ Project Laboratory
The second stage report (Tucker et al., 1991) dis-
The 13 subject areas can be mapped into courses in cusses how to develop a curriculum based on the model
avariety of ways, and some subject areas may be covered of computer science developed in the first stage. It con-
in more than one course. The criteria for selecting the tains the following parts:
subject areas included in the core was that they comprise
fundamental concepts that span the field. A curriculum e A collection of fifty-five subject matter modules
based on them would give the student a broad engineer- called knowledge units that comprise the common
ing background as well as an in-depth knowledge of the requirements for all undergraduate programs in
hardware, software, and application trade-offs, and the the field of computing ensuring breadth of study.
basic modeling techniques used to represent the comput- Each knowledge unit contains a list of lecture top-
ing process. In all the subject areas, there is a strong ics, relations to other knowledge units, recom-
emphasis on problem solving and the use of analytical, mended hours of coverage, and suggested
heuristic, and experimental techniques as an integral part laboratories.
of problem-solving. e A collection of advanced and supplementary cur-
riculum material that provides depth of study in
Joint Curriculum Task Force (ACM and IEEE) In the several of the subjects.
spring of 1988, the ACM and IEEE Computer Society e A list of twelve recurring concepts that occur
formed a joint curriculum task force whose charter was to throughout the discipline.
present recommendations for the design and implementa-
tion of undergraduate curricula in the discipline of com- Besides the computing requirements, the report dis-
puting. A motivation for this effort was the recognition cusses requirements in science (one-half year including a
that, despite strong and fundamental differences among year- long course in a laboratory science) and mathemat-
institutions that house the departments offering under- ics. The mathematics requirements are a minimum of the
graduate programs, these departments share a substan- equivalent of one-half academic year of mathematics
tially large curriculum in common. Any curriculum courses including discrete mathematics, calculus, and at
recommendations that attempt to speak for the entire least one of the following subjects: probability, linear alge-
discipline must not only identify the shared subject mat- bra, advanced discrete mathematics, mathematical logic.
ter, but also suggest ways in which it can serve as the Rather than provide a single, definitive curriculum
basis for building undergraduate programs in different for all programs in computing, the report discusses how
kinds of institutions. to develop curricula which incorporate all the compo-
The task force proceeded in two stages. The first nents above and how to map the knowledge units into
stage report (Denning et al., 1989) focused on: defining the courses. It also describes the role of laboratories in the
field of computer science, proposing a teaching paradigm curriculum. The appendix to the report describes eight
for computer science that conforms to traditional scien- sample curricula which differ in their emphasis and as-
tific standards, and giving an example of a three-semester sumed institutional constraints.
introductory course sequence based on this model and
the definition of the field. The report outlines nine funda- Information Systems Curricula The ACMalso chartered
mental areas of computer science and the three basic a curriculum committee on computer education for man-
processes (see also COMPUTER SCIENCE: DISCIPLINARY STRUC- agement that has developed curricula for undergraduate
TURE). The nine areas are: and graduate programs in information systems. Students
of these programs learn how to apply computer technol-
Algorithms and Data Structures ogy to meet the information needs of an organization. The
Architecture first graduate report was published in 1972 (Ashenhurst,
Artificial Intelligence and Robotics 1972), and the first undergraduate report was published
Database and Information Retrieval in 1973 (Couger, 1973).
EDUCATION IN COMPUTER SCIENCE 499
Graduate Curricula in Computer Science Summary Formal education in computer science and
Graduate programs in computer science preceded the technology is quite new, dating back only to the early to
introduction of undergraduate programs, the earliest pro- mid-1960s. Educational programs originated at universi-
grams appearing in the early 1960s. Although concentrat- ties, resulting from the increasing use of computers by
ing on undergraduate computer science, Curriculum ’68 students, faculty, and administrators. Today, most col-
also provided recommendations for master’s programs. leges and universities offer academic programs in com-
In 1981, the ACM Curriculum Committee on Com- puting, either as a separate discipline or as an option ina
puter Science published recommendations for master’s related discipline. As can be expected in such a new field,
programs (Magel et al., 1981). This report recognizes the the educational program still has fuzzy edges; at times, it
emergence of two kinds of programs with different goals: overlaps applied mathematics, electrical engineering,
academic programs designed to prepare students for business administration, and other disciplines. Yet, in just
Ph.D. study, and professional programs designed to pre- a few short years, it has become a visible and influential
pare students for business and industry. However, the area of study. Computer science undergraduate programs
committee rejected the idea of a purely terminal program also provide a service function by offering courses to the
and believes that all programs should prepare students student majoring in other disciplines. Usually, these stu-
for study beyond the master’s level. dents require some computer courses so that they can
500 EDUCATION IN COMPUTER SCIENCE
better apply computing methods to their fields. Often, 1967. Pierce, J. et al. “Computers in Higher Education,” The
however, these students become computing practitioners President's Science Advisory Committee, The White House.
Washington, DC: U.S. Government Printing Office.
after graduation.
Undergraduate and graduate programs
In earlier days, entry into the computer field was al-
1968, Finerman, A (Ed.). “University Education in Computing Sci-
ways through some other discipline; there simply were no ence,” ACM Monograph. New York: Academic Press.
academic programs in computing. People learned by 1968. Atchison, W. et al. “Curriculum '68,” CACM 11: 151-
doing—by using computers, by programming, and by ab- 197(March).
sorbing knowledge in this more informal manner. Today, 1972. Ashenhurst, R. (Ed.). “Curriculum Recommendations for
many enter witha degree in computer science, information Graduate Professional Programs in Information Systems,”
systems, or related programs. Furthermore, in earlier CACM 15: 363-398 (May).
days, a university or college degree was not required for 1973. Couger, J.D. (Ed.). “Curriculum Recommendations for Un-
many professional positions in the computing organiza- dergraduate Programs in Information Systems,” CACM 16:
tion (especially administrative data processing). Increas- 727-749 (December).
1977. Cain, J. T. (Ed.). “A Curriculum in Computer Science and
ingly, prospective employers today require at least a
Engineering,” IEEE Publication EHO 119-8 (January).
bachelor’s degree (in computing or some other field with
1979. Austing, R. ef al. “Curriculum '78,” CACM 22: 147-165
concentration in computing) to qualify for the professional (March).
position. In many cases, a master’s degree in computing is 1981. Magel, K. et al. “Recommendations for Master’s Level Pro-
preferable. The graduate with a doctorate in computer grams in Computer Science,” CACM 24: 115-123 (March).
science was, until very recently, in short supply, both at 1981. Nunamaker, J. F. (Ed.). “Educational Programs in Informa-
universities and at industrial research organizations; this tion Systems,” CACM 24: 124-133 (March).
shortage, however, ended in.1991-92 and considerable 1982. Nunamaker, J. F. et al. “Information Systems Curriculum
numbers of doctoral degree holders in computer science Recommendations for the 80s: Undergraduate and Graduate
now experience difficulty in finding positions. Programs,” CACM 25: 781-806 (November).
1983. IEEE Computer Society. “The 1983 Model Program in Com-
Although the discussions in this article apply primar-
puter Science and Engineering,” IEEE Publication EHO 212-1
ily to computing education in the U. S. and Canada, expe-
(December).
riences in other countries are quite similar. The major 1984. Mulder, M. and Dalphin, J. “Computer Science Program
difference is that computer science educational programs Requirements and Accreditation—Interim Report of the
in other countries were introduced later than those in ACM/IEEE Joint Task Force,” CACM 27: 330-335 (April).
North America. For example, with some exceptions, uni- 1984. Koffman, E. et al. “Recommended Curriculum for CS1: 1984,”
versities in Western Europe and Israel initiated such pro- CACM 27: 998-1001 (October).
grams around the late 1960s, in South America around the 1985. Koffman, E. et al. “Recommended Curriculum for CS2: 1984,”
early 1970s, and in Southeast Asia around the mid-1970s. CACM 28: 815-818 (August).
In Europe, especially, the title of the academic program 1989. Denning, P. et al. “Computing as a Discipline,” CACM 32:
9-23 (January).
usually is a variation of the term informatics, derived from
1991. Tucker, A. et al. Computing Curricula 1991—Report of the
the French “informatique.” (See the two following parts of
Joint (ACM/JEEE) Curriculum Task Force. New York: ACM
this article.)
Press, Los Alamitos, CA: IEEE Computer Society Press.
There is now an increasing awareness that the use of For a bibliography on the subject, see “A Survey of the Literature
the computer stimulates and modifies intellectual pro- in Computer Science Education since Curriculum '68" by Aus-
cesses, and as a result makes it possible for people to ting, Barnes, and Engel, CACM 20: 13-21 (January 1977). In
expand their intellectual capabilities. This added dimen- addition, the quarterly SIGCSE Bulletin of the ACM Special
sion—the extension of human intellect—must be part of Interest Group on Computer Science Education contains arti-
any program in computer science or information systems. cles of interest on a continuing basis.
The case for less specialized undergraduate programs in com-
References puter science is presented in:
1970. Finerman, A. and Ralston, A. “Undergraduate Programs in
Early efforts to bring computing methods into engineering educa- Computing Science in the Tradition of Liberal Education,” IFIP
tion are described in three related volumes: World Conference on Computer Education 2: 195-199.
1960. University of Michigan Study. “Electronic Computers in 1986. Gibbs, N. and Tucker, A. “A Model Curriculum for a Liberal
Engineering Education.” Ann Arbor: University of Michigan. Arts Degree in Computer Science,” CACM 29: 202-210
1961. University of Michigan Study. “Use of Computers in Engi- (March).
neering Education, Second Annual Report.” Ann Arbor: Uni- The mathematical background of the undergraduate student in
versity of Michigan. computer science is examined in:
1962. University of Houston Study. “Use of Computers in Engi- 1980. Ralston, A. and Shaw, M. “Curriculum '78—Is Computer
neering Education—A Report of the Advanced Science Semi- Science Really that Unmathematical?” CACM 23; 67-70 (Febru-
nar.” Houston: University of Houston. ary).
There were two principal government-sponsored studies on com- 1981. Ralston, A. “Computer Science, Mathematics, and the
puting in universities during the mid-1960s. Both gave back- Undergraduate Curricula in Both,” Am. Math. Monthly 88:
ground information on the use of computers in universities 472-485 (Aug.—Sept.).
and recommended government financial support for com- 1984. Ralston, A. “The First Course in Computer Science Needs a
puter education: Mathematical Corequisite,” CACM 27: 1002-1005 (October).
1966. Rosser, J. B. et al. “Digital Computer Needs in Universities The ACM has compiled curricula recommendations for a variety
and Colleges.” Washington, DC: National Academy of Sci- of educational programs in computer science. The first item
ences/National Research Council. below is a paper. The remaining items are booklets that may
EDUCATION IN COMPUTER SCIENCE 501
increased rapidly in the last ten years. In 1980, there were The EDSAC (Electronic Delay Storage Automatic Cal-
about 40 such schools and nearly 10,000 students, but in culator) was built in England during the late 1940s at the
1990 there were about 300 schools and 70,000 students. Mathematical Laboratory of the University of Cambridge.
Curricula are diversified, but most of them emphasize It was designed according to the principles expounded by
computer programming. The schools supply a large num- J. Presper Eckert, John W. Mauchly, and others at the
ber of technicians to the software industry. But the indus- summer school held in 1946 at the Moore School of Elec-
trial world expects them to supply engineers, rather than trical Engineering in Philadelphia, and which the author
technicians. In order to answer the expectation, a public of this article was privileged to attend. The objectives
educational organization has retrained their teachers from the beginning were (1) to show that a binary stored-
under the support of the government. program computer could be constructed and operated;
(2) to develop programming techniques, even then seen
Examination for Information Processing En- to be a subject of more than trivial content; and (3) to
gineers In 1969, the Minister of International Trade apply the techniques developed in a variety of application
and Industry established an examination for an informa- fields.
tion processing engineer in order to encourage software In order to accelerate the attainment of the first
engineers to improve their skills. At first, these were only objective, it was decided to ease the circuit design prob-
for junior and senior programmers, but now there are lems by choosing a conservative pulse repetition fre-
examinations for system engineers, engineers of on-line quency (500 KHz compared with 1 MHz used in most
data processing, and engineers of system auditing be- contemporaneous projects) and to bias the logical design
sides the above two. In 1990, there were 544,250 appli- in the direction of simplicity rather than speed. This
cants, and the cumulative number of ‘successful policy was successful, and by May 1949 the project had
candidates was 323,057 (245,378 junior programmers, reached the stage at which the development of program-
61,596 senior programmers, 12,025 system engineers, ming techniques and the running of practical programs
2,166 engineers of on-line data processing, and 1,892 engi- could begin.
neers of system auditing). The EDSAC (Fig. 1) was a serial binary computer with
an ultrasonic memory (q.v.). The mercury tanks used for
TOSHIO NISIMURA the main memory were about 1 2 meters long and were
built in batteries of 16 tanks. Two batteries were pro-
vided. A battery, with the associated circuits, could store
EDSAC 256 numbers of 35 binary digits each, one being a sign
digit. An instruction occupied a half-word of 17 bits, and
For articles on related subjects see DiGITAL COMPUTERS: it was also possible to use half-words for short numbers.
History: EARLY, and ORIGINS; EDVAC; ENIAC; ULTRASONIC Numbering of the storage locations was in terms of half-
Memory; and WILKES, MAURICE V. words, not full words. The instruction set was of the
single-address variety, and there were 17 instructions. computers based on such designs have come to be known
Multiplication was included, but not division. Input and as von Neumann machines, even though most historians
output were by means of five-channel punched-paper question whether von Neumann deserves such exclusive
tape. The input and output orders provided for the trans- credit for the stored program concept. In the spring of
fer of five binary digits from the tape to the memory, and 1945, J. Presper Eckert described the mercury delay line
vice versa. (ULTRASONIC MEMORY - g.v.) to the author. In answer to the
Operation of the machine could not start until a short question of how to control the operations, he replied that
standard sequence of orders, known as the initial orders, the instructions would be stored in the delay lines just like
had been transferred into the ultrasonic memory from a numbers. Once he said it, the solution was obvious. There
mechanical read-only memory formed from a set of rotary is no doubt that Eckert deserves credit for the delay line
telephone switches. The space that the initial orders oc- memory, and though there is no proof that he first
cupied in the memory could be re-used when they were thought of putting instructions in the delay lines, it seems
no longer required for reading the input tape. The initial probable that he and/or John Mauchly thought of it before
orders determined the way in which the instructions were von Neumann came on the scene. What von Neumann
punched on the paper tape, and this was quite an ad- should get credit for, of course, is that his interest in and
vancement for the period. support of computer activity significantly increased gov-
One row of holes, interpreted as a letter, indicated the ernment and academic support. Therefore, following a
function; this was followed by the address in decimal suggestion of Maurice Wilkes, it is proposed that stored
form, with leading zeros omitted and terminated by a program computers following the EDVAC design be called
code letter. In the first set of initial orders to be used, this Eckert-von Neumann computers.
code letter merely determined whether the address re- The principles involved in the EDVAC design exerted
ferred toa short or a long location; before the end of 1950, a strong influence on the computers that followed it.
however, these initial orders had been replaced by amore The EDVAC had about 4,000 tubes and 10,000 crystal
elaborate set in which the terminating characters were diodes. It used a 1,024-word recirculating mercury delay-
used to provide relocation facilities for blocks of instruc- line memory, consisting of 23 lines, each 384 microsec-
tions or data punched on the tape. onds long. The words were 44 bits long. Instructions
The EDSAC did its first calculation on 6 May 1949, and were of the four-address type (4-bit operation code and
ran until 1958, when it was finally switched off. four 10-bit addresses). The arithmetic unit did both fixed
and floating-point operations. Input and output were via
References punched paper tape and IBM cards. Information was all
1950. Wilkes, M. V. “The EDSAC (Electronic Delay Storage Auto-
handled as serial pulse trains and the clock frequency
matic Calculator),” MTAC 4: 61. was 1 MHz.
1956.—. Automatic Digital Computers. London: Methuen; New Although the conceptual design of the EDVAC was
York: Wiley. complete in 1946 and was delivered to the Ballistic Re-
search Laboratories at Aberdeen, Maryland, by 1950 the
Maurice V. WILKES entire computer had not yet worked as a unit and was still
undergoing extensive tests (Stifler, 1950, pp. 200-201).
The delay in completing the EDVAC was primarily due to
the efflux of computer people from the Moore School in
EDVAC 1946. Eckert and Mauchly resigned and launched a com-
For articles on related subjects, see DIGITAL COMPUTERS: mercial venture (UNIVAC). Herman Goldstine and Arthur
HISTORY; ECKERT, J. PRESPER; ENIAC; MAUCHLY, JOHN W,; Burks went to Princeton to work with von Neumann, and
STORED-PROGRAM CONCEPT; ULTRASONIC MEMORY; VON NEU- the author left to work with Turing in England. T. K.
MANN, JOHN; and VON NEUMANN MACHINE. Sharpless was put in charge, but he, too, left later to go
into business for himself.
The EDVAC (Electronic Discrete Variable Automatic The EDVAC finally became operational as a unit in
Computer), the first stored program computer, was a 1951. An Aberdeen Proving Ground report states that
direct outgrowth of work on the ENIAC. During the design during 1952 the EDVAC “began to operate on a production
and construction of the ENIAC in 1944 and 1945, the need basis.” For nine months of 1952, the average available
for more storage than its 20 10-decimal digit numbers was time per week was 47.4 hours (23.3 for code checking and
realized. The experience with acoustic delay lines for 24.1 for production), and the average “engineering” time
radar range measurement led to the concept of recirculat- was 104.8 hours. Approximately 70.4 hours of this was
ing storage of digital information. The group at the Moore unscheduled maintenance; 10,000 defective tubes (over
School of Electrical Engineering at the University of Penn- twice the complement) and about 3,000 (of 10,000) germa-
sylvania started development work on mercury delay nium diodes were replaced. In a later Aberdeen report,
lines for such storage, and initiated the design of the Weik notes that during 1956 the average error-free run-
EDVAC. ning period was approximately 8 hours, and that out of a
As the first stored program computer, EDVAC instruc- run time of 8,728 hours, 6,752 were good (78%). This gave
tions that controlled the computational process were approximately 130 hours of “good time” per week. The
stored in the same way that its data was stored. The basic EDVAC was used until December 1962 (Knuth, 1970, p.
logical ideas are described by von Neumann (1945), and 250);
ELECTRONIC FUNDS TRANSFER (EFT) SYSTEMS 505
tially more security requirements. Combining EFT and puter on the chip executes unalterable programs, thus
EDI technologies offers substantial synergistic benefits, making such cards more secure than the plastic, mag-
such as lower personnel costs, greater accuracy, and netic-striped cards currently in use. Different technol-
reduced lead time. While the cost savings with EFT are ogies will still need to be used to address compatibility
estimated to be $1 per transaction, some combined problems.
EFT-EDI systems yield savings in the range of $5 to $25 A particularly troublesome issue facing EFT technol-
per transaction. ogy centers around legal questions. Banks and other fi-
nancial institutions face legal risks that are partially
Architectural Requirements EFT suggests sev- protected if the EFT system used is part of CHIPS or the
eral hardware and software requirements to preserve sys- FedWire system (since these are underwritten by the
tem integrity and security in expanding regional, national, Federal Reserve System). However, liability issues are still
and international networks. Fault-tolerant computing somewhat unsettled, with many different acts and regula-
(q.v.) systems for reliability need to be used which, if tions coming into play.
hardware-based, preserve the integrity of the network The Federal Reserve Board has changed Regulation
better than older, independent computer systems that CC (which implements the Expedited Funds Availability
were merely patched together. Authentication require- Act) to regulate time periods by which banks must make
ments for messages (for both PC and mainframe users) check-deposited funds available to customers. Efforts
entails a watchword generator and controller, a security continue to revise Article 4A of the Uniform Commercial
card, and a mainframe peripheral security module. The Code to address commercial EFT and integrate it with
U.S. Data Encryption Standard (DES) has traditionally both Regulation CC and the Electronic Funds Transfer Act
been the encryption algorithm used to secure EFTPOS of 1979, which governs most consumer transactions.
systems (see CRYPTOGRAPHY, COMPUTERS IN). As transaction As of 1990, there was no precedent for EFT-EDI docu-
volumes increase, however, the algorithm’s effectiveness ments in law except for those laws applicable to paper
tends to decrease. documents. Legal documents in the area generally require
While there is still not complete agreement on a stan- paper forms and proofs of signature in order to be bind-
dard application program interface (API), there is move- ing, which tends to lessen the attractiveness of the tech-
ment towards resolution of the issue. The X.400 Gateway nology to an organization considering an investment in
API and X.400 Application API were created in 1989 by the EFT-EDI. Business documents in EFT-EDI are processed in
Application Program Interface Association (APIA). APIA is electronic and heavily coded formats, making audit trails
a consortium of 24 vendors in the electronic mail and difficult.
messaging industry. The APIs will spur the development Changes of terms and error resolutions associated
of X.400 technology to link wide and local area networks with credit or debit card disputes are regulated by the
(LANs - g.v). X.400 (which is a store-and-forward messag- Federal Reserve Board’s Regulations Z and E, respec-
ing architecture) has been recommended by the Interna- tively. Efforts continue to reconcile the impact of those
tional Standards Organization (ISO). regulations on EFT.
Switching networks (such as France’s X.25 packet- The most current concern is the Treasury Depart-
switching network) with add-on applications packages to ment’s effort to reformulate portions of the Bank Secrecy
handle EFT execution orders, language translations, and Act to address issues raised by EFT operations. Govern-
currency conversions are needed to handle the growing ment has an understandable desire to trace and intercept
number of international message formats used by EFT illicitly derived monies. To provide the information neces-
systems. sary, the federal government is floating proposals that
would impose detailed record keeping requirements di-
EFT Trends and Issues The recent changes in EFT rectly related to EFT operations, possibly impeding prog-
hardware and software technology have a number of im- ress or, at least, ease of use.
plications for the future and growth of the methodology.
Electronic benefits transfer (EBT) is the government’s use References
of EFTS technology to automate programs such as Social
1987. Kirkman, Patrick. Electronic Funds Transfer Systems, The
Security, child support, Medicaid, and food stamp distri-
Revolution in Cashless Banking and Payment Methods. Oxford:
bution. The use of EFT tax payment programs are just Basil Blackwell, Ltd.
starting to expand. Forecasts are that, in 1992, 39 states 1989. Fuentebella, Cielo. “NACHA Pitches ACH Minus and Mys-
will have such systems. The Internal Revenue Service is tique and Mystery,” Bank Systems and Equipment, 26, 4 (April),
seeking to use EFT-EDI for refunds. Off-site mainframe 16.
computers can now deliver EFT advances automatically 1989. Organisation for Economic Co-Operation and Development.
through facsimile transmission (fax). Electronic Funds Transfer, Plastic Cards and the Consumer.
Security and interface/interconnection issues are Paris: OCED.
becoming more important as the industry matures. 1991. Ahwesh, Philip C. “Who Pays for Risk in Worldwide EFT
Currently, cryptographic protocols are used for security Networks?” Information Strategy: The Executive’s Journal, 7, 3,
(Spring) 21-26.
at the applications level. Smart cards (invented in 1974
1991. Anonymous. “Smart Cards: When the Price is Right,” Bank-
by Roland Moreno) are beginning to be used to identify
ing World, 9, 6 (June) 36.
users. Smart cards have embedded integrated chips 1991. Barr, Robert E. “Are EDI and EFT in Your Tax Filing Future?”
with 8K, 16K, or 32K of indelible memory. A microcom- Journal of Systems Management, 42, 4 (April) 32-34.
ELECTRONIC OFFICE 507
In its first iteration in the early and mid-1980s, this software for connection to remote systems may be stored
integrated electronic office employed a mainframe or locally, or local servers may address a central hub for
minicomputer (or some part of its processing power) plus such information.
video display terminals, keyboards for input, and formed- Users may select mail services with substantial so-
character or high resolution dot matrix printers for “letter phistication: Delivery may occur immediately, or it may
quality” printing. The software functionality of these early be delayed to take advantage of multi-message bundles or
office automation systems was based on electronic mail lower rates at off-peak hours; mail may be marked for
as akind of “glue,” underlying all of the other components personal receipt only or delegation might be permitted;
and permitting information to be passed from application password protection and even full message encryption
to application and from user to user. Other major func- may be available.
tions included word processing, information retrieval A special and rapidly growing form of electronic mail
(g.v.), various personal assistance functions such as a is computer conferencing. In this format, a group of users
personal calendar and a group meeting scheduler, and the with access to a particular electronic mail system and a
ability to manage tasks. common interest take turns writing, reading, and (if per-
Early systems offered by major manufacturers, such mitted) editing a commonly owned file. Special software
as IBM, Sperry Univac, and Burroughs (later merged into facilitates viewing the file in different ways: by subtopics,
Unisys), Digital Equipment Corporation, and Xerox, of- by author, by date, and so forth. In a computer confer-
fered little more than word processing and simple records ence, verbal skills and speed do not count; intelligence
processing (the management of small sequential files, and writing skills become more important. Such groups
such as names and addresses, that can be sorted and are often ad hoc in nature and disband when their task is
merged into letters). They were aimed at clerical and completed or their interest wanes. The completed file
secretarial workers and offered little opportunity for sub- could become archival material, a book on the topic, or
stantial customer savings, since the underlying salaries of simply be discarded.
the workers employed in such jobs was relatively low. As of 1991 there were more than 6,000,000 electronic
By the mid-1980s, attention was focused on systems mail users and the number is growing rapidly. About half
that directly supported professional workers and manag- are on host-based systems and about half on LAN-based
ers by emphasizing the managerial communications func- systems. Much of the future growth is expected to be
tion. As personal computers became ubiquitous and local LAN-related.
area networks (LANs - g.v.) became the accepted method- Automating filing is more difficult. The filing of one’s
ology for joining personal computer workstations to form own electronically created documents can be readily au-
workgroups, this more flexible and modular hardware tomated, but much mail, especially external mail, is still
replaced the minicomputer as the preferred office auto- received on paper. Some of that paper can be integrated
mation platform. When the PC at the desktop became into the electronic filing system by optically scanning it.
known as the “client” and the shared system unit, with its One can then save it as an image file, identifying it by an
storage and software, became known as the “server,” index or by indexable keywords. Because image files re-
client/server computing was born (see FILE SERVER). Host- quire large amounts of storage, users may choose to limit
based office automation had been used by only a small their use of these files, except on a temporary basis, or
percentage of all office workers; it was too difficult to cost they may choose to use optical disk hardware, for its
justify. But with millions of personal computers already in high-capacity storage capability. Alternatively, Optical
place, the client/server model permitted the implementa- Character Recognition (OCR) software algorithms can be
tion of office automation by the simple technique of at- applied that transform images of text characters into
taching existing desktop personal computers to local area digital codes, as if the paper document were keyboarded
networks and servers. For a small incremental cost, signif- into the electronic system. It can then be indexed and
icant value could be added to the workgroup. The vast managed just like any other electronic file using a variety
majority of electronic office users in the future will use a of indexing and search techniques.
client/server environment. Recently, new search techniques have been devel-
oped that permit much more sophisticated retrieval; this
Functionality The functionality of office automation, insures the return of a smaller number of more precisely
in the meantime, has been shifting. Electronic mail is the matched answers. Also, search engines are available that
backbone function for all office automation systems, re- look for either changes in state or for certain events to
gardless of their underlying hardware architecture. But occur, and which then notify the appropriate system user.
electronic mail based on terminals and hosts tied into A user might, for example, want to be notified as soon as
networks (which was once the only choice) has subtly a certain number exceeds $10,000.
changed. The overall concept is very close: Messages can Personal computers provide a variety of personal cal-
be sent to people in the same organization or to those in endar schemes to record and display individual calendars
other companies or countries, making use of compatible and to produce reminder or “To Do” lists. Workgroup sys-
networks, institutional (de jure) and marketplace (de tems offer group calendars, which may be simply systems
facto) standards, and electronic mail gateway (q.v.) soft- to display multiple individual calendars, or more complex
ware, which provides translation services between unlike software can merge calendars in order to schedule meet-
networks. But some of the processing now occurs on the ings for members of a group. Some software can now
PC desktop and some on a local server. Address lists and schedule meetings across multiple systems or local area
EMBEDDED SYSTEM 509
networks. Software called groupware (q.v.) can coordinate useful processing to occur. Workers are now in the pro-
workgroup tasks as well as meetings. cess of moving from character-based, single window per-
Sometimes, the term paperless office has been used sonal computers, to graphical user interface, multi-
to describe a goal of office automation, but that goal is window, multitasking (q.v.) personal computers. These
elusive. A computer screen is not yet a suitable substitute new devices will support more complexity and support it
for all the different kinds of information one might simul- with less skill and training. It will change the nature of
taneously be using in a work environment (since it is how people work in offices, what a workgroup looks like,
neither big enough, nor of high enough resolution). This and where, in fact, work is performed.
is so partly because the screen handles only electronic
information and not paper, and partly because it is on the References
desk. Whenever the worker leaves the office, the com-
1978. Zisman, M. The SCOOP Office Reminder System, Working
puter workstation is left behind. Now, however, portable
papers of the Wharton School of Business, University of Penn-
personal computers are becoming small and inexpensive. sylvania.
By 1993, we expect that one-half of the new personal 1987. Crowston, K. and Malone, T. Information Technology and
computers purchased will be portables (see LapTop Com- Work Organization Cambridge, MA: M.I.T. Sloan School of Man-
PUTER). In combination with new pen interfaces, which agement, Center for Information Systems Research, Working
permit the user to “write” on the screen of the computer Paper No. 165 (December).
rather than use a keyboard, mouse, or other pointing 1988. Malone, T., What Is Coordination Theory? Cambridge, MA:
device, such computers can be used anywhere. Then, M.I1.T. Sloan School of Management, Center for Coordination
with an ability to send and receive information (probably Science, Working Paper No. 2051-88 (February).
via cellular telephone) to and from the office base, the
Amy D. WOHL
paperless office will be closer to reality. Voice input is now
possible for some applications, but continuous speech
voice input with full natural language processing (q.v.)
that allows users to talk and the computer to understand
and act is still some way off. EMBEDDED SYSTEM
While some impact printing remains in the office, For articles on related subjects see ADA; MICROCOMPUTER
almost all electronic offices now make use of high-quality CHIP; and MICROPROCESSORS AND MICROCOMPUTERS.
laser printing at resolutions of 300 dpi (dots per inch) or
higher. Color printing also makes extensive use of ink jet In some sense, every computer system is embedded
and a melted color wax technology. In all cases, the out- within some larger system, such as a business. But the
put may include type of any size or style, with an appear- term in computer science and engineering has come to
ance near, if not at, (depending on resolution) a typeset denote a computer that is physically embedded within a
page. Pages may also include forms, tables, graphics, and larger system and whose primary purpose is to maintain
reproductions of half-tone photographs, although with some property or relationship between the other compo-
some lessening of quality. nents of the system in order to achieve the overall system
objective. Embedded computers are now used in a wide
Future Trends Each of the elements discussed is an variety of systems, such as aircraft, automobiles, appli-
example of a tool designed to take an individual human ances, weapons, and medical devices.
task and make it more efficient. But office automation has a As opposed to computer applications that primarily
more important goal, namely, to look beyond mere tasks to provide information or computation facilities to the user
process and to automate the processes applied to them. or those that provide transaction processing (e.g. an air-
This process automation is referred to early in the history line reservation system or automated teller), the embed-
of office automation in Zisman’s (1978) description of ded computer reads data from sensors and provides
using Petri nets (g.v.) to describe production systems for commands to actuators in order to ensure that the goals
office work. Examples are reviewing a technical paper sub- of the overall system are achieved. It accomplishes this
mitted to a journal, applying for a home mortgage, and a by maintaining some property or relationship between
budget approval cycle. This work has since been furthered the components of the larger system at some specified
by work at Xerox PARC and by the work of Tom Malone at value over time or by effecting some sequence of state
M.LT. The new groupware products, which attempt to facil- changes over time. The required relationship between
itate cooperation, «coordination, and negotiation in state variables for which the computer is responsible will
groups, are examples of this kind of process automation, invelve fundamental chemical, thermal, mechanical,
as are some of the new procedural processing products aerodynamic, or other laws, as embodied within the na-
being used in conjunction with image processing hard- ture and construction of the larger system.
ware and software to manage large document processing Embedded systems usually have certain characteris-
applications not unlike those imagined by Zisman. tics that greatly complicate the process of constructing
With the advent of very inexpensive personal com- software:
puters and cheap memory, it is now clear that the device
on the desktop (or in the briefcase) will bea fully capable Real-time—The correctness of the outputs is depen-
personal computer rather than a semi-intelligent terminal dent not only on their value, but also on their timing.
that requires attachment to another computer for any Outputs that are too early or too late may be incor-
510 EMULATION
rect even though they may have the desired com- to analyze the error and determine the appropriate recov-
puted value. In real-time systems, the required tim- ery procedure. Although the computer system needs to
ing behavior of the software is dictated by external provide correction procedures (e.g. for erroneous entries
events, rather than by internal processing speed. in anelectronic database), the decision to make the correc-
Reactive—The embedded computer interacts and re- tion can be handled externally and often off-line. In embed-
sponds to its environment during execution. Execu- ded systems, errors and failures must be dealt with
tion is in response to external events or at fixed time immediately, and often the detection and recovery from
frequencies and is often continuous and cyclic errors must be automated. The computer must be robust
(rather than executing once and ending). (must continue to operate in a specified manner), even
Process-control—The computer is responsible for mon- though other components of the system may fail. Also, the
itoring and partially or completely controlling me- other components must be made robust in the face of
chanical devices and physical processes. Control computer errors and failures. Finally, embedded computer
variables in the process are measured to provide software must provide facilities to detect and recover from
input and feedback to the computer, which uses this its own errors or, at the very least, to fail gracefully in a way
information to effect changes in the process that minimizes damage to the overall system.
through outputs to actuators that manipulate the
physical properties of the process. References
Critical—Often, there is a high cost associated with
1986. Elbert, T. F. Embedded Programming in Ada. New York: Van
errors and failures of the computer. In safety-critical Nostrand Reinhold
embedded systems, a run-time error or failure can 1991. Leveson, Nancy G. “Software Safety in Embedded Computer
result in death, injury, loss of property, or environ- Systems,” Comm. ACM, 34, 2 (February) 34-46.
mental harm. 1991. Cook, R. “Embedded Systems in Control,” Byte, 16, 6 (June)
153-160.
Embedded software presents unique problems and
requires a different type of development strategy than NANcy G. LEVESON
other types of software, such as data processing or trans-
action systems where the computer is at the center of the
application. In the computer-centralized system, periph-
eral equipment with which the computer interacts, such
EMULATION
as input, storage, and output devices, is there to serve the For articles on related subjects see FIRMWARE; HOST SYSTEM;
needs of the computer and not vice versa. In this type of MICROPROGRAMMING; READ-ONLY MEMorY; and SIMULATION.
system, the behavior of the other components of the
system are usually known and often designed or chosen The most common meaning of emulation is the ability
with the needs of the computer as the guiding feature. In of one digital computer to interpret and execute the in-
the embedded system, the computer is used to service struction set of another computer. To see how this can be
the needs of the other components; thus, its behavior and done, it is necessary first to note that the control unit of
design is usually severely constrained by the external a computer contains the necessary information for the
process being controlled. Furthermore, the knowledge sequence of operations (microoperations) that are to be
about the behavior of the physical processes may only be performed when a particular operation code (op-code) is
partially known and is often continuous and stochastic to be executed. The op-codes may be referred to as mac-
and therefore difficult to incorporate into the usually roinstructions (not to be confused with the more common
discrete and deterministic computer software models. usage of macroinstruction - g.v.).
Instead of having the freedom to select external devices The control unit can consist of either hard-wired
that satisfy the requirements of the computer, the other logic (that is, special-purpose digital logic circuitry for
system components usually dictate the requirements for each op-code) or microprogrammed control. With
the embedded computer. Furthermore, the order, timing, microprogrammed control, the control unit contains a
and required handling of input events by the computer is sequence of instructions (microinstructions) that, when
completely controlled by the other system components, decoded, control the gate operations in the central
rather than by the software designer. Events that occur in processing unit (g.v.) that will cause the op-code to be
large numbers in a short time or simultaneously must be executed. This microprogram is stored in read-only mem-
handled by the computer software in ways that will satisfy ory (ROM - @.v.). ‘
the needs and requirements of the larger system. Software The microprogram in the control unit may simply be
requirements for embedded systems are allocated during the sequence of microinstructions that will instruct the
the system engineering process. The language Ada was CPU to perform operations according to an instruction set
designed to be particularly effective for development of that a computer designer wishes. For instance, if a com-
embedded system software. puter designer desires an ADD Register-to-Register mac-
Errors must be handled differently in embedded sys- roinstruction, the microinstruction sequence will consist
tems. In most other computer systems, providing informa- of gating operations that gate each of the registers to the
tion that an error has occurred and discontinuing the arithmetic-logic unit (ALU - g.v.) (and then the output of
processing of the erroneous transaction is satisfactory the ALU back to the appropriate register). Another possi-
and perhaps even desirable. A human can then intervene bility, however—and this is the essence of emulation—is
ENIAC 511
to place a set of macroinstructions of another computer structure used to implement the abstract concept of a
into the hardware of the given computer. That is, one stack is changed to provide greater efficiency, the pro-
encodes the macroinstruction set of the first computer by grams that use the stack have no need to know that the
microprogramming those instructions on the hardware of hidden structure was changed. The programs would, pre-
the second computer. What we have then is an im- sumably, run more efficiently without their creators hav-
plementation of the macroinstruction set of one com- ing to change a single line of source code.
puter on hardware that differs from the originally Another reason to encapsulate is to enforce a partic-
intended hardware. ular access discipline—e.g. using monitors to enforce
Another use of the term emulation concerns the possi- access to critical sections of a program so that only one
bility that one may wish to allow the replacement of one user program can gain access to such a section at the
circuit board in the control unit by another in order to same time (see CONCURRENT PROGRAMMING).
change the macroinstruction set. In fact, such approaches A third reason to encapsulate is to provide compati-
have been used to design, say, a Cobol machine or a For- bility among programs that were not written with the
tran machine. This is done because certain macroinstruc- intent that they be used together. Such compatibility is
tions are more useful in some languages than in others. sometimes achieved by an interface that translates con-
Lately there has been a great deal of interest in trol and data into a form that can be used by the encapsu-
moving certain portions of software systems into the lated program. The encapsulated program can then be
microprogrammed control portion of the machine to reused without change. This approach is often favored
effect increased speed. This has created the opportunity when there is a considerable investment in a large, com-
to experiment on trade-offs between software and hard- plex program that is poorly documented or not designed
ware and between software and microcode. Such im- well for change. For example, suppose that some author-
plementation of software in hardware is called firmware ity decrees that the message format of a message process-
and is still another type of emulation. ing program be changed in a way that was not anticipated.
An encapsulated interface that transforms the messages
References from the new format to the old might be written as an
alternative to rewriting the message processor itself to
1988. Habib, S. (Ed.). Microprogramming and Firmware Engineer-
recognize the new format.
ing. New York: Van Nostrand Reinhold.
1989. Milutinovic, V. (Ed.). Introduction to Microprogramming. En- A fourth reason to encapsulate is to provide an
glewood Cliffs, NJ: Prentice-Hall. abstraction for a resource that is particularly difficult
to use. For example, many of the features of the control
STANLEY HABIB structure of a computer are provided to programmers
through an operating system interface that makes those
features both safer and easier to use. The interrupt
handling code for the computer is an example. Program-
ENCAPSULATION mers can write programs that perform input/output
For articles on related subjects see ABSTRACT DATA TYPE; without having to write the interrupt code. Such code
CONCURRENT PROGRAMMING; INFORMATION HIDING; MODULA-2; is usually carefully encapsulated (note that it is an
OBJECT-ORIENTED PROGRAMMING; and SOFTWARE REUSABILITY. example where there is no procedural interface). It is
invoked only by the occurrence of interrupts in the
Encapsulation is a technique used to isolate some of computer’s circuitry. In essence, the interrupt handler
the decisions made in writing a program. To encapsulate is a section of code that is executable for anyone, but
decisions, a program is organized into an interface, such readable and writable only by authorized persons. En-
as a set of procedures, and an internal part. All access to capsulation of the interrupt code prevents inexperienced
the program’s services are available only through the or malicious programmers from corrupting it and allows
interface. As a result, programs that use those services often-used code to be developed once by those with
cannot reference variables internal to the program or the experience and knowledge to do it.
arbitrarily transfer control to its internal part. DAVID WEISS
Decisions that are typically encapsulated are the rep-
resentation of data, the way that hardware facilities are
accessed, and the way in which algorithms are im-
plemented. A typical entity suitable for encapsulation is ENIAC
an abstract data type, such as a stack (¢.v.). The program
that manages physical changes to the stack provides the For articles on related subjects see DIGITAL COMPUTERS:
interface to it. Programs that merely use the stack History: ORIGINS, and EARLY; ECKERT, J. PRESPER; and
(through execution of the familiar push-and-pop opera- MAUCHLY, JOHN W.
tions) cannot access the mechanisms and data structures
used within the encapsulated stack manager and need The ENIAC (Electronic Numerical Integrator and Com-
have no knowledge of those data structures and their puter) was developed at the Moore School of the Univer-
associated algorithms. sity of Pennsylvania in Philadelphia between 1943 and
One reason for encapsulation is to provide a mecha- 1946. It was the first electronic general-purpose automatic
computer, and it was certainly a landmark leading to the
nism for information hiding. If, for example, the storage
512
development of many automatic computer designs. The pulse widths about 2 ys. All logic was accomplished with
logical design of the system was based on the ideas of John direct-coupled vacuum tube circuitry.
Mauchly, and credit for the engineering goes to J. Presper As initially designed, programming was by patch
Eckert, Jr. Eckert and Mauchly were granted a patent onthe panel interconnection, with a wire being required for each
ENIAC in 1964. After a lengthy trial (Honeywell vs. Sperry event at each unit. Data paths were programmable, using
Rand), this patent was declared invalid on the grounds of 11 wire cables. The data paths were like a party-line
public use and publication more than one year prior to the telephone—many units could listen, but only one could
application date. (The ENIAC was demonstrated to the transmit. Various units could operate in parallel, being
public in February 1946 and the patent application was initiated from the same program signal and perhaps using
filed in June 1947.) The court further ruled that Eckert and distinct data paths. Interlocks were provided so that inde-
Mauchly did not themselves invent the automatic elec- pendent actions of indeterminate length (e.g. card read-
tronic computer, but instead derived that subject matter ing) could complete before follow-on actions were
from John V. Atanasoff (g.v.). Whatever the provenance of initiated. Signs of results could change the flow of control.
ideas between Mauchly and Atanasoff, it seems clear that The ENIAC was converted later to a card-pro-
Babbage (g.v.) invented the programmed mechanical gen- grammed computer. In this scheme, certain standard op-
eral-purpose computer, that Atanasoff invented the auto- erations were set up in the patch-panel wiring, and
matic electronic computer (though his work was little sequences of these macro operations were initiated from
known and made no contribution to the mainstream of the card reader.
computer development), and that the ENIAC was the first The ENIAC was designed to integrate ballistic equa-
programmed general-purpose electronic computer. tions, and a significant accomplishment at its dedication
The ENIAC was literally a giant. It contained more in February 1946 was the computation of the trajectory of
than 18,000 vacuum tubes, weighed 30 tons, and occupied a 16-in. naval shell in less than real time. ENIAC was
a room 30 by 50 ft. The computer consisted of 20 elec- formally accepted a few months after its dedication by the
tronic accumulators, multiplier control, divider and U. S. Army Ordnance Corps, but was still operated at the
square root control, input, output, two function tables, Moore School until late 1946, when it was dismantled and
and a master program control. Each accumulator could shipped to Aberdeen Proving Ground in Maryland. It be-
store, add, and subtract 10-decimal digit numbers. Two came operational again in 1947, and was operated until 2
accumulators could be interconnected to perform 20-digit Oct 1955 (Weik, 1961, p. 575).
operations. Addition and subtraction took 200 ys. Multi- The first significant computation on the ENIAC in-
plication involved six accumulators and took 2,600 ys. volved atomic energy. Since World War Il had ended, there
Decimal digits were stored in ten-stage ring counters, was no longer urgent need for the firing tables that had
and signed decimal numbers were transmitted in parallel motivated its design and the support of the Army Ord-
over 1] lines. Each digit was represented during transmis- nance Corps. Among the problems first computed on it, in
sion by a train of 0-9 pulses. Clock rates were 100 KHz and addition to those involving atomic energy, were random
ENTERTAINMENT INDUSTRY, COMPUTERS INTHE 513
number studies, roundoff error analysis, cosmic ray stud- programmed recording, and digitally enhanced images.
ies, thermal ignition, wind tunnel design, and weather Computer technology has also introduced digital audio
prediction. It was the major instrument for the computa- and video technologies that provide higher quality re-
tion of all ballistic tables for the U. S. Army and Air Force cordings. The new technology allows one to record de-
(Weik, 1961). sired material, to view it when desired, and to see it on
Aberdeen Proving Ground reported that during 1952 sets of very high quality. If that isn’t enough, there are
the “total machine time” for the ENIAC was 7,247 hr, now any number of home video games, also computer-
divided as follows: production, 3,491 hr; problem setup controlled. Computer-controlled video games are also
and code-checking, 1,061 hr; idle, 195.3 hr; scheduled popular in arcades and public entertainment centers (see
engineering, 651 hr; and unscheduled “engineering,” COMPUTER GAMES). Theme parks and other entertainment
1,847.8 hr. The major portion of the scheduled engineer- centers are using computer control in simulator rides, and
ing was preventive servicing, the remainder being for other forms of public entertainment and education, such
improvements and additions; 90% of the unscheduled as multimedia presentations, multi-projector slide pre-
engineering was devoted to locating and replacing defec- sentations, and multi-tube video displays, are also com-
tive tubes. During 1952, approximately 19,000 tubes were puter controlled.
replaced (more than 100% of the tube complement). For all the impressive advances in viewing and home
The ENIAC proved that, with careful engineering, it entertainment due to computer technologies, the most
was possible to build extremely complex logical devices impressive advances may be found in the material we see
that would perform at electronic speed, without error, for on the screen in the form of film and television program-
significant periods of time. This was the landmark leading ming. Computer control of traditional processes found in
to the development of many automatic computer designs, film and television production, as well as the develop-
and paving the way for the “computer revolution.” As ment of new techniques such as computer graphics has
modestly noted by the Ordnance Corps in Army Ordnance revolutionized this imagery. The impact of these technol-
(1946), the ENIAC “established the fact that the basic ogies may be seen daily in the world of video and televi-
principles of electronic engineering are sound.” It was sion, and truly amazing images are shown in feature films.
indeed “inevitable that future computing machines of this
type would be improved through the knowledge and ex- Computers in Feature Films Many applications
perience gained on this first one.” of computer technology in the film industry are similar to
Portions of the ENIAC are now in the Smithsonian those employed in any other business: word processing
Institution in Washington, DC. Other ENIAC materials are (q.v.), budgeting, and scheduling. One especially interest-
in the custody of the Historical Services Division of the ing application of computer technology, however, is in the
Department of the Army in Washington. creation of imagery. In 1968, Stanley Kubrick’s 200]: A
Space Odyssey helped reintroduce the world of special
References visual effects to the motion picture industry, and in 1977,
George Lucas’s Star Wars made such special effects a box
1946. U.S. Army Ordnance Corps. “Mathematics by Robot,” Army
Ordnance XXX, 156: 329-331 (May-June).
office hit. This increased emphasis on visual effects
1950. Stifler, W. W., Jr. (Ed.). High Speed Computing Devices. New spawned a new generation of effects techniques based on
York: McGraw-Hill. the application of computer technology.
1961. Weik, Martin H. “The ENIAC Story,” Army Ordnance XLV, Design of visual effects begins with the storyboard,
244: 571-575 (January-February). created from descriptions in the shooting script and con-
1974. Larson, Earl. “Findings of Fact, Conclusions of Law and versations with the film’s producer or director. The story-
Order for Judgement, U. S. Patent Quarterly 180 (March 25), board is a visual reference of a proposed shot for all
673-773. j members of the filmmaking team (see Fig. 1). The story-
1981. Burks, Arthur W. and Alice R. “The ENIAC: First General-Pur-
board is traditionally hand drawn by an artist and in-
pose Electronic Computer,” Annals of the History of Comput-
cludes background and effects elements. Storyboards
ing, 3, 4, 310-399 (October).
often use background and foreground elements that are
HAarrY D. HUSKEY scanned into a computer and combined digitally. This
composite image may then be further manipulated or
drawn on by the storyboard artist to complete the
boards. As technology and software develop, producing
ENTERTAINMENT INDUSTRY, the storyboard on computers will become a more com-
COMPUTERS IN THE plete process, enabling the storyboard artist to produce
precise renditions of shots, thus further helping the direc-
For articles on related subjects see COMPUTER ANIMATION; tor to visualize a scene.
COMPUTER ART; COMPUTER GAMES; COMPUTER GRAPHICS; and Production of visual effects has centered around a
IMAGE PROCESSING. few core techniques. They include motion control, anima-
tion, model building, creatures, and optical compositing. Of
Introduction Computer technology has revolution- these techniques, motion control, animation, creatures,
ized what is known as entertainment. In the home, video and optical effects have advanced rapidly since the intro-
cassette recorders and televisions grow more powerful duction of computer technology.
due to computer assistance, providing multiple windows, Motion control enables the filmmaker to move the
514 ~~ ENTERTAINMENT INDUSTRY, COMPUTERS IN THE
FIG. 10. A computer graphics animator examining a facial FIG. 12A. Stages in the development of a computer graphics
model from The Abyss. Copyright © 1990 LucasArts Entertain- element for the film The Abyss. The final element, the pseudo-
ment. All rights reserved. Courtesy Industrial Light & Magic. pod, was either digitally or optically composited into the final
scene. Copyright © 1990 LucasArts Entertainment. All rights
reserved. Courtesy Industrial Light & Magic.
no other shortcuts. Other systems attempt to save the
animator time by computing in-betweens and controlled
movement of elements, the camera, or effects such as video game industry, developing technology is continu-
fades and dissolves. ally revolutionizing the look of what we see. The develop-
Three-dimensional computer animation is different in ment of workstations (g.v.) and more powerful personal
that computer models (numerical descriptions) are built computers (q.v.) has assisted the development of more
and animated, and a synthetic camera (also a numerical realistic imagery.
description) generates the resultant images (see Fig. 10). Current uses of computer graphics in film range from
The computer models used range from very simple the generation of creatures and synthetic environments
spheres and corporate logos to very complex models of to invisible uses such as digital compositing (see Fig. 12),
working machinery. Animation also ranges from simple reduction of film grain, and the removal of unwanted
object and camera moves to simulation of natural phe- objects from a scene (see Fig. 13, color insert page CP-7).
nomena and highly artistic character animations (see No feature length film to date has been made solely with
Fig. 11). These animations may be used as a method of computer graphics, but many short subjects have been
previewing a scene, as an animated storyboard, as a guide created in this way.
for traditional animators, to show perspective and guide
motion, or as the final imagery itself. References
Computer graphics in television runs the gamut from
1969. Miller, Arthur, ASC, and Strenge, Walter, ASC. American
high-end effects and commercials through national logos Cinematographers Manual. Hollywood, CA: The ASC Press.
and station identifications to low-end “visuals.” As in the 1983. Fielding, R.A Technological History of Motion Pictures. Berke-
ley, CA: University of California Press.
FIG. 11. A holographic shark prepares to attack Michael J. Fox FIG. 12B. The pseudopod as seen in The Abyss, winner of the
in Back to the Future, Part 2. Copyright © 1989 Universal City 1990 Academy Award for Best Visual Effects. Copyright © 1989
Studios, Inc. All rights reserved. Courtesy Industrial Light & Twentieth Century Fox Film Corporation. All rights reserved.
Magic. Courtesy Industrial Light & Magic.
ENTREPRENEURS 517
lin formed Software Arts in January 1979. At its peak the the ERA 1101. Cray had unusual aptitude in circuit analy-
company was worth more than $50 million. A lawsuit sis, logic, and software design. He was noted for the
between Fylstra’s distribution company, VisiCorp, and foresight, knowledge, and confidence to work alone.
Bricklin’s Software Arts delayed the sale of the company ERA eventually became Sperry-Rand, for whom Cray
and ultimately kept Bricklin from realizing his fortune. worked on the Univac 1103. But, since he perceived that
The spreadsheet has changed the way that business Sperry was more interested in computer sales than com-
does business. But something in the entrepreneurial mind puter power, he left Sperry in 1957 to join his friend
does not harken well to authority. Despite attractive of- William Norris who had founded Control Data Corpora-
fers to work for others, Dan Bricklin struck out on his own tion (CDC - g.v.). Though vacuum tubes were then still in
again. His new company, Dan Bricklin’s Software Garden, vogue, the first CDC product, the CDC 1604, was one of the
markets a program for on-screen demonstration and first transistorized computers. Soon, Cray was given free
training of software products developed by others. It is a reign to design supercomputers, which was all he ever
small operation run out of his home. really liked to do. Largely on the strength of his designs,
CDC showed a profit after only two years in business. Cray
Nolan Bushnell Nolan Bushnell was born in would eventually tire of administrative duties and retire
Clearfield, Utah in 1943 and grew up a tinkerer and a lover to the solitude of a specially built laboratory on family
of all things electrical. His mother would not enter his land in his home town of Chippewa Falls. Proud of having
bedroom for fear of being electrocuted. Bushnell is the banished telephones from his laboratory, he designed the
father of the arcade computer game (g.v.). He took the CDC 6600, the most powerful computer of its time. A
simplest graphic concept, two bars and a dot, added the typical CDC 6600 sold for $7.5 million. He went on to
most rudimentary sound effects and a scoreboard and let design the CDC 7600 and 8600, but the latter was never
people play table tennis on a TV. Bushnell showed how built, as CDC began to emphasize commercial rather than
painlessly America could be separated from its loose scientific computer sales.
change. In 1972, Cray struck off on his own and founded Cray
In 1972, Bushnell parlayed $500 into the Atari Corpo- Research. Dedicated entirely to supercomputers, Cray
ration, a computer and video game giant that he would Research raised needed capital solely on the reputation
ultimately sell for $28 million dollars. Using his newfound of its founder. With not a single product in inventory, no
fortune, he developed a chain of pizza parlors where sales, and no earnings, Cray was able to sell 600,000
people would while away the time usually spent waiting shares of stock and realize 10 million dollars to capitalize
for food by pouring quarters into computer video games. his new enterprise. He shipped the Cray-1 to Los Alamos
Bushnell showed that game software could sell hardware National Laboratory in 1976. The first practical vector
to mainstream customers far better than any salesperson. processing supercomputer, the Cray-1 epitomized Cray’s
He eventually tired of the fast-food business, but not emphasis on design and layout to achieve performance.
before pocketing an additional $50 million. His idea for a The computer’s cylindrical design allowed short wiring
simple and inexpensive computer game that could be paths and a clock speed of 12.5 nanoseconds.
played in bars as well as at home had to wait for the With the Cray-2 that followed, Cray Research became
development of the microcomputer chip (g.v.). His dream comfortably profitable. Tiring once again of administra-
would not prove economically feasible until large-scale tive work, Cray turned over the administration to others
integration made the component count very small and the and became the sole head of research and development
price tag reasonable. for his company, the role he loves best.
Bushnell provided one of the gateways for the entry
of personal computing into the home of the average per- Maryléne Delbourg-Delphis Maryléne Delbourg-
son. Games became an excuse to compute. He is still in Delphis, born in France, is president and CEO of ACIUS,
the business of packaging computers and fun. Robots, Inc., the largest independently owned software company
talking stuffed animals, better TV resolution, and even in the U.S. An ex-journalist, she has written for such
computer maps for electronic navigation in automobiles French publications as Vogue and Le Monde, once taught
are some of his current projects. philosophy, and has written several books on nineteenth
century social history.
Seymour Cray Because he designed so many of Delbourg-Delphis’s interest in computing stems from
them, Seymour Cray is considered the father of the super- a 1983 assignment that called for the writing of a history
computer (q.v.). Able to perform billions of floating-point of the French perfume industry. Needing to analyze data
operations per second (“gigaflops”), these “dumb things,” on over 6,000 perfumes, she sought the help of a Paris
as Cray calls them, are essential for the complex comput- service bureau where she met programmer Laurent
ing needs of modern society. Government, military, and Ribardiére. The bureau folded, and since she felt that no
educational research institutions rely heavily on the mas- existing database product could serve her needs, she
sive computing power these machines provide. proposed to Ribardiére that if he would write a suitable
Born in Chippewa Falls, Wisconsin in 1925, Cray was program to her specifications she would see that it was
educated as an electrical engineer and did advanced grad- marketed properly. After naming their fledgling company
uate work in applied mathematics. He worked for Engi- ACI—letters having no admitted meaning—they sold
neering Research Associates (ERA) and set to work 300,000 copies of their first Macintosh product, an ad-
building the first scientific computer worthy of the name, vanced relational database called 4th Dimension (4D). At
ENTREPRENEURS 519
the opposite end of the scale, their entry-level database In 1975, while a freshman at Harvard, he was struck by
FileForce was also highly successful. the cover article in Popular Electronics about the MITS
In 1987, Delbourg-Delphis and Ribardiére established Altair home computer (see DiGITAL COMPUTERS: HISTORY: PER-
ACIUS (ACI-US) in Cupertino, California, one of the few SONAL COMPUTERS and PERSONAL COMPUTING). He recognized
French-owned computer firms in Silicon Valley. ACI (and immediately that these computers would need software
ACIUS) specializes in developing multi-lingual documen- and that much money could be made writing it. Along with
tation for its products, with Delbourg-Delphis herself me- his friend Paul Allen, he developed a full-featured Basic
ticulously supervising preparation of documentation language interpreter that required only 4K of memory.
customized to each of the many countries in which ACI Basic made the Altair an instant hit, and in 1977 Allen and
does business. To supervise her growing company, whose Gates formed the Microsoft Corporation.
1990 sales exceeded $13 million, Delbourg-Delphis now Apple, Commodore, and Radio Shack all introduced
spend 60% of her time in the United States and 40% in computers with Microsoft software. Gates’s big break
France. At the time of this writing (1992), she had no plans came when IBM decided to enter the personal computer
to take her company public and hence has not yet real- business. IBM’s initially secret personal computer effort
ized a windfall comparable to most of the other computer was called Project Chess. Sworn to secrecy that other
entrepreneurs. But she is still young. firms had rejected, he convinced IBM that his small com-
pany could write an operating system from scratch that
Michael Dell Michael Dell, the youngest of the 19 would take advantage of the disk drives and other periph-
entrepreneurs profiled in this article, was born in Hous- erals that IBM had planned. Gates also convinced IBM to
ton, Texas, in 1966. He is founder, chairman of the board, make the machine specifications public as part of an open
and CEO of Dell Computer Corporation of Austin, Texas. architecture (g.v.). This single decision may have been
He started his company in 1984, capitalizing it with $1,000 responsible more than any other for the phenomenal suc-
of personal savings, by building and selling computers cess of the IBM-PC and PC-compatibles (g.v.). Microsoft’s
out of his University of Texas dormitory room. operating system, MS-DOS, and its applications software
Dell’s premise was that high-quality IBM-PC compati- are at the heart of almost all of the hundreds of compatible
ble computers could be sold exclusively through mail designs that have emerged since the introduction of the
order, eliminating the overhead necessarily incurred by original PC.
computer stores. By undercutting the prices of rivals Much to the chagrin of his parents, Gates dropped
such as IBM itself and Compaq, he managed to earn a out of Harvard to pursue his software development
modest but profitable share of the PC marketplace. By dreams. Unlike several of the other entrepreneurial sto-
1987, three years after its founding, Dell Computer’s sales ries, there has as yet been no downside for Microsoft.
were $69.5 million. In 1990, annual sales reached $546 Gates holds Microsoft shares worth over a billion dollars.
million, making the company one of the ten largest pro- When he took Microsoft public in 1986, he was only 31.
ducers of PCs in the United States. The company’s prod-
uct line is being diversified to include notebook and Steven Jobs Orphaned shortly after birth some
desktop computers, workstations (q.v.), and network file where in California in 1955, Steve Jobs was adopted and
servers (q.v.). raised in Los Altos. His interest in electronics started in
Dell’s interest in computing began with exposure to high school. He begged for parts for his projects, even
programming in junior high school in Houston. After going so far as to ask William Hewlett, president of
acquiring an Apple II of his own, he became fascinated Hewlett-Packard, for those he needed to build a frequency
by its communications capabilities and developed and counter. His boldness earned him a summer job at H-P.
operated his own bulletin board (q.v.) system. To this Jobs and his friend Steve Wozniak, an electronic wizard
day he enjoys browsing and contributing to such com- who worked for H-P, built a single board computer from
mercial systems as CompuServe, which he monitors in inexpensive and readily available parts in Jobs’s garage.
order to sample the degree of customer satisfaction with Up until that time, only computer kits were available
Dell products. Those who note that his biographical and hence only electronics hobbyists had computers. But
sketch is somewhat shorter than those of the other 18 Jobs supplied fully assembled computers to the
entrepreneurs profiled should realize that (as of 1992) Homebrew Computer Club. Using money from the sale of
he is only 26. his Volkswagen and Wozniak’s programmable calculator,
they built 50 computers in 29 days and sold these “Apple
William Gates As president and CEO of Microsoft, I’s, as they called them, to the BYTE Shop in Mountain
the powerful and influential microcomputer software View, California. During the early 1970s, Jobs worked for
firm, Bill Gates is the computer industry’s youngest bil- Nolan Bushnell at Atari designing video games. By 1976 he
lionaire. Born in 1955 in Seattle, Gates was a most preco- had talked Wozniak into leaving H-P and forming Apple
cious teenager. Mischievous and a devoted hacker (¢.v.), Computer (g.v.). From the day it opened for business in
he knew how to make computers work and make money 1977, Apple prospered and quickly grew into a multi-mil-
at it as early as age 15. A system he designed for traffic lion dollar company. At one point, Jobs’s stock was esti-
control earned $20,000 for his fledgling company, Traf-O- mated to be worth $400 million.
Data. He dropped out of high school for a year to make Jobs had discovered that a computer in every home
$30,000 working for TRW and bought a speedboat with was not such a crazy idea. More than 2 million Apple II
the money. computers were sold. The introduction of VisiCalc whet-
520 ENTREPRENEURS
ted the appetite of the business world for these little my letterhead, people would return my calls.” But when
machines. the real MIT threatened to sue, Kahn changed the name to
But IBM proved a more formidable opponent than Borland. Sometimes he says that the name is meaningless;
Jobs had envisioned. When sales of Apple computers other times he says that it is a play on the name of former
dropped off after the introduction of the IBM-PC, Jobs astronaut Frank Borman, or that it is Celtic for “deep
turned his attention to a new and innovative technology forest.”
that ultimately resulted in the introduction of the Macin- When Kahn overstayed his initial visa and thus be-
tosh. came an illegal alien, someone reported this to the Wall
Soon after Jobs hired John Sculley from Pepsi-Cola to Street Journal, who did a feature story on his dereliction—
manage Apple, the two had a falling out. Brash, abrasive, just as he received the green card from U.S. Immigration
stubborn, hardworking, and intelligent were words vari- that granted him resident alien status.
ously used by Sculley loyalists to describe the young By 1988, Borland had 350 employees and its stock
entrepreneur. Jobs left Apple under less than desirable was being traded publicly on a London exchange. By 1990,
circumstances in September 1985. He sold all but one its sales had reached $226 million and Kahn was being
share of his Apple stock, realizing a profit of hundreds of paid $1.6 million per year exclusive of stock options. In
millions of dollars. He used part of the proceeds to fund a 1991, through a swap of stock valued at $440 million,
new company, NeXT, Inc., and part to purchase Pixar, Borland acquired rival Ashton-Tate and its large base of
Lucasfilm’s computer graphics division. He is now build- customers for its dBase products. That product line plus
ing workstations (g.v.) for university and business envi- Borland’s own database product, Paradox, now give Bor-
ronments, where a premium is placed on ease of use and land three-fourths of the microcomputer database mar-
high-quality graphics. ket. Other popular Borland products include Sidekick, a
There can be no doubt that the Apple I spawned the pop-up calendar and calculator, the Quattro-Pro spread-
home computer revolution and gave vision to a host of sheet and compilers for Basic, Prolog, C (g.v.), and C++.
entrepreneurs. It was Jobs, however, who got there first. Kahn runs Borland much by remote control from his
The world will never be the same because of the chances 40-acre estate in the mountains overlooking Scotts Valley.
he took and the ideas he unleashed. He plays the saxophone at company toga parties, but is
also proficient in flute, guitar, piano, and drums. Since he
Phillipe Kahn Phillipe Kahn, founder, president, and frequently loses his driving license because of too many
CEO of Borland, Inc., was born in France in 1952. Although speeding tickets, he spends much time racing sailboats
little has been published regarding his education and and still holds a share of the record for the fastest time
early years, he was sufficiently credentialled to have been from San Francisco to Hawaii. And no one is likely to break
teaching math at the University of Grenoble in 1981. He his record of going from math teacher in France to head
and some friends who liked to write software for the Apple of one of the four largest U.S. software firms in nine years.
Il had developed a very fast Pascal compiler that Kahn
decided to market. Noticing that most successful U.S. Mitchell D. Kapor Born in Brooklyn in 1950, Mitch
computer firms had addresses in Silicon Valley, Kahn Kapor is a former Yale University student of linguistics
moved to Scotts Valley, California, in 1982. He made a who along with Jonathan Sachs brought the most suc-
concerted effort to shed his French accent by listening to cessful software product of all time to the microcomputer
talk radio and trying to talk Texan. world—the Lotus 1-2-3 spreadsheet program. Kapor
The venture capitalists whom Kahn approached started as a child of the 1960s, lover of the Beatles, and
shunned him, possibly because his management team protester of the Vietnam War. In the 1970s, he worked as
included a former manager of a Japanese restaurant, a a disk jockey, taught transcendental meditation, and
salesman for Campbell Soup in Mexico, and a cocktail earned a master’s degree in psychology.
waitress. So, with little or no capital, he rented atwo-room The success of the earlier VisiCalc led to a growth
$600/month office over a Jaguar garage, took orders by industry in marketing the product. In the early 1980s,
day, and shipped by night. Until that time, the most pop- Kapor was selling the related products VisiPlot and
ular version of Pascal was UCSD Pascal. That product was VisiTrend under a royalty arrangement. It was clear to
noted for portability, but not for speed; compilation pro- Kapor that as spreadsheets, word processors, and other
duced an intermediate “p-code” language that was then applications software were gaining in popularity, users
interpreted. Kahn’s compiler, now rewritten for IBM-PC wanted to take the output from one program and pass it
compatibles, compiled directly to machine language and on to another. The original idea behind 1-2-3 was to inte-
was startlingly fast with regard to both compilation and grate the operation of a spreadsheet, a graphics program,
execution of generated code. Most orders for this “Turbo and a word processor. Sachs suggested that a database
Pascal” came from an ad in Byte magazine, whose sales- management program (DBMS - g.v.) would be easier to
man, spellbound by Kahn rhetoric, agreed to run the ad write than a word processor and would be more useful.
on credit. His ad was bound to catch the reader’s eye, The product, starting as Tiny Troll but renamed 1-2-3 at
since it promised (and he delivered) a breakthrough prod- Kapor’s suggestion, was originally supposed to be a pro-
uct at the then unheard of price of $49.95, one-sixth of the gramming language with a spreadsheet capability. Kapor
going rate for a good language compiler. realized the marketing problems that this would pose, so
Initially, Kahn’s company was called MIT: Market In the programming language was disguised as a macro ca-
Time. “I noticed,” he said, “that if ]had the MIT initials in pability in order to emphasize the spreadsheet. Sachs did
ENTREPRENEURS 521
the programming and Kapor the marketing, and together and the other would be coded into a read-only memory
they founded the Lotus Corporation, the most successful (ROM - g.v.) chip and contain vendor-specific code. In
single-product company in the microcomputer universe. effect, Gary Kildall was the inventor of the BIOS ([email protected].)
Kapor had seen the needs of the business community concept.
and met them head on. His $495 Lotus 1-2-3 product sold By 1981 sales reached $5.3 million and later peaked
almost half a million copies in a few short months. While to almost $45 million. Kildall was doing well, but events in
Lotus has diversified, it is still primarily dependent on the 1981 conspired against him. IBM was looking for the
income from 1-2-3. Kapor had made promises to investors rights to CP/M for its new and secret PC. They ap-
about the software with great confidence, and his instinct proached William Gates, founder of Microsoft, in the mis-
turned out to be correct. Users wanted an easy way to taken belief that he owned the rights to CP/M. Gates sent
produce documents with pictures without learning two them off to see Kildall, who happened to be out of the
pieces of software. office on the fateful day. In his stead, another corporate
Like many gifted entrepreneurs, it is the founding of officer balked at the terms of a proposed IBM non-disclo-
the enterprise and not its daily management that keeps sure agreement that essentially would have allowed IBM
the adrenaline flowing. Kapor tired of Lotus by the sum- to use whatever they learned from the experience, but
mer of 1986 and moved on to establish ON Technology of permitted Digital Research to disclose nothing. IBM went
Cambridge, Massachusetts, which aims to build comput- back to Gates who said he could develop something and
ers that are closer to being intelligent assistants than they would be happy to sign the non-disclosure agreement.
are to being merely powerful calculators. He left Lotus a Digital Research had missed a billion dollar opportunity,
multi-million dollar international enterprise and a major and MS-DOS became the primary personal computer op-
force in the microcomputer marketplace. erating system of the 1980s. Because of its similarity to
CP/M, Kildall believes to this day that there is a great deal
Gary A. Kildall Gary Kildall founded Digital Re of CP/M in MS-DOS.
search and was the developer of CP/M, the world’s first Kildall currently works on projects involving optical
disk operating system for home computers. He was born disk publishing for his new company, the KnowledgeSet
in 1942 in Seattle, the son of a merchant marine barge Corporation. He can also be seen as a regular on the PBS
captain, and began tinkering with automobiles and elec- series The Computer Chronicles.
tronic devices while still in high school. He began working
at the family-operated Kildall Nautical School, estab- William H. Millard William Millard developed and
lished in 1927. While teaching there, he used early micro- marketed the IMSAI 8080 home computer and established
computer devices to develop ways to compute naviga- the first chain of retail computer stores, eventually to be
tional triangle solutions. Later, he earned degrees in math- known as Computerland. Millard was born in Denver in
ematics and computer science, finishing his Ph.D. in com- 1932 and moved with his parents to the West Coast four
puter science at the University of Washington in 1972. years later. He worked at a wide variety of jobs as a youth,
The first rudimentary computer kits were only a year many involving door-to-door sales. He started but did not
or two away from hitting the hobbyist market. Kildall finish college. He was a driven, hardworking man who
began programming navigational applications on the Intel soon became interested in mainframe computers. While
4004 chip and exchanged the programs he developed for working for Pacific Finance he worked on only the 26th
a prototype personal computer called the Sim-04. He was UNIVAC mainframe ever built and took an instant liking to
one of the first persons to own a microcomputer. One of the machine. In 1961, he became the first chief of data
the first programs he developed was PL/M, a Program- processing for Alameda County, California. He was instru-
ming Language for Microcomputers that would allow him mental in the development of terminal-based information
to do the kinds of tasks that an operating system is systems for municipalities. After repeating his success in
expecied to perform. PL/M was used to create CP/M (Con- developing Management Information Systems (MIS - g.v.)
trol Program for Microcomputers), which had as its prin- for the City of San Francisco, Millard set out to do busi-
cipal feature the ability to write and read information to ness on his own. In 1969, he and his wife Pat formed
and from a disk drive. CP/M was the first practical operat- Systems Dynamics and began marketing telecommunica-
ing system for personal computers. Kildall began selling tions software. By May 1972, the firm was bankrupt. By
the program by mail for $75 through ads in Dr. Dobb's 1975, he was broke.
Journal. Just at the time the home computer was emerging,
In 1976, Kildall established Intergalactic Digital Re- Millard formed Information Management Sciences and
search, a name that he soon shortened to Digital Re- began marketing the IMSAI 8080 computer in kit form.
search, Inc. CP/M quickly became the most popular From just one ad in an electronics magazine, he sold
operating system and dominated the market through the almost 3,500 kits at prices between $400 and $500. Millard
1970s. Hundreds of different machines ran CP/M. Each decided to offer the machines in assembled form in 1976.
had to use a modified form of the operating system that He opened a computer store in Hayward, California and
took advantage of the non-standard way in which periph- called it Computer Shack. After complaints from lawyers
erals and their bus (g.v.) were addressed. Kildall con- at Radio Shack, he changed the name of his store to
ceived of the idea of separating CP/M into two Computerland and began selling franchises, allowing indi-
components: one would contain that portion of the oper- viduals to own their own stores.
ating system that was the same from machine to machine, Millard soon decided that, contrary to the practice at
522 ENTREPRENEURS
competitive stores, he would sell other computers in of the St. Paul division after the merger in 1955 with
addition to his own, a fateful decision. In 1977, he began Sperry, he headed the Univac division of Sperry-Rand.
selling the Apple II. In 1981, when IBM introduced its PC, IBM had still not made a major commitment to building
Computerland had exclusive resale rights for six months. computers, and Norris felt Sperry-Rand_ should. He tried
Growth was phenomenal. Business doubled each year, to push in that direction, but to no avail. Highly frustrated,
and by 1983 Computerland was doing $983 million in he left in 1957 with eight colleagues to pursue the oppor-
sales, with each outlet averaging $2 million. Millard still tunity to make big machines. He formed Control Data
owned 96% of the stock and had no intention of taking the Corporation, using $75,000 of his own money and
company public. Bad experiences with previous enter- $615,000 raised from a large group of friends. He would
prises had convinced him to retain control. However, it publicly finance his new company from day one. None of
was one of his previous entanglements that would ulti- the 300 stockholders had controlling interest, not even
mately prove his undoing. IMS had taken out a five-year Norris. He yearned to take on IBM. His shrewdest move
loan for $250,000 in 1976 from Mariner Company, owned was to hire Seymour Cray from Univac and give him the
by the family of Phillip Reed III]. The loan contained an creative freedom and solitude he required. Cray’s creative
obscure clause allowing Reed Mariner to convert the note mind produced some of the most powerful machines ever
into 20% of the stock in any enterprise that Bill Millard developed. CDC quickly became the industry leader in
might start. Millard was offered the opportunity to buy powerful machines for scientific, military, and engineer-
back the note for $300,000. In characteristic fashion, he ing work. By 1959 CDC had sales of $4.5 million, and a year
stubbornly refused. This would ultimately cost him in later sales would exceed $28 million. Success was based
excess of $140 million and his stake in Computerland. primarily on the CDC 1604 mainframe and, later, its suc-
By July 1986, Millard had left the U.S. to live on the cessor, the CDC 3600. In the mid-1960s, the CDC 6600
Pacific island of Saipan in the Marianas with his family. He supercomputer was recognized as the computer marvel
is not retired, but is investigating markets around the of the age. CDC followed with the 7600 and then the Cyber
Pacific Rim. Millard created the concept of marketing series. One triumph followed another. By 1965, only two
computers directly to business and consumers and more computer companies were operating in the black—CDC
than any other individual was responsible for putting the and IBM. In 1968, when IBM announced its intent to add
new technology within the practical grasp of the con- an allegedly powerful model 360/80 to its 360 series line,
sumer. sales of the 6600 dropped precipitously. Norris accused
IBM of unfair business practices for announcing computer
William Norris Iconoclastic and unconventional, models far in advance of their realization. Norris saw
William Norris was the founder of Control] Data Corpora- these as tactics designed to hurt sales of his machines. He
tion (g.v.), makers of some of the most powerful main- took IBM to court and won. He realized more than $100
frame and supercomputers of its era. million dollars in the suit and became a hero to all of IBM’s
William Norris was born in 1911 in Red Cloud, Ne- competitors.
braska. Like many of the early computer pioneers, he had Norris used the proceeds of his successful suit to
an interest in electronics and amateur radio. He was expand the former IBM Service Bureau, ceded to CDC in
granted a degree in electrical engineering from the Univer- the settlement. The Bureau allowed people who couldn’t
sity of Nebraska soon after the death of his father in 1932. afford a whole machine to buy slices of time as needed.
After working the family farm for a few years, he went to CDC ran one of the first time-sharing services and became
work for Westinghouse selling X-ray equipment. After the world leader in peripheral manufacturing through the
Pearl Harbor was attacked, he joined the Navy and 1970s. Ironically, most such devices were plug-to-plug
worked with mathematicians, physicists, and engineers compatible peripherals used with IBM mainframes.
from the scientific and academic community to apply The 1980s saw the departure of Seymour Cray and
recent electronic advances to the breaking of Japanese the emergence of the personal computer, a market in
codes. He rose to the rank of Commander. which CDC completely missed out. During 1985 alone,
At the end of the war, with the Navy reluctant to CDC lost $567 million. Criticism focused on Norris and his
disband its code breaking group, Norris suggested form- expensive Plato educational project. Norris stepped
ing a company to continue the work. Despite the secret down in January 1986.
nature of the work, he rounded up a number of investors Norris played a critical role in the development of
and formed Engineering Research Associates in 1946. high-speed powerful machines at a time when the indus-
With himself as vice-president and John E. Parker as pres- try might have concentrated on making merely profitable
ident, ERA concentrated on making high-speed digital machines. Were it not for CDC, America’s preeminence in
electronic equipment and had revenues of $1.5 million the the computer field might not have come to pass and IBM
first year. ERA quickly earned a reputation for building might have come closer to building a true monopoly.
reliable equipment and delivering it on time. But then
president Parker decided to sell ERA to James Rand, head Robert Noyce Robert Noyce was a co-inventor of the
of Remington-Rand, for $1 million, 85 times its original integrated circuit and founder of the Fairchild Semicon-
worth. ERA was rich in talent and by 1952 had built over ductor and Intel Corporations. The integrated circuit has
80% of all American-built electronic computers. been the basic building block of all computing devices
Norris continued to work for Remington-Rand, but since the early 1960s. This was the most important devel-
felt troubled by the lack of support. Named vice-president opment in technology during the twentieth century.
ENTREPRENEURS 523
Noyce was born in Burlington, Iowa, in 1927. Fond of to foster cooperation among semiconductor companies
tinkering at an early age, he studied physics at Grinnel and the U.S. government, in order to increase competi-
College. After graduating in 1949, he went on to a Ph.D. in tiveness in manufacturing. When a search committee that
physics from M.LT. in 1953. He then joined the Philco he chaired failed to identify a suitable candidate for CEO,
Corporation, but soon became frustrated with their seem- he agreed to accept that position himself.
ing lack of interest in the transistor. He joined Nobel Noyce loved scuba diving, hang gliding, and piloting
Laureate and inventor of the transistor, William Shockley, his own airplane. On the afternoon of 3 June 1990, he was
in 1956 and moved to what would become known as scheduled to pick up a new jet capable of flying nonstop
Silicon Valley. Shockley’s management style and his con- from his home in Austin, Texas to either Washington, D.C.
centration on diodes to the exclusion of transistors led or Silicon Valley. But he died that morning.
Noyce to leave Shockley’s employ. Along with a group of
other former Shockley scientists and with funding from Kenneth Olsen Kenneth H. Olsen is the founder of
Fairchild Camera and Instrument, he formed Fairchild Digital Equipment Corporation (DEC - q.v.), the second
Semiconductor in 1957. Fairchild Camera provided fund- leading manufacturer of computer equipment in the
ing with an option to buy the new venture for $3 million world. He broke the mainframe’s dominance of the market
at any time during the next eight years. during the 1960s when he introduced a line of powerful
It was while at Fairchild that Noyce developed the minicomputers (g.v.) which were much less expensive
process of making multiple transistors along with wiring than mainframes.
and other components on a single layer of silicon. The Olsen was born in 1926 in Bridgeport, Connecticut.
planar process, which he developed, made it possible to He served in the Naval Reserve during World War II,
make components small, light, fast, inexpensive, and in completing bachelor’s and master’s degrees in electrical
fewer steps. The Russians had just launched Sputnik, and engineering at M.IL.T. after the war. During the early 1950s,
the Kennedy administration was eager to boost America’s he worked at the M.I.T. Lincoln Laboratory. He was in-
prestige in science. The government became Fairchild’s volved in the development of the Whirlwind (qg.v.) com-
best customer. Since Fairchild components were at the puter, one of the first to abandon vacuum tube storage in
heart of all Apollo spacecraft and Minuteman II missiles, favor of magnetic ferrite cores. He also worked on the
Noyce had created a whole new industry. SAGE military project.
By 1968 Noyce was a millionaire, but just barely. When Olsen left M.I.T. in 1957 to form DEC, he had a
Defections from Fairchild to other Silicon Valley startups great deal of computer experience and he knew what engi-
were cutting into Fairchild’s business. Noyce left in June neers and scientists wanted from a computer company. He
1968 to begin a new venture over which he could have set out to build small, powerful, and relatively inexpensive
more control. minicomputers and sell them in the scientific and engi-
Although Jack Kilby is also credited with being a neering market. His sales force, who were not paid com-
co-inventor of the integrated circuit because of indepen- missions, was made up of engineers who would sell face to
dent work done at Texas Instruments, Noyce had some 12 face to other scientists. It was a controversial concept, but
integrated circuit patents to his credit when he formed remarkably successful. His first computer sold for $20,000
Intel in 1968. Along with Gordon Moore and Andrew in 1960, a full $900,000 less than a comparable mainframe.
Grove, who followed him from Fairchild, he set out to His PDP-series machines would also allow direct access by
make memory chips. Core memory manufacturing disap- terminal or teletype, signaling the beginning of the end for
peared virtually overnight. Intel’s first chip was the 1103 punched cards. He plowed large sums of money into re-
RAM chip. Sales reached $23.4 million by 1972. After search and development, which led to DEC having one of
Intel’s Ted Hoff developed the microprocessor, Intel’s the widest variety of products of any company in the indus-
stock tripled in value in two years. Sales reached $66 try. Its products were well built, well supported, current,
million by 1978 as microprocessor and memory chip or- practical, and well received. He took a decentralized ap-
ders poured in. By 1982 Intel could claim 16 of the 22 proach to management and allowed his designers to work
major breakthroughs in microelectronics technology. on all phases of computer development and to participate
Even today, almost every personal computer contains actively in product development decisions.
chips made or inspired by Intel. By the tenth anniversary The PDP series of computers paved the way for
of its founding, Intel sales had reached $300 million. smaller machines and legitimized the minicomputer busi-
As Intel entered the 1980s, Noyce became known as ness. By 1985, DEC sales reached $6.7 billion. DEC phased
the “Mayor of Silicon Valley.” As the founder and the spirit out the era of huge, intimidating machines stored in glass-
of Intel, the flagship company of the valley, he was the enclosed, air conditioned boxes communicating only
region’s elder statesman and eloquent spokesman. In through skilled attendants. The minicomputer was the
1980, he was awarded the National Medal of Science and next necessary step toward the evolution of computing
three years later was inducted into the National for the masses.
Inventor’s Hall of Fame. Unlike many entrepreneurs, Olsen stayed with the
Intel sales reached $1.3 billion by 1985. Though no company he started for more than 33 years but he an-
one dared estimate the size of Noyce’s fortune, the size of nounced his retirement as chairman in 1992. Though an
his contribution to the computer industry cannot be over- engineer at heart, he was a creative and effective man-
estimated. In 1988, he played a prominent role in the ager—a rare quality for the engineer/entrepreneur. His
formation of the Sematech Corporation, a unique attempt egalitarian style of management was popular with his staff
524 ENTREPRENEURS
and made DEC one of the most productive and stable million in debts, the Osborne Computer Company de-
forces in the marketplace. clared bankruptcy in September 1983. Ever the author,
Osborne wrote about the experience in the book
Adam Osborne Adam Osborne is the founder of Hypergrowth, which he co-authored with fellow guru John
Osborne Computer Company, the manufacturers of the Dvorak.
world’s first portable computer (see LAPTOP COMPUTER). By Spring 1984, Osborne was back in the publishing
The Osborne | was also the first computer to be sold with business. With $150,000 of his own money and sales of six
several software packages bundled into one price. million shares on the penny stock market, Osborne raised
Osborne was born in 1939 in Thailand to British par- more than a half million dollars, largely on his reputation
ents and spent some of his childhood in India. He moved to and the slightness of the risk. He formed his Paperback
Great Britain at age 11 and graduated from Birmingham Software and is dedicated to publishing inexpensive soft-
University in 1961 with a bachelor’s degree in chemical ware packages in the hopes that many copies of low-priced
engineering. By this time he had developed an interest in software will realize larger gains than small quantities of
writing. He moved to the United States and worked while high-priced software. It is also his intention to bring soft-
completing his Ph.D. in chemical engineering at the Univer- ware prices into line with the cost of agood book.
sity of Delaware. He used a computer to shorten the time Osborne is still running Paperback Software and still
needed for research on his Ph.D. He worked for Shell Oil fighting industry forces. His VP Planner software, which
after completing his doctorate and moved to California. emulates Lotus 1-2-3 and is priced under $100, has run
Osborne found the corporate world unsuitable and afoul of Lotus lawyers and he is being sued once more.
confining. He began to do freelance technical writing and Never far from controversy, this one-time enfant terrible is
in 1972 formed Osborne and Associates to write simple, still fond of the limelight.
easy-to-read manuals for a minicomputer firm called Gen-
eral Automation. It was during this time that he wrote The David Packard David Packard is one of the founders
Value of Power, which he would later title An /ntroduction of Hewlett-Packard Corporation, one of the most prosper-
to Microcomputers. Since it was rejected by an established ous, innovative, and respected companies in the com-
publisher, Osborne decided to publish it himself. The puter industry. Born in Pueblo, Colorado, in 1912, Packard,
world was hungry for information about the new personal like many engineers of his day, became interested in ham
computers and very few books were available. He sold radio and all things electronic at an early age. He gradua-
300,000 copies. He began to write in earnest, and his little ted from Stanford University in 1934 and began work as an
publishing house put out over 40 books on computers electrical engineer in the vacuum tube engineering depart-
during the next five years, 12 of them written by himself. ment of General Electric in Schenectady, NY. In 1938, along
In 1979, he sold the business to McGraw-Hill and although with his long-time friend William Hewlett, he founded the
the price was never made public, estimates are that he Hewlett-Packard Company in Palo Alto, California, in an
realized in excess of $5 million. area that would later become the principal home of
Osborne’s writing skills and reputation as acomputer America’s computer industry. Its founding date of 1938
guru (g.v.) earned him a chance to write a column in makes H-P one of the oldest computer firms.
several influential periodicals, including /nfoworld. He was Hewlett-Packard’s roots actually go back to 1931
critical and opinionated, but often accurate in his por- when, as a sophomore at Stanford, Packard met Hewlett.
trayal of the needs and wants of the consumer. He had They played football together and shared an apartment as
always argued that computers, to be truly useful, should well as an interest in ham radios and other gadgets. Both
be able to go where the people are. In 1979, he set out to studied engineering and talked often about starting a
design and market a computer that was portable, rugged, company together upon graduation. While Packard was at
easy to use, affordable, and that would include some of GE, Hewlett was finishing up at M.I.T. They then did grad-
the software that users would normally buy elsewhere. uate work together at Stanford, building electronic de-
The Osborne | sold for $1,795 and came with software vices in their spare time. With a loan of $538 from a
valued at over $2,000 at retail. When Osborne introduced Stanford professor, they built and marketed a commercial
the machine at the West Coast Computer Faire in San version of a variable frequency oscillator. Their base of
Francisco in Spring 1981, it was the smash hit of the show. operation was a Palo Alto garage. After many small pro-
It weighed only 24 pounds, had a built-in monitor and disk jects they began doing work for the defense department
drives, and an affordable price. The first machines were and in the 1950s branched out into the civilian electronics
shipped that summer. By September, Osborne was enjoy- field. During the 1970s, H-P moved from instruments to
ing his first million-dollar month, and between August and small computers and calculators. The H-P 3000 minicom-
December his company had achieved $6 million in sales. puter was their best-known product. By the mid-1980s,
Second year sales were $70 million. sales had reached $4.4 billion and H-P had 68,000 employ-
Soon thereafter, however, sales of the Osborne I ees. By then, Packard’s share of the company—he had
dropped. IBM had announced its new PC, Osborne I's 18.5% of the stock—was valued at $2.1 billion.
were experiencing a 15% failure rate, and the announce- Today, H-P is active in the personal computer field
ment of the new Osborne Executive machine was prema- and makes a very popular and reliable line of laser print-
ture. Sales of the Osborne! dropped precipitously and the ers. Because of their high quality and performance, their
$10-million-a-month business, now in the hands of profes- personal computers carry an above-average price. This
sional management, was in trouble. With more than $45 has made them less than competitive in the CPU market,
ENTREPRENEURS 525
but they are a major force in the peripheral arena with promote him. His IBM manager would refuse to give him
printers and plotters. assignments for months at a time. It was during a six-
Packard was H-P president from 1939-1946, chairman month hiatus in 1962 that he formulated the idea for EDS.
of the board from 1947-1964, and CEO from 1964-1968 He tried to interest IBM in selling time on its 7070 series
and beyond. Between 1969 and 1971, he was Deputy Sec- of computers, but IBM feared it would cut into equipment
retary of the United States Department of Defense. He is sales and rejected the idea.
still extremely active in public affairs. He has served on Although it is not clear why his success with IBM did
numerous presidential commissions, the U.S.-U.S.S.R. not provide sufficient capital, he borrowed money from
Trade and Economic Council, and the boards of directors his wife and set off on his own in August 1962. He pur-
of many universities and public organizations. chased time for $70 an hour on computers he did not own
H-P is known for its quality products and its great and resold it at a profit. After landing his first service
respect for its employees. There is a democracy of ideas contract from Collins Radio, he began hiring specialists to
that transcends rank. Work hours are flexible, dress ca- program and provide support for various businesses. EDS
sual, and benefits generous. Many Silicon Valley compa- pioneered the idea of facilities management, a concept
nies who have successfully implemented this model point whereby EDS would become the data processing depart-
to H-P as the standard. These notions can be credited to ment for insurance firms, banks, government agencies,
David Packard, one of those rare entrepreneurs with an and manufacturers. The rise of EDS was rapid during the
engineering degree who knew how to manage and treat 1960s. Insurance and medical claims processing provided
people with respect and dignity. heavy income. By 1969, Perot’s stock was worth more
than a billion dollars.
H. Ross Perot In 1962, H. Ross Perot founded Elec- There was a downturn in 1973 when Perot tried to
tronic Data Systems, the world’s largest and most influen- computerize the Wall Street brokerage community, but
tial computer service bureau, with $1,000 he borrowed EDS recovered during the 1980s with lucrative federal
from his wife, who was then a teacher. He virtually created contracts, some worth more than a half billion dollars.
the market for servicing the computer needs of corporate EDS brought the military’s computer systems into the
America. His service bureau provided computer process- twentieth century. By 1984, total corporate revenue was
ing power for the many industrial, governmental, and more than $800 million and income in excess of $70 mil-
business enterprises that chose not to establish an in- lion. EDS was spread across all 50 states and nine coun-
house computing center. tries. It was the largest computer service firm in the world.
Perot was born in Texarkana, Texas in 1930 and grew In 1984, Perot sold EDS to General Motors for more
up during the Depression. He and his family struggled to than $2.5 billion. While GM helped triple EDS business,
make ends meet. He sold seeds, Christmas cards, and Perot, as a member of the GM board, was to prove a most
newspapers door-to-door. He was so talented a salesman unacceptable thorn in GM’s side. He was constantly criti-
that he was able to sell newspapers to largely illiterate cal of GM management and GM policy. In the fall of 1986,
cotton pickers, who earned only $9 a week, by convincing GM was so upset with his criticism that they paid more
them that they could use the newspapers as cheap insu- than $700 million for Perot’s EDS shares—more than twice
lation for their homes. When the director of circulation their market value.
thought he was making too much money, his commission More than an entrepreneur, Perot is also a superpa-
was lowered. Perot went directly to C.E. Palmer, the pub- triot and a philanthropist. In 1985, he purchased one of
lisher, to complain. Palmer immediately had the original the four original copies of the Magna Carta and donated
arrangement restored. it to the National Archives. He worked tirelessly on behalf
Perot claimed to be acquiring a business education in of prisoners of war in Vietnam. He even financed a suc-
the marketplace that was more valuable than one gained cessful rescue mission to Iran when two of his employees
at Harvard. After graduating from Texarkana High School were taken hostage while trying to assist Iran with com-
and then Texarkana Junior College, he received an ap- puterization.
pointment to the U.S. Naval Academy, where he distin- A man of sweeping vision and grand ideas, Perot has
guished himself as a student and a leader. He was twice realized his dream of providing the corporate world with
elected president of his class and named battalion com- the tools and services it needed during the fast moving
mander. He graduated from the Academy in 1954 and times of the late twentieth century. His latest venture has
commissioned an ensign. He served aboard both destroy- been an investment in the NeXT, Inc. enterprise started by
ers and aircraft carriers. Steven Jobs. He maintains a simple life, is close to his
While a navigation officer on the aircraft carrier family, and is immensely proud of the role he played in the
Leyte, he met an IBM executive who was so impressed development of an industry. After appearing poised in the
with his style and demeanor that he offered Perot an spring of 1992 to announce his independent candidacy for
interview. After four years in the navy, he was hired by the presidency of the United States, he withdrew in July.
IBM as a $500-a-month computer salesman in the Dallas
region. Ross finished first in his sales training course and An Wang An Wang was the founder of Wang Labora-
usually made his monthly quota before the 19th of the tories, once the world’s leading makers of free-standing
month. In fact, he was making more money than most of word processing equipment. He is also credited with in-
his bosses, and his success was a bit of an embarrass- venting magnetic core memory for early digital comput-
ment to them. He made so much that it was difficult to ers.
526 ERROR ANALYSIS
Wang was born in 1920 in Shanghai, China, the oldest be a $5 billion company during the 1990s, but after turning
of five children. His father was an English teacher. He lived company control over to his son in the late 1980s, Wang
in China until after World War Il. He received his had to watch sadly as the fortunes of his former company
bachelor’s degree in electrical engineering and communi- turned sour. One contributing factor was that the ease of
cations from Chiao Tung University in Shanghai. During converting a personal computer into a word processor
the war he worked for the Chinese government designing through software made free-standing, single-purpose
radio transmitters and receivers. He was sent to the word processing equipment obsolete.
United States after the war as part of the reconstruction An Wang, dapper, bright-eyed, soft-spoken, yet steel-
effort. He enrolled at Harvard and completed both his willed, managed to combine an uncanny ability to antici-
master’s and Ph.D. degrees in applied physics by 1948. pate market changes with a flair for innovation. His
As a research fellow at the Harvard Computation determination to return to the world more than he had
Laboratory from 1948 through 1951, Wang worked under taken made him a noted philanthropist. On 3 July 1986 at
Howard Aiken (g.v.). Aiken challenged him with a most the relighting of the Statue of Liberty, he was awarded the
difficult problem. The design of Aiken’s binary digital Medal of Liberty as one of twelve outstanding naturalized
relay computer, the Mark I (q.v.), needed a non-mechani- citizens.
cal memory storage system. Wang’s design stored infor- An Wang died at his home in Boston on 24 March
mation with magnetic flux changes in tiny magnetic metal 1990. In his lifetime, he had been awarded 40 patents and
doughnuts or cores. Wang conceived the notion of read- 23 honorary degrees. At the time of his death, Forbes |
ing information, which he knew would destroy it, and then magazine estimated that he was the fifth richest man in
re-writing the same information into the compromised the U.S. Since the fortune of H. Ross Perot is likely to be
location. As digital computers became popular, his inven- slightly more, and the fortune of Bill Gates only slightly
tion was to prove viable for the next 20 years. less but growing, at least three of the five largest personal
After finishing work on the Mark IV computer, Wang fortunes accumulated in the U.S. have been earned by
decided to leave Harvard Labs as it phased out basic computer entrepreneurs.
research. Recognized for his expertise in digital electron-
ics, he decided to manufacture and sell memory cores. References
With $600 in savings, he rented office space in Boston and,
1984. Levering, Robert, Katz, Michael, and Moskowitz, Milton. The
as sole proprietor, opened Wang Laboratories in June
Computer Entrepreneurs: Who’s Making it Big and How in
1951. On that day he had no contracts, no orders, no office America’s Upstart Industry. New York: New American Library.
furniture, and a staff of one. He concentrated on small- 1986. Lammers, Susan. Programmers at Work. Redmond, WA:
scale applications involving counting, sorting, storing, Microsoft Press.
and displaying data. As business increased he moved to 1986. Cortada, James. Historical Dictionary of Data Processing
Cambridge, Massachusetts, and in 1955 Wang Labs be- Biographies. Westport, CT: Greenwood Press.
came a corporation. He sold his memory core patent to 1987. Littman, Jonathan. Once Upon a Time in Computerland: Bill
IBM for $400,000 and suddenly had the capital he needed Millard’s Computerland Empire. Los Angeles: Price Stern Sloan,
to expand. Inc.
1987. Slater, Robert. Portraits in Silicon. Cambridge, MA: The M.LT.
Wang Labs began to manufacture electronic counters,
Press.
machine tool controls, telecoders, and typesetting equip- _ 1988. Rifkin, Glenn and Harrar, George. The Ultimate Entrepreneur:
ment. In 1962, Wang introduced the first electronic scien- The Story of Ken Olsen and Digital Equipment Corporation.
tific desk calculator. As slide rules became obsolete, sales Chicago: Contemporary Books.
reached $6.9 million by the end of the 1966 fiscal year. In 1990. Mason, Todd. Perot: An Unauthorized Biography. Home-
1967, Wang Labs went public. Its stock, easily the hottest wood, IL: Richard D. Irwin.
offering of the year, raised an incredible $79 million. 1992. Wallace, J. and Erickson, J. Hard Drive: Bill Gates and the
In 1968, Wang branched out from calculators to com- Making of the Microsoft Empire. New York: John Wiley.
puters. Ironically, Wang was one of the first to abandon
STEPHEN J. ROGOWSK! and EDWIN D. REILLY
magnetic core storage in favor of smaller, faster, and less
complex semiconductor devices. As the 1970s arrived,
Wang was determined to merge the dual office needs of
word processing (q.v.) and data processing. He went ERGONOMICS. see Human Factors IN Comput.
head-to-head in the smart typewriter market with IBM. His ING.
WCS series was priced below IBM and had more options.
In 1975, he took back control of his company by a
stock transfer to Class B Common. The following year he
launched the WPS system, which was based on the cath-
ERROR ANALYSIS
ode ray tube, a revolutionary development. This word For articles on related subjects see ARITHMETIC, COMPUTER;
processing system vaulted his company onto the Fortune ERRORS; INTERVAL ARITHMETIC; MATRIX COMPUTATIONS; NUMERI-
1000 list. From that moment, Wang became known as “The CAL ANALYSIS; ROUNDOFF ERROR; and SIGNIFICANCE ARITHMETIC.
Word Processing Company.”
By 1986, revenues of $2.6 billion produced earnings In general, the basic arithmetic operations on digital
of $50.9 million. Wang’s personal fortune was estimated at computers are not exact but are subject to rounding or
$1.6 billion. It had been estimated that Wang Labs would truncation errors. This article is concerned with the cu-
ERROR ANALYSIS 527
mulative effect of these errors. It will be assumed that the |x||=0 and |x|] =0 iffx =0,
reader has read the article on MATRIX COMPUTATIONS, since
[ox] =|o] |x|,
the results will be illustrated by examples from that area.
Ix+yllslx]+llyl-
Definitions There are two main methods of error We will use only two norms, denoted by ||x ||, and ||x ||.
analysis, known as forward analysis and backward analy-
and defined by
sis, respectively. They may be illustrated by considering
the solution of ann X n system of linear equations by
Gaussian elimination. In this algorithm, the original sys-
Ixlh=CZ]x,P)'%, Ix]. = max|~;|.
tem is reduced successively to equivalent systems Ax = Similarly, a norm of a matrix A, denoted by ||A ||, is a
b®, r = 1, 2,...., n — 1. In the final system the matrix of
non-negative quantity satisfying the relations
coefficients, AW ~ », is upper-triangular, and the solution
is found by back substitution. |All=O and |/All/=0 ifA =O,
In a forward analysis, one adopts the following strat- |oAl]=|a| |All
egy: Because of rounding errors, the computed derived
|A +B =|}Al] + |B],
system A®x = b® differs from that which would be ob- | ABI S|Al BIL
tained by exact arithmetic. It seems reasonable to assume
that, if the algorithm is stable, A® — A® and b © — b® will We will use only two norms, denoted by ||A ||,and ||A ||,
be small, and, with sufficient ingenuity, bounds would be and defined by
found for these “errors.” This is perhaps the most natural
approach. e ||A ||, = (max eigenvalue of AA” )'”, where A” repre-
Alternatively, one could adopt the following strategy: sents the conjugate transpose of A
If the algorithm is stable, presumably the computed solu- || A lleo max ,(Z || a; [).
tion x is the exact solution of some system (A + E)x = b
+ e, where E and e are relatively small. Of course, there It may be verified that
will be an infinite number of sets of which x is the exact
solution. A successful error analysis will obtain satisfac- |Ax], =I]A ll. Ix ll,
tory bounds for the elements of FE and e. Such an ap- Ax. SIA Te l=
proach is known as backward error analysis, since it seeks
to replace all errors made in the course of the solution by Most of the early error analyses were for fixed-point
an equivalent perturbation of the original problem. It has computation, but, since virtually all scientific computa-
one immediate advantage. It puts the errors made during tion is now done in floating point, we restrict discussion
the computation on the same footing as those arising to this case. We use the notation fl(@ X y) to denote the
from the data. Hence, when the initial data is itself inex- product of two standard floating-point (fl) numbers as
act, no additional problem is posed. given by the computer under examination, with an analo-
gous notation for the other arithmetic operations. We
Early Error Analysis of Elimination Processes have the following results for each of the basic opera-
In the 1940s, the imminent arrival of electronic computers tions, using a mantissa of ¢ digits in the base P :
stimulated an interest in error analysis, and one of the
first algorithms to be studied was Gaussian elimination. flX y) =xy(1+e),|/e|s mp‘
Early analyses were all of the forward type, and typical fla+y)=@/y +e), |e|sap"4
of the results obtained was that of Hotelling, who showed fi@ sy) =x +e ,)'S yO awe):
that errors in solving an n X n system might build up
by a factor 4"~!. The.relevance of this result was widely
. [ey late sliyasiee
accepted at the time. Writing in 1946, Bargmann, Mont- where m, d, and s are constants on the order of unity,
gomery, and von Neumann said of Gaussian elimination: depending on the details of the rounding or chopping
“An error at any stage affects all succeeding results and procedure. Described in the language of backward error
may become greatly magnified; this explains why insta- analysis, we might say, for example, that the computed
bility should be expected.” The mood of pessimism was sum of two numbers x and y is the exact sum of two
very infectious, and the tendency to become enmeshed numbers x(1 + €,) and y(1 + €,), each having a low
in the formal complexity of the algebra of the analysis relative error. On well-designed computers,
seems to have precluded a sound assessment of the
nature of the problem. Before giving any error analyses, fi«+y=@+yd+e) lel=sp™
we discuss fundamental limitations on the attainable
accuracy. For convenience, from now on we assume that allé in the
above satisfy the bound |¢ |< k - B" ‘, where k is of the
Norms and Floating-Point Arithmetic We will order of unity.
need some way of assessing the “size” of a vector or a By repeated application we have, with an obvious
matrix. Such a measure is provided by vector and matrix notation,
norms. A norm of a vector x, denoted by || x ||, is a
non-negative quantity satisfying the relations fai ideas heen a.)
528 ERROR ANALYSIS
=a,(1+£,)
+ a,(1 + £)--- +a, + £,), =x —A7!6Ax+ (A 6A)*x --:,
Ge) = 1 FeO
ee
Clie RB ye es al +E <(1 fp 7)he bee oe giving
r= 2, 3,...,N.
Ix —x||/||x] <A 64 ||/G -|]47 4641),
The bounds on the errors are reasonably realistic, and provided ||A7! 6A ||< 1. The relative error in x will not be
examples can be constructed in which they are almost low unless ||A~!6 A ||is small. Writing,
attained. Naturally, when n is large, the statistical distri-
bution can be expected, in general, to result in some |5A ||=7 Alb
cancellation of errors and, thus, in actual errors substan-
tially less than the bounds. we see that
One of the most important elements in elimination
|x — xI/Ix] :
<n ANA WG —0 VAIIA™ ID.
methods is the computation of expressions of the form
p=Wa—
XxX yo 8 XX Y).
The inherent sensitivity is therefore dependent on ||A ||
The computed p and the error bounds are dependent on ||A7! |],and this is usually known as the condition number
the order in which operations are performed. If the oper- of A (for the given norm), with respect to inversion or
ations are performed in the order written above, we ob- to the solution of linear systems.
tain We might now ask ourselves what sort of limitation
we should expect on the accuracy of Gaussian elimination
P= ar) — xy Cer) et xny (lt FE), even if it had no menacing instability. The solution of Ax
= b requires n/3 multiplications and additions, an aver-
where age of 14 n per element. From the elementary discussion
given so far, we might risk the following prophecy: Even if
Ake! 8 Si B= ep" Gaussian elimination is a stable process, then we can
(1 SRee Pate ra +kpo! yee
scarcely expect to obtain a bound for the resulting error,
which is less than that resulting from a perturbation 6 A
If one computes
in A satisfying, say,
Pia XO ia Xp Boss a AX Yaa),
|5A]] = 3 knB~ JAI
then
In fact, this bound for the effect is usually reasonably
Pier ty) ow A Lt ea Ee), realistic, provided that pivoting is used. Indeed, the ad-
al RB oye +E) <(1+ kp wi 8 gel vantages conferred by the statistical distribution of
rounding errors is such that the error is usually less than
[FISke7. the maximum error that could be caused by such a per-
In describing the last result in terms of backward error
turbation.
analysis, we might say, for example, that it is exact for data
x,1 + E,), y,and a(1 + F), putting all the perturbations in Backward Error Analysis of Gaussian Elimi-
the x, and a. Alternatively, we could say it is exact for data, nation Gaussian elimination provides a very good
x; yi + E), and a(1 + F). illustration of the power and simplicity of backward error
Note that although the errors made can be equated
analysis. The elimination process may be described as
with the effect of small relative pertubations in the data,
the production of a unit lower triangular matrix ZL and an
the relative error in the computed p may be arbitrarily upper triangular matrix U such that LU = A. The solution
high, depending on the degree of cancellation that takes of the system Ax = b is then carried out in the two steps:
place. Indeed, if the true pis zero, one may have an infinite
relative error. One would not think of attributing this to Ly=b, Ux=y
some malignant instability in this simple arithmetic pro-
cess; it is the natural loss to be expected. In the backward error analysis, one shows that the com-
puted L and U satisfy the relation LU = A + E and obtains
bounds for the elements of E. One then shows that the
Inherent Sensitivity of the Solution of a Lin-
computed solution y and x of the triangular systems
ear System For any computational problem, the in- satisfies the equations.
herent sensitivity of the solution to changes in the data is
of fundamental importance; yet oddly enough the early (L+ dlL)jy=b, (U+6U)x=y
analyses of Gaussian elimination paid little attention to it.
We consider in a very elementary way the effect of pertur- and obtains bounds for the elements of dL and dU. The
bations 6 A in the matrix A. We have computed x therefore solves exactly the system
or
We certainly have
(A+E+6LU+
LOU + 6LSU)x =b d-krg)"s<Q +G)=(1 + kB aya
Hence, it is the exact solution of (A + F)x = b, where most of the factors, of course, satisfying much better
bounds. Bounds of the above type are cumbersome to
|FI] =||E+6LU+L 5U+ 6L cull use, and we observe that, if knf —! 20.1, as will usually be
+[LI
S||E l| |ou] the case, then, using the binomial theorem,
+ UMoL |+ oz] oul
(1 + kB ~')" <1 + (1.06) Rng ~,
and from the bounds for E, dL, and dU, one obtains a (1 — kB)” = 1 — (1.06) knp ~.
bound for F.
The simplicity of the technique may be illustrated by Hence, we have
presenting the analysis of the solution of the system Ly =
b. We first make the following observations: | OL, | < (1.06) kng OAs
parently reasonable assumption that in stable algorithms ity (n + 1)p of asingle error, and a probability [n(n + 1)/2]
the computed quantities will be close to those arising in p’ of two errors.
exact computation is frequently quite false. This is partic- Upon the detection of an error, the receiver can re-
ularly true of algorithms for the eigenvalue problem. quest that the message be retransmitted, and generally
In significant digit arithmetic, one does not work with this will produce an error-free message. In some circum-
normalized floating-point numbers, on the grounds that stances, especially where it is suspected that the source
when cancellation takes place, the zeros introduced are is slightly defective (say, a magnetic recording), several
non-significant. The possibilities of significant digit arith- retrials may be used before giving up. The retrial system
metic have been well exploited by Metropolis and As- is not entirely satisfactory because it takes extra time
henhurst. when errors occur and also requires two-way signaling to
The realization that neither interval arithmetic nor call for message repetition. However, if the error is in the
significant digit arithmetic provides an automatic answer original recorded form of the message before encoding,
to error analysis led to an overreaction against them. The nothing can be done about the error.
provision of the relevant hardware facilities should make To overcome these difficulties, including delays,
them economic, and when combined with a more general error-correcting codes are often used. They are based on
appreciation of theoretical error analysis, they have an the use of a higher level of redundancy (i.e. several parity
important role to play. checks).
There are various ways of explaining how an error-
References correcting code works. In the algebraic approach, a parity
checkis assigned to those positions in the code that havea
1963. Wilkinson, J. H. Rounding Errors in Algebraic Processes.
lintherightmost position of their binary representation, a
London: Her Majesty’s Stationery Office and Engiewood Cliffs,
NJ: Prentice-Hall. second parity check for those positions that have a 1 in
1965. Wilkinson, J. H. The Algebraic Eigenvalue Problem. Oxford: their second to right position, etc. Thus, when a single
Clarendon Press. error does occur, exactly those parity checks will fail for
1967. Forsythe, G. E. and Moler, C. B. Computer Solution of Linear which the binary expansion of the position of the error has
Algebraic Systems. Englewood Cliffs, NJ: Prentice-Hall. ls. Thus, the pattern of the parity-check failures points
1971. Wilkinson, J. H. “Modern Error Analysis,” SIAM Review 13: directly to the position of the error; in a binary system of
548-68. signaling, it is easy to change that bit to its opposite value
1979. Moore, R. E. Methods and Applications of Interval Analysis, and thus correct the error, with 000 meaning “no error.”
Philadelphia: SIAM Publications. As an example, consider the binary encoding of the
1989. Kahaner, D., Moler, C., and Nash, S. Numerical Methods and
decimal digits into an error-correcting code. In Table 1,
Software. Englewood Cliffs, NJ: Prentice-Hall.
positions 1, 2, and 4 are used for the check positions, leav-
JAMES H. WILKINSON
ing positions 3, 5, 6, and 7 for the message (where we find
the binary coding of the corresponding decimal digit).
The check positions are calculated by even parity
checks as follows.
Let any line be copied and a single error inserted as of the error that caused the on-board computer to fail.
a simulation of an error in message transmission. When But an understanding of the sources of errors in com-
the three parity checks are applied, we will find that if we puters is important to anyone who wishes to use or
write a 0 for successful parity check and a 1 for a failure comprehend digital computers.
(writing from right to left), the three digits we get will be
exactly the position of the inserted error. Thus, for exam- Taxonomy of Computer Errors When a com-
ple, if 1110110 is received instead of 1100110(= 6), the 4, puter produces an incorrect result, the error may come
2, 1 parity checks are 011 (= 3) which identifies the third from one or more of a number of sources. These sources
column as the one in error. can be fairly readily grouped under five headings:
A second way of looking at the codes is a geometric
approach. If an error is to be detected, the distance be-
1. Hardware errors, which result from a malfunction
tween two messages (which we define to be the number
of some physical component of the computer.
of positions for which they differ) must be at least two for
2. Software errors, which result from a coding error
every pair of messages. Otherwise, there would be a
in some program, but not necessarily in the pro-
message that a single error would carry over into another
gram that seemed to produce the wrong results
acceptable message, and that error could not be detected.
(see below).
For error correction, the minimum distance must be at
3. Algorithm errors, which result when the algo-
least three (as in Table 1); for double error detection, the
minimum distance must be at least four; etc.
rithm or method used to solve a problem does
The encoding process can thus be extended further not produce correct results, perhaps only under
in protecting against errors. As an example of double- certain conditions and/or for certain input data.
error detection, consider the code in Table 1 with an 4. Data entry errors, probably the most common of
additional bit added to each message, so chosen that the all, which occur when the operator of a data
entire message will have an even number of Is. If there entry terminal makes an error, usually by press-
were a Single error, the original set of checks would indi- ing the wrong key.
cate the position, but the last check would fail. If there 5. User errors occur whenever a user invokes an
were a pair of errors, the last check would not fail, but undesired action, such as entering a command
some of the original checks would, indicating a double whose syntax or semantics is unacceptable, en-
error. The minimum-distance argument can be applied to tering a value out of range, or making the wrong
show that the additional check made each minimal dis- menu selection.
tance one greater, namely, now four.
The preceding examples are the simplest cases. The Data entry errors can be reduced by using good equip-
theory has been highly developed and now makes use of ment, by careful training of personnel, and by verification
much of abstract algebra, including Galois theory. techniques, such as repetition of the data entry by an-
other operator and then a comparison between the two.
References Because the other four types of errors are more subtle
and, therefore, more difficult to recognize and/or correct,
1968. Berlekamp, E., Jr. Algebraic Coding Theory. New York:
we shall focus on them in this article. However, before
McGraw-Hill.
proceeding to discuss these types of errors in some de-
1977. MacWilliams, F. and Sloane, N. J. A. The Theory of Error
Correcting Codes. Amsterdam: Elsevier. tail, we should stress that, whereas in the early days of
1977. McEliece, R. J. The Theory of Information and Coding. Read- computing it was usually rather easy to determine which
ing, MA: Addison-Wesley. of the categories above was the source of an error, it is
1986. Hill, R. A First Course in Coding Theory. Oxford: Clarendon sometimes very difficult indeed to do this today. To give
Press. one example, the increasing use of microprogramming in
contemporary computer systems makes it possible for
RICHARD VX. HAMMING hardware errors to manifest themselves in ways that look
like software errors, and vice versa. The difficulty of de-
termining the source of a computer error has heightened
the need for good diagnostic techniques, a subject we
ERRORS consider in the last section of this article.
For articles on related subjects see BUG; DEBUGGING; DIAG-
NOSTIC; ERROR ANALYSIS; ROUNDOFF ERROR; STRUCTURED PRO- Hardware Errors Considering the staggering com-
GRAMMING; and SYNTAX, SEMANTICS, AND PRAGMATICS. plexity of modern computer systems, it is amazing that
they work at all. The fact that they are designed to, and
The indignant customer who receives an incorrect often do, operate for hundreds or thousands of hours
bill from a department store probably does not care without failure is even more startling. Modern computers
what the source of the error was or even that, almost contain literally millions of circuit elements, the failure of
certainly, the fault was not the computer’s but rather any one of which might cause failure of the entire system.
that of its data entry personnel or programmers. Neither This high level of reliability is a tribute to the careful work
is the astronaut who is descending toward the surface of circuit designers and the meticulous attention to detail
of the moon very concerned about the precise source and to testing on the part of the manufacturers. Still,
ERRORS 533
computers are not perfect and the hardware occasionally When a fault occurs, a machine interrupt is issued, and
does fail. The source of a failure may be difficult to deter- the hardware and software attempt to identify and locate
mine, since the number of possible faulty components is the error. Depending on the severity of the error, the
so large. control programs may shut down the entire machine,
A frequent source of errors is in the electromechani- avoid use of the faulty component, or simply record the
cal peripheral devices that provide input or output for the fact that an error has occurred.
central processing unit. The mechanical components of
these peripheral devices are likely to wear out as a result
of the stresses of frequent use. For example, the staccato
Software Errors Anyone who has written a computer
motion of movable disk arms or the rapid rotation of disk program knows that debugging can be difficult and te-
packs are possible sources of failures. dious. Professionals writing even short programs (say,
The recording medium associated with various de- fewer than 100 lines of code) expect some difficulties and
vices is fragile and consequently a potential source of accept the fact that long programs, requiring many per-
errors. The delicate magnetic coating of magnetic tapes, son-years of effort, may never be completely debugged.
disks, or drums can be easily scratched, rendering the When writing programs in a high-level language, which
information incorrect or inaccessible. A speck of dust or requires the services of a compiler, utility programs, and
dirt can mar these coatings easily, or tension can stretch an operating system, the number of software modules
a piece of magnetic tape. The failure of these media may that come into play is large. Great effort is applied to
not be fatal to the entire computer, but individual periph- debug the system software, but it is not currently possible
eral units may be disabled or data items may be entered to insure the correctness of such sophisticated programs.
incorrectly or lost. Telecommunication devices attached If an application program does not operate correctly, the
to a computer may also be faulty. Since the quality of the most likely source of the error is in the application pro-
voice-grade telephone lines often used for communica- gram itself. Only after a thorough and careful analysis of
tion with computers is low, special leased lines are some- the situation can we begin to consider the possibility that
times used to reduce the frequency of errors. the compiler, system utilities, or operating system are at
The central processing unit (¢.v.), arithmetic and fault. Locating the bug in the system software requires a
logical unit (g.v.), and the high-speed memory are built deep understanding of the code and the expertise of a
entirely from electronic components, thereby reducing systems programmer. (See SYSTEMS PROGRAMMING.)
the chance of failure inherent in mechanical devices. The Application program errors fall into two basic catego-
technology for creating the circuit elements involved in ries: syntactic and semantic. The syntactic errors include
these components is extremely complex. Early comput- typographic errors, incorrectly spelled keywords and
ers used vacuum tubes (first generation) as the primary variable names, incorrect punctuation, and improper
circuit element. These large devices were relatively slow, statement formation, all of which result from violations of
generated a large amount of heat, required a large amount the programming language syntax. These errors are nor-
of power, and wore out easily. The invention of the tran- mally recognized by the language processor, and diagnos-
sistor (second generation) in 1948 made it possible to tic messages are printed to assist the programmer in
construct smaller, faster, and much more reliable comput- making corrections. Although some processors will at-
ers. Combining many transistors and other electronic tempt to fix improper syntax, programs with syntactic
elements into a single component, called an integrated errors will generally not be permitted to execute.
circuit (third generation), enabled designers to create still Assuming all the syntactic errors have been fixed, the
faster and more reliable computers. program will execute, but there is no guarantee that it will
At present, computers are built from a smaller num- perform as the programmer intended. Semantic errors
ber of very large-scale-integrated circuits (VLSI). These are a result of an improper understanding of the function
highly reliable circuits contain thousands of discrete cir- of certain operators or mistakes in coding of an algorithm.
cuit elements built into a single replaceable component. Typical programming mistakes include exceeding the
These devices are carefully tested during the many stages bounds of an array; failure to initialize variables; overflow
of a sophisticated fabrication process. Still, they may fail or underflow; failure to account for special cases; at-
as a result of temperature changes, humidity, shock, or tempted division by zero; illegal mixing of data types; and
electrical surges. When failure occurs, the faulty circuit incorrect transfers of control. Isolating and locating the
component must be located and replaced. This sounds error can be a long, tedious process and is a skill learned
simple enough, but the problem may be hard to locate, mainly through much experience.
since the failure may be intermittent, occurring only when Current research is being directed at reducing the
a complex combination of conditions exists. To minimize possibility of semantic errors. Improved programming
the deterioration of circuit elements, computer rooms are language design and sophisticated compilers are one pos-
air conditioned to keep the temperature and humidity sible answer. Educating programmers to proper program
within acceptable ranges. The failure of the air condition- design techniques such as modularity, structured pro-
ing would lead to overheating of circuit elements and to gramming , and object-oriented programming (q.v.) does,
an increased chance of failure. indeed, simplify the debugging process. Finally, attempts
Modern computers are designed to monitor their are being made to prove the correctness of programs
own performance and constantly test themselves to as- through the use of formal mathematical techniques (see
sure that each operation has been performed properly. PROGRAM VERIFICATION).
534 ERRORS
Algorithm Errors Computer programs can be tended movements in a painting program. (See WINDOW
viewed as models or representations of real-world situa- ENVIRONMENTS.) Such user errors may be classified as
tions. Unfortunately, not all aspects of the real-world situ- physical motion mistakes, syntactic errors, logical errors,
ation can be represented accurately inside a computer. or just failures due to a lack of knowledge of the function-
Decimal quantities such as 1.2 or 6783846.678492104 may ing of the computer. A key goal of the designer of a user
have to be approximated when stored in the memory of a interface (g.v.) is to reduce the possibility of some of
binary computer. Since the initial representation is not these errors and to provide appropriate error messages
precise, subsequent operations performed on these val- that facilitate error recovery.
ues may produce invalid results. The difficulty in locating Errors can generally be reduced by permitting menu
such faults is that the error will manifest itself only for selection in place of data entry and by constraining illegal
some sets of data. Thus, the program will produce reason- actions, just as automobile transmissions prevent engage-
able results in most cases, but may produce erroneous ment of reverse gears while the car is moving forward.
results erratically. When errors do occur, the messages should be specific,
The heart of this problem is the machine representa- constructive, positive in tone, user-centered (avoiding
tion of values. While a 60-bit word length may provide a technical terminology), comprehensible, and brief.
more accurate representation than a 36-bit word or a When major user actions would be irreversible (e.g.
32-bit word, a longer word length is not a guarantee of deletion of data or contro] of physical processes), the
correctness. Since we are limited to the finite length of a user should be required to confirm the action before it
computer word, the representation must be rounded off actually takes place.
to the closest approximation possible. With each addition
or multiplication, the result must also be rounded off to fit Coping with Errors Since errors are a fact of life in
the representation scheme; hence the name roundoff computing, much has been done to assist programmers
error. in locating errors. Syntactic errors are dealt with by the
Another flaw in the representation of the real world compiler and are not the source of serious difficulty.
occurs when an infinite process must be approximated by Although work remains to be done in the area of improv-
a finite series of steps. In summing an infinite series, ing compile-time diagnostics, most compilers provide a
repeating an iterative process (e.g. the Newton-Raphson reasonably lucid explanation of what has gone wrong. The
method), or approximating derivatives by differences, the programmer must then fix the mistake.
result may become increasingly exact, but is never pre- Execution-time errors that result from semantic er-
cisely correct. Since in all these cases an infinite process rors are more difficult to deal with. If the program runs to
is cut short and represented by a finite process, this error completion, but does not produce the output that is ex-
is called truncation or discretization error. pected, the programmer must carefully examine the out-
One of the central concerns of numerical analysis put and attempt to locate the fault. The input data should
(q.v.) is to estimate the roundoff and truncation errors for be checked for validity, and then a careful step-by-step
various algorithms. This analysis can then be used to analysis of the program must be performed. If the output
select and design the optimum strategy for a given prob- does not contain sufficient information to determine what
lem. A major goal of numerical analysis is to avoid unsta- the program was doing, an additional run with detailed
ble algorithms that operate erratically and to identify printouts must be made. Special trace (qg.v.) packages that
ill-conditioned data sets that are difficult to deal with. The print out the execution of the program on an instruction-
use of double or multiple precision representations and by-instruction basis can be used. Alternatively, only the
operations may reduce the error, but not eliminate it. transfers of control or subprogram references can be
Another type of algorithm failure is the attempted use printed. If desired, a particular location can be monitored
of an algorithm to solve a problem other than that for to indicate when the value was set or referenced. Since
which it is intended. An example of this would be the use the amount of output may be voluminous, the program-
of an algorithm designed for the solution of a system of mer must carefully select which features to use. Armed
linear simultaneous equations with a symmetric coeffi- with this material and a thorough understanding of the
cient matrix to solve a system with a non-symmetric coef- program, the programmer must perform a careful analy-
sis to locate the flaw.
ficient matrix, resulting in an inevitably wrong result.
All too common is the development and use of an If the program does not run to completion, but is
interrupted as a result of an attempt to perform an illegal
algorithm that just will not solve the problem at hand for
instruction, the operating system will (or, at least, should)
any set of data, due to a design error, for example, or a
print a meaningful message. However, since the operating
failure to understand the underlying mathematics. A vital
system has no knowledge of what the application pro-
aspect of the avoidance of such errors is the careful
gram was attempting to do, these messages can be diffi-
debugging of all newly developed programs using data
cult to interpret. Some programming language systems
sets for which the results are known.
contain an execution-time monitor to produce more
meaningful diagnostic messages when an abnormal termi-
User Errors Computer users may make a large variety nation occurs.
of errors, examples of which are mentioned earlier in this If a program successfully executes for a given set of
article. Two further examples are inadvertently opening, data, there is no guarantee that the program will always
moving, resizing, or closing a window or making unin- perform properly. To verify the correctness of a program,
EXECUTABLE STATEMENT 535
multiple sets of test data should be constructed to exer- tions, and reporting exceptions to exception report files.
cise the program as much as possible. (See SOFTWARE In an interactive program, exception handling techniques
TESTING.) As many as possible of the reasonable sets of include checking that users are asking for legal opera-
input data should be run to validate the program. Unfor- tions before performing them, providing users with an
tunately, there are many well-documented cases of pro- undo command that cancels the result of the last opera-
grams that have run correctly for many years until a tion, allowing users to save their work and restore any
particular set of input data was run and resulted in failure. previously saved state, alerting users to exceptions when
There is no way to guarantee the correctness of large they occur, and allowing users to continue from excep-
programs, and programmers must accept the possibility tions without losing much work.
of bugs in their programs. Large programs such as operat- It is often impractical to check all the conditions that
ing systems are continuously being modified as faults are must hold in order to guarantee that an operation will be
located. Perfection in programming is illusory. successful. To handle cases in which exceptions cannot
The diagnosis of hardware errors has become more be avoided, some programming languages provide lim-
complex with the advent of sophisticated hardware archi- ited backtracking, undo, or unwind protection mecha-
tecture constructs, such as virtual memory and micropro- nisms, Instead of backtracking, more often exceptions are
gramming. When it is suggested that a particular error reported to an exception file to be analyzed later. The
may be a result of malfunctioning hardware, a set of exceptions are analyzed and code is added to the pro-
hardware diagnostic programs may be run to assist the gram so that in the future the exception can be avoided,
maintenance engineer in locating the fault. These pro- recovered from, or documented in more detail.
grams exercise each of the circuit components and print
out the location of the faulty element. This.technique is JAMES C. SPOHRER
not always successful, since the diagnostic program may
not run properly because of the fault. Individual compo-
nents may have to be removed and tested electrically, or
components may be replaced until the machine operates EXECUTABLE STATEMENT
properly.
For articles on related subjects see DECLARATION; and PRO-
CEDURE-ORIENTED LANGUAGES: PROGRAMMING.
References
1963. Wilkinson, J. H. Rounding Errors in Algebraic Processes. An executable statement is a procedural step in a
Englewood Cliffs, NJ.: Prentice-Hall. high-level programming language that calls for process-
1977. Gilb, Tom and Weinberg, Gerald M. Humanizing Input. Cam- ing action by the computer, such as performing arithme-
bridge, MA: Winthrop. tic, reading data from an external medium, making a
1978. Van Tassel, Dennie. Program Style, Design, Efficiency, Debug-
decision, etc. In describing the structure and features of
ging and Testing (2nd Ed.). Englewood Cliffs, NJ: Prentice-Hall.
high-level languages, it is convenient to distinguish be-
1988. Norman, Don. The Psychology of Everyday Things. New York:
tween executable statements and nonexecutable declara-
Basic Books.
tions that provide information about the nature of the
ANTHONY RALSTON AND BEN SHNEIDERMAN data or about the way the processing is to be done with-
out themselves causing any processing action.
Executable statements are sometimes called impera-
tive statements because their form often closely resem-
EXCEPTION HANDLING bles that of an imperative sentence in a natural language.
For example, the formula
For articles on related subjects see INTERRUPT; SOFTWARE
ENGINEERING; and TRAP.
Y=at+bx+cxr
Exception handling deals with mechanisms and tech-
follows an imperative form that persists in corresponding
niques for avoiding, recovering from, and documenting
structures in programming statements:
errors that arise during program execution. Exception
handling mechanisms are features of programming lan-
guages that permit error recovery from exceptional or [Pascal] yi=atb*+cerx*x,
anomalous situations. Exception handling techniques are
[Fortran] Y=A+B*X+C*X **2
used by programmers to make programs robust and user
friendly. Exceptions arise when illegal operations are re-
[PL/I] Y=A+B*X+C*X
**2;
quested or the operands of an operation are inappropri-
ate. For example, dividing by zero will cause an error in
some systems. Robust programs deal gracefully with ex- This correspondence is emphasized more explicitly in
ceptions, whereas fragile programs stop or produce erro- some languages, namely,
neous results when exceptions are encountered.
In a batch program, exception handling techniques [Basic] LETY =A+B*X+C*XT2
include checking the validity of data, skipping anomalous
data, resetting control parameters, undoing prior opera-
[Cobol] COMPUTE Y=A+B*X+C*X ** 2,
536 EXPERT SYSTEMS
Specifications for data transmission between internal by arithmetic calculation (not logical reasoning), and the
storage and an external medium are constructed along knowledge needed to solve the problem is known only by
similar lines: the human programmer and is used to cast the solution
method in terms of algebraic formulas.
[Fortran] pean (5,12) HERE
WRITE (6,21) HERE The Emergence of the Principles and the
Technology One way to approach an understanding
[Cobol] READ INFILE INTO HERE. of the principles of expert systems is to trace the history
WRITE OUTFILE FROM HERE. of the emergence of ES within AI. Perhaps Al’s most widely
shared early goal had been the construction of extremely
[PL/I] READ FILE (INFILE) INTO (HERE); intelligent computers. That is, in addition to other goals
WRITE FILE (OUTFILE) FROM (HERE); (such as learning and language understanding), most re-
searchers shared a goal to produce programs that per-
The numerical specifications in the Fortran example are formed at or beyond human levels of competence. For
coded references to additional information about the example, an early (late 1950s) program took the N.Y. State
source (for input), destination (for output), and format of Regents Examination in plane geometry to validate its
the data to be transmitted. human-level abilities in this domain. Also, a famous pre-
Sometimes, executable statements are subdivided diction was made regarding the year in which an AI pro-
into imperative and conditional statements because the gram would be chess champion of the world. A scientific
latter, such as the IF statement in Fortran, specify alterna- viewpoint about knowledge representation, declarativ-
tive imperative actions linked through a decision mecha- ism, was formulated by McCarthy during this period, and
nism. proved to be robust and important. Declarativism insists
A language implementation may have rules about the that a program’s knowledge about objects and relations
relative placement of executable and nonexecutable be encoded explicitly so that other programs can access
statements. Usually, it is required that all declarations and reason with that knowledge.
appear before the first executable statement of a pro- In the early 1960s, the focus of AI shifted from perfor-
gram; in other cases it is required only that declarations mance to generality—how one problem-solving mecha-
appear before any information in them is required by an nism can solve a wide variety of problems. The most
executable statement. One of the distinguishing features well-known AI efforts of the time were the general prob-
of Cobol is its total separation of executable statements lem solvers, both heuristic programs and theorem prov-
(in the Procedure division) from nonexecutable state- ers. While these programs exhibited considerable
ments (in the Environment and Data divisions). generality, the actual problems these were able to solve
were very simple, essentially toy, problems: i.e. the pro-
DANIEL D. MCCRACKEN AND SEYMOUR V. POLLACK grams had high generality but low power.
In 1965, Feigenbaum, Lederberg, and Buchanan at
Stanford University initiated a project in modeling scien-
EXECUTION TIME. See Compie ANp RUN TIME. tific reasoning, for which the goal of high performance
was once again given prominence. The task of this pro-
gram, called DENDRAL, was to interpret the mass spec-
trum of organic molecules in terms of a hypothesis of the
EXECUTIVE. See Oreratinc SYSTEM. structure of the organic molecule that was present in the
instrument (Lindsay et al. 1980).
The intent of DENDRAL's designers was that the pro-
gram was to perform the difficult mass spectral analysis
EXPANSION SLOT. See Mornersoarn. task at the level of competence of specialists in that area.
As it turned out, Al’s problem-solving methods (primarily
search-based methods) were useful, but not sufficient.
Most important in achieving the goal of expert-level com-
petence was knowledge of chemistry and mass spectros-
EXPERT SYSTEMS copy. The key empirical result of DENDRAL experiments
For articles on related subjets see ARTIFICIAL INTELLIGENCE; became known as the knowledge-is-power hypothesis
and KNOWLEDGE REPRESENTATION. (later called the knowledge principle), stating that knowl-
edge of the specific task domain in which the program is to
Most applications of artificial intelligence (AD sci- do its problem solving was more important as a source of
ence and technology are of a type called expert systems. power for competent problem solving than the reasoning
An expert system (ES) is a computer program that rea- method employed (Feigenbaum, 1977).
sons, using knowledge, to solve complex problems. This The knowledge that DENDRAL needed was provided
overly brief caricature will be expanded upon below, but by scientists of the Stanford Mass Spectrometry Labora-
it serves to indicate an alignment of ES with Al’s long-term tory, in an intense collaboration with the AI scientists.
goals. Traditionally, computers solve complex problems Such efforts at codifying the knowledge of specialists for
EXPERT SYSTEMS 537
use in expert systems later came to be called knowledge error-free. XCON has been extended to many different
engineering. The first use of the term “expert” in connec- families of DEC computers and other equipment, and was
tion with such programs was made in an article analyzing generalized into an ES calied XSEL to assist DEC salespeo-
the generality vs. power issue in the light of the results of ple to correctly configure and price equipment sales at
DENDRAL computational experiments (Feigenbaum et al., the time of customer contact. XCON had an immediate
1971). effect outside of DEC: most other computer manufactur-
In short, the DENDRAL program was the progenitor ers copied the idea for their own operations. More im-
of the class of programs subsequently called expert portant, the success of XCON opened the way to a
systems, and the development of DENDRAL illustrated broader generalization: most devices that are engineered
the major principles, issues, and limitations of expert and manufactured are built out of component sub-
systems that will be discussed later. A case has been assemblies; hence, the XCON idea could be used to realize
made that an M.IT. project of the same era, Macsyma, a new generation of CAD, or “intelligent CAD,” as it is
that built a program to assist people in doing complex called.
symbolic mathematics, shared with DENDRAL the same Schlumberger’s Dipmeter Adviser (DA) is typical of
underlying view of the primacy of domain-specific knowl- programs that analyze streams of data (with or without
edge and the same motivation to achieve high levels of real time considerations) and propose hypotheses to ac-
competence in performance (McCorduck, 1979). How- count for and explain the data. DA interprets the data
ever, the Macsyma papers and extended work were taken from instruments lowered into bore holes during
focused on the domain of symbolic mathematics, where- the search for oil and gas. It offers hypotheses about the
as the DENDRAL papers and extended work actually tilt, or so-called “dip,” of the rock layers far beneath the
provided the foundation for most of the subsequent ES earth’s surface. Knowing the dip of each of the hundreds
technology. of rock layers in a bore hole is valuable in oil exploration.
Extensions of DENDRAL, done in the 1970s, were of Another example of a program that interprets signal
two types. First, many pioneering expert systems were data to produce hypotheses is the Charley program of
built by Al researchers to explore and extend the new General Motors, for analyzing vibrations of machinery as
technology and, by the sheer weight of accumulating a means of troubleshooting mechanical equipment, par-
evidence of capability, to lend credibility to the ES tech- ticularly automotive and manufacturing equipment
nology and to knowledge engineering. The earliest and (Bajpai and Marczewski, 1989). This ES is a model of the
most famous of these was the MYCIN system, which expertise of a senior GM specialist in vibrational analysis
showed the first integrated architecture for interactive whose retirement was imminent, and is an instance of a
consultation between an expert user and an ES, including very important class of ESs that are done to capture and
explanation of the line of reasoning and was the first of a preserve rare corporate expertise.
fruitful line of applications of ES to medical diagnosis With similar motive, an ES was built by DEC for Lend
(Buchanan and Shortliffe, 1984). Second, the underlying Lease, the largest construction firm in Australia, for the
programming systems and languages of these ESs, that task of estimating the time to completion of high-rise
embodied the reasoning procedures and the framework buildings with an accuracy of +10 percent from just the
for representing knowledge, were generalized so that they first few hours of preliminary discussions with the cus-
were no longer domain-specific and therefore could be tomer. Similarly, also, NKK Steel Co. in Japan modeled the
used as programming systems and languages for the con- expertise of one of their senior specialists in blast furnace
struction of new, albeit similar, ESs. Such software came operations (he is called at NKK “the furnace god”) in an
to be known as ES “development environments” or “ES ES that predicts in near-real time the probability of two
tools” or “ES shells.” The pioneering tool/shell, derived different types of catastrophic failures of blast furnace
from MYCIN, was EMYCIN, the prototype for literally doz- operations. This ES was built with the intention of selling
ens of commercially available ES shells (Van Melle et al., it to buyers of NKK blast furnaces. (NKK makes equip-
1984). ment as well as steel.)
The use of an ES to improve the quality of human
Transfer of ES Technology into Practice As decisions was the motive behind the well-known
the 1970s came to a close, so did the decade of laboratory Authorizers’ Assistant (AA) of American Express. To as-
exploration of the first-generation ES ideas and tech- sist a human authorizer with the decision to allow or
niques. A period of transfer of the technology to industrial disallow a customer charge, AA analyzes a large amount
use began and is still underway (1991). The two best- of customer data from the database files that AmEx keeps
known early industrial applications were XCON from Dig- on the customer; then AA issues a recommended deci-
ital Equipment Corporation and the Dipmeter Adviser sion, offers the explanation or rationale for its recommen-
from Schlumberger Ltd. dation, and gives the human authorizer a screenful of the
XCON’s task was the configuration under constraints data that supports its recommendation. The payoff in
of a DEC minicomputer from a large number of compo- terms of avoiding bad debt and fraud amounts to millions
nent subassemblies. The configuration task was done so of dollars per year.
fast and so accurately by XCON that DEC saved tens of ESs have been built to assist people with the accurate
millions of dollars per year in manufacturing and sales and timely processing of “cases” in the context of very
operations. XCON configures minicomputers about 300 complex systems of bureaucratic laws, rules, and regula-
times faster than human engineers and does it virtually tions. A system done for the British Social Security Ad-
538 EXPERT SYSTEMS
User
ministration assists clerks in answering the written que-
ries of citizens concerning their pensions. The Taxpayers’
Assistant Expert System of the U.S. Internal Revenue Ser-
vice helps IRS personnel to give accurate tax information
Knowledge User-Interface
in response to telephoned queries from taxpayers (usu-
Acquisition
ally in the few months before tax returns are due). And in
subsystem
both Fresno and Tulare Counties of California, ESs assist
social welfare case workers with the decision about
whether a person applying for welfare qualifies under the Explanation
complex rules. subsystem
There are major applications of ES across the com-
plete spectrum of human professional and semi-profes-
sional work: in medicine, law, manufacturing, sales,
maintenance, engineering, architectural design, finance,
insurance, and so on. Presently (1991), there are tens of
thousands of operational ESs, in the U.S., Japan, and Eu- Interface Engine
Knowledge Base Reasoning with
rope primarily, though increasing numbers are seen in Facts, Heuristics
Australia, Singapore, and India (which has a National Cen- uncertainty
Nee
ter for Expert Systems in Hyderabad).
known, then backward chaining with rules is employed, destroyed this bottleneck. Stating the question in an-
seeking conditions under which a particular line of rea- other way, where do we stand with machine learning
soning will be true. for ES applications? Although the field of machine learn-
Sometimes, an inflexible commitment to either for- ing research is quite vigorous and exciting, virtually no
ward or backward chaining is not optimal, especially if techniques have emerged to help with ES knowledge
new data is arriving needing interpretation, and if a chang- acquisition (with the exception of a few simple inductive
ing situation demands that goals change. In these cases, algorithms that allow the inductive formation of some
an opportunistic strategy that allows the flexible mixing kinds of rules from data sets (Finebaugh, 1988)). In the
of some forward chaining with some backward chaining early 1990s, the size of a typical ES was 107-10° rules
is used. Opportunistic problem solving strategies are the and/or objects. Some ESs were of order 10*. Only a few
hallmark of blackboard systems (Nii, 1989). (perhaps even just one or two) were of order 10°.
Other procedures commonly found in expert sys-
tems are procedures for reasoning with uncertain informa- Research Aimed at Removing Limitations
tion, as well as knowledge and procedures for explaining The techniques that made first generation ESs work at all
the line of reasoning to the user. were also responsible for the key limitations of the tech-
Knowledge of a domain and of a particular problem nology. These are narrowness (or overspecialization) and
is almost always incomplete and uncertain. To deal with its sibling, brittleness. The Knowledge Principle tells us
uncertainty, a rule may have associated with it a confi- that an ES has little competence outside of the domain of
dence factor (CF), or weight. A standard calculus for using specialization for which its knowledge base has been
CFs to construct and evaluate lines of reasoning is avail- carefully and systematically built. Since the ES knows
able. In an alternative method, called fuzzy logic, uncer- only that, and has no ability to generalize, analogize, or in
tainty is represented by a distribution of values, and any other way extend knowledge, it can only solve prob-
another standard calculus is available for handling these lems of that kind—thereby exhibiting narrowness. If a
distributions. Finally, where sufficient statistical data is problem posed by a user is simply beyond the boundary
available, Bayes’ Theorem and its associated calculations of what the ES knows about, the ES’s performance de-
have been used (Buchanan and Smith, 1989). grades ungracefully (with brittleness), falling from expert
Since ESs explicitly build lines of reasoning, there is levels of competence to complete incompetence. The
little difficulty in responding to users’ questions about the boundaries of an ES’s knowledge, hence the margins of its
line of reasoning: how and why did it take the form that it competence, are almost never represented explicitly so
has? Typical questions that can be answered by the expla- that this knowledge can inform the user and also be
nation procedure are: “Why are you asking me that (partic- available to the reasoning process.
ular) question?,” or “How did you conclude (something)?” First generation ESs usually represent associational
Also, “Show me your line of reasoning (main conclusions, or phenomenological knowledge (i.e. knowledge near the
intermediate and final).” The explanation procedure an- surface of events), not the knowledge of what is deep
swers these questions by looking back at what rules were below the surface, causing the events. Such deeper knowl-
examined, which were selected and why, and what conclu- edge is called “first principles” knowledge or model-based
sions were drawn. knowledge. Methods for representing such knowledge and
From the applications viewpoint, the Al science procedures for the inference engines of model-based rea-
offers only a small number of practical techniques for soners are important topics being vigorously researched
representing knowledge, for making inferences (certain by the AI community. It is readily seen that this kind of
and uncertain) and for generating explanations. Com- knowledge helps to remove the limitations of narrowness
mercial software systems are offered that carefully in- and brittleness, since the use of principles and models
tegrate various selections from this small menu to assist generalizes much more readily than does the phenomeno-
knowledge engineers who do not want to program the logical description of events (e.g. on the IF side of arrule).
techniques themselves to build their expert systems. The breadth of an ES’s competence can also be ex-
These are the hybrid commercial tools or shells of the tended with cases (i.e. “worked examples”) that have
ES software industry, with representative names like KEE been experienced in the past. Human experts know a
(Knowledge Engineering Environment) and ART (Ad- great many particulars not necessarily in the rule form
vanced Reasoning Tool). The use of these tools/shells but in the case form. A major branch of second-generation
is very widespread—indeed, the method of choice in ES research is concerned with the representation of case
building expert systems. Powerful tools/shells are avail- libraries and methods for reasoning from cases that are
able on all platforms from PCs to mainframes. fundamentally different from the earlier methods based
Note, however, that although tools/shells simplify on logical chaining, fuzzy logic, or Bayes’ Theorem.
programming ESs, they do not usually help with the Finally, there is the engineering economics of ES con-
crucial bottleneck problem of knowledge acquisition. As struction. Each ES is built from scratch. In first generation
the Knowledge Principle informs us, the choice of rea- ESs, there is almost no reuse of knowledge and there is no
soning method is important, but not nearly as important systematic way in which a community of knowledge engi-
for the ES’s ultimate performance as the accumulation neers cooperate to allow their ESs to share knowledge.
of high-quality knowledge. It might be asked why auto- The conceptual infrastructure of knowledge sharing and
reuse is presently a major topic of research, and will be
matic methods of extracting knowledge from experts,
heard from during the 1990s under such names as knowl-
from textbooks, and from real world data have not
540 EXPRESSION
edge interchange formats (KIF), ontolingua, shared may stand alone and be evaluated immediately to yield
ontologies, national engineering knowledge bases, and a particular value in expression-oriented languages such
national “common sense” knowledge bases. as Lisp or APL.
A statement-oriented language is one in which sen-
References tence-like statements calculate and save intermediate
values but (except for specific I/O statements) do not
1971. Feigenbaum, E. A., Buchanan, B. G., and Lederberg, J. “On
print them. In Pascal, for example, the statement p :=
Generality and Problem Solving: A Case Study Using the DEND-
RAL Program,” in Machine Intelligence 6, B. Meltzer and D. a * b + c is composed of an identifier (variable name)
Michie (Eds.) Edinburgh: Edinburgh University Press. p, a replacement symbol, :=, and the expression a * b
1977. Feigenbaum, E. A. “The Art of Artificial Intelligence: Themes + c. Such an expression makes sense to the Pascal
and Case Studies of Knowledge Engineering,” Proceedings of compiler if all of its identifiers have been previously
the International Joint Conference on Artificial Intelligence. declared as to type (real, integer, etc.) and if it is well
Cambridge, MA: The M.LT. Press. formed according to the grammatical rules of the lan-
1979. McCorduck, P. Machines Who Think, San Francisco: Free- guage. The expression will make sense at execution
man.
time if, by the time it is reached during program flow,
1980. Lindsay, R. K., Buchanan, B. G., Feigenbaum, E. A., and
all of its identifiers have been assigned specific values
Lederberg, J. Applications of Artificial Intelligence for Organic
Chemistry: The DENDRAL Project, New York: McGraw-Hill. that enable evaluation of the expression and storage
1984. Buchanan, B. G. and Shortliffe, E. H. Rule-Based Expert of the result at the identifier specified to the left of
Systems: The MYCIN Experiments of the Stanford Heuristic Pro- the replacement symbol.
gramming Project. Reading, MA: Addison-Wesley. An expression-oriented language is one in which ex-
1984. van Melle, W., Shortliffe, E. H., and Buchanan, B. G. “EMYCIN: pressions may stand alone such that, when encountered
A Knowledge Engineer's Tool for Constructing Rule-Based Ex- during program flow, their value is calculated and printed
pert Systems,” in Rule-Based Expert Systems: The MYCIN Exper- immediately. Thus, if the expression 3 + 4 is presented to
iments of the Stanford Heuristic Programming Project," B. G.
APL at an interactive terminal session, APL will respond
Buchanan and E. H. Shortliffe (Eds.) Reading, MA: Addison-
immediately by outputting 7.
Wesley.
1987. Genesereth, M. and Nilsson, N. Logical Foundations of Artifi- An expression that is valid in one high-level language
cial Intelligence. San Mateo, CA: Morgan Kaufmann. might be invalid in another or, even if valid, produce
1988. Feigenbaum, E., McCorduck, P., and Nii, H. P. The Rise of the a different result. Thus, a**b is a valid Fortran expres-
Expert Company. New York: Times Books. sion, but is not valid in Pascal, which does not have
1988. Firebaugh, M. W. Artificial Intelligence: A Knowledge-Based an exponentiation operator. The upper-case equivalent
Approach. Boston, MA: Boyd and Fraser. of the expression used earlier, A*B+C, would be ac-
1989. Bajpai, A. and Marczewski, R. “Charley: An Expert System ceptable to APL, but would have an entirely different
for Diagnostics of Manufacturing Equipment,” in Jnnovative
meaning because of different interpretations of the «
Applications of Artificial Intelligence, H. Schorr and A.
operator (multiplication in Pascal, exponentiation in
Rappaport (Eds.) Cambridge, MA: AAAI Press/The M.1.T.
Press. APL) and different operator precedence. To obtain the
1989. Buchanan, B.G. and Smith, R.G. “Fundamentals of Expert same meaning, the APL programmer would write
Systems,” in The Handbook of Artificial Intelligence, Vol. IV, A. (AXB)+C or C+AXB and the Lisp programmer would
Barr, P.R. Cohen, and E.A. Feigenbaum (Eds.). Reading, MA: write (PLUS (TIMES A B) C) because that language uses
Addison-Wesley. a fully-parenthesized notation in which operators pre-
1989. Nii, H. Penny. “Blackboard Systems,” in The Handbook of cede their operands (prefix form).
Artificial Intelligence, Vol. IV, A. Barr, P. R. Cohen, and E. A. Most high-level languages allow use of expressions in
Feigenbaum (Eds.). Reading, MA: Addison-Wesley. contexts other than replacement statements. A typical
use is for subscript selection. For example, the Pascal
EDWARD A. FEIGENBAUM
statement
Definitions Remarks
number So is a number.
Expressions separated by an
expression operator expression Operator are expressions.
An expression in parentheses
(expression) is still a valid expression.
FIG. 1.
542 EXTENSIBLE LANGUAGE
The extension mechanisms can be further subdivided and used with different operand modes, evoking different
into semantic extension facilities and syntactic extension computations. This is accomplished by checking and
facilities. matching modes during the compilation.
Semantic extensions introduce new kinds of objects The above example gives a glimpse of the power of the
to the languages such as additional data types or opera- concept. In a similar fashion, these facilities could be used
tions, whereas syntactic extensions create new notations to define polynomials or logical formulas as objects for
for existing or user-defined mechanisms. programs that manipulate formulas, with operations that,
Among others, Ada, Algol 68, Basel, EL1 (Extensible for example, add, multiply, intersect, or unite these objects
Language 1), GPL (General Purpose Language), PPL (Poly- in a formal rather than a numeric way. In computer graph-
morphic Programming Language), Proteus, and Snobol4 ics applications, pictures could be defined as new objects
are languages that are extensible to a higher or lower with operators that overlay, scale, or rotate them, etc.
degree. Both mechanisms demonstrated use only notational
Languages such as Fortran and Cobol are not exten- patterns that are part of the language Algol 68, namely, the
sible in the technical sense, although they have been mode declaration and the infix operator notation. Algol 68
enhanced over the years by the addition of new features. does not allow the user to redefine the syntactic form of a
However, these enhancements are, in fact, modifications statement; thus, it does not provide syntactic extensions.
of the language definitions and not extensions accom- Where syntactic extension mechanisms are avail-
plished by an extension mechanism that is part of the able, they usually have the general form
language and, thus, accessible to the user.
As an example of semantic extensibility, consider the phrase a means B
mode (i.e. type) and operator definition facilities pro-
vided by Algol 68 as demonstrated by the following pro- Here, a is a new syntactic pattern defined to invoke the
gram segment: program segment f . For more detail, see Schuman and
Jorrand (1970) and SIGPLAN Notices (1971).
mode point = struct (real x, y);
Extensible languages are mainly of historical import-
Comment: A new object of the mode point is being ance. Together with the work in structured programming
defined as a structure of two real components. The com- in the late 1960s and early 1970s, they furthered efforts to
ponents are accessed by the selectors x and y.¢ reexamine and generalize programming language primi-
tives that have led to the more recent research in the area
priority —- = 6; of abstraction mechanisms. As one result, for example,
Comment: The symbol — - is declared to be an infix the importance of devices for the specification of what are
operator symbol of priority level 6, i.e. the level of addi- now Called abstract data types (g.v.) has been widely
recognized. These devices, pioneered by Simula 67 (1967)
tion.¢
with its class (q.v.) concept, have hence become central
op —-— = (point p]1, p2) real: features of such later languages as CLU, Alphard, Euclid,
sqrt ((x
of pl] — x of p2) T 2 + (y of pl — y of p2) T2; Modula, and Ada.
543
544 FAST FOURIER TRANSFORM
will have a factor p in common with n. When this happens, FAST FOURIER TRANSFORM
the inversion modulo n will fail and n will be factored.
When a number of random elliptic curves are tried, For Articles on related subjects see ALGORITHMS, ANALYSIS
this algorithm will discover a factor p of n in about OF; DISCRETE MATHEMATICS; and NUMERICAL ANALYSIS.
exp(V2 logp log log p) operators. It has been used with
great success to find prime factors in the 10- to 30-digit
range, with a few larger successes.
The Discrete Fourier Transform The Fast Fourier
Transform (FFT) refers to a family of numerical algorithms
for computing the Discrete Fourier Transform (DFT). In
Quadratic Residue Methods The methods de- complex notation, the DFT is defined by
scribed so far usually discover small prime factors of n
before large ones, and their running times increase with
the size of the factor found. In contrast, the methods a(n) = Sway (1)
described below have running times that increase with j=0
the size of n and are independent of the size of the factor
where x(/), j = 0,1,2,..., N - 1 is a given sequence of
discovered. They are most effective for factoring numbers
complex numbers and
without small factors. They are used when the earlier
methods fail.
In the quadratic residue methods, many quadratic
W, = exp (- 2m /N) (2)
residues modulo n are generated. These are solutions to
This can be written as a series of sines and cosines by
the congruence A? = Q (mod n). The prime factors of the
making the substitution
Q’s are matched up (by Gaussian elimination over GF(2))
to form squares. Then subsets of the congruences are wr = cos(2mnj/N) — i sin(
2anj/N) G3)
multiplied to produce several congruences of the form x
= Y’ (mod n). Each congruence like this gives a chance to
factor n, as GCD(X — Y, n) may be a proper factor of n. The Most of the important applications of the FFT involve the
methods differ in the way the factored quadratic residues inversion theorem and the convolution theorem. The in-
version formula is
Q are produced.
The Continued Fraction Algorithm of Morrison and
Brillhart derives the congruences A? = Q(mod n) from the
Dac Nn "Fya(nyWe wy (4)
simple continued fraction expansion of Vn. The Q’s are
n=0
factored by trial division by a fixed set of small primes
called the factor base. The Q’s are more likely than random
and can be computed by the same algorithm that com-
quadratic residues to have only small prime factors be-
putes Eq. (1). A direct calculation according to the defin- -
cause they are smaller than 2Vn. This method has been
ing formula (1) would require N* complex multiplications
used to factor numbers as large as 62 digits.
and N Xx (N- 1) complex additions. If N = N,N,...N,,, an FFT
The Quadratic Sieve Algorithm of Pomerance gener-
algorithm can compute the same DFT in N(N, + IN, Spout
ates the Q’s as part of the range of a quadratic polynomial.
N,,) complex multiplications and N(N, + N, + ... + N,)-
The regularity of their rule of formation allows them to be
m) complex additions. For simplicity, approximate ex-
factored by a sieve rather than by trial division, which is
pressions will be used, and this will be referred to as
slow. This method has been used to factor numbers as
large as 111 digits.
NN, +N, +... +N.) (5)
A related algorithm, the Number Field Sieve, was
developed in 1990. It works best on numbers of the form multiply-adds or just “operations.” For N > 4, this is much
b" + c, where b and c are small positive integers. This smaller than N? operations required by direct calculation
method has been used to factor numbers as large as 148 of the sums in (1). For N equal to a power of 2, very simple
digits, but only ones of the special form. efficient programs can compute the DFT in NV log,N oper-
ations, yielding a speed-up factor of N/log,N. Other
References choices of N with small factors lead to simple programs
1969. Lehmer, D. H. “Computer Technology Applied to the Theory with comparable efficiency and a broad selection of pos-
of Numbers,” Studies in Number Theory, MAA Studies in Math- sible N-values.
ematics, Vol. 6, Englewood Cliffs, NJ: Prentice-Hall. The convolution theorem permits one to use the FFT
1976. Guy, R. K. “How to Factor a Number,” Congressus Numerant- to compute convolution and covariance functions. The
ium XVI, Proceedings of the Fifth Conference on Numerical Math- theorem states that given two periodic sequences x)
ematics, Winnipeg, 49-89. and y(j) with period N, the DFT of the cyclic convolution
1981. Knuth, D. E. The Art of Computer Programming, 2, Semi-
numerical Algorithms, 2nd Ed. Reading, MA: Addison-Wesley. N-1
1985. Riesel, H. Prime Numbers and Computer Methods for Factor-
ization. Progress in Mathematics, 57, Boston, MA: Birkhauser.
2(j)= Yix(@yG-k) 7 =0,1,..,N-1
n=0
(6)
c(n) = a(n)b(n), n= 0,]1,...,N-1 (%) called. It is often advantageous to transpose all arrays to
obtain an algorithm that starts with data in permuted
where b(n) is the DFT of y(j). Thus, the DFT method can order and gives results in correct order.
compute the convolution in a number of operations pro- If Nhas more than two factors, one may iterate with
portional to N log N instead of N 2. the above algorithm and obtain an algorithm requiring
The DFT is used extensively in digital signal process- the number of operations in (5).
ing, statistical analysis, and in the solution of differential
and difference equations.
The Radix 2 FFT WhenN, =N, =... =N,, = 2, the
mapping to m dimensions expresses each data element in
The General Arbitrary Factor Algorithm Al- terms of the bit representation of its index. The transpose
though the basic idea in the FFT algorithm had been used
mentioned above is a bit-reversal permutation defined by
earlier (Cooley et al., 1967, and Heideman et al. 1984), it
was not generally known and used until the mid-1960s
I VioJaren
—1Im) = XO mnIm — 19dJo) (15)
(Cooley and Tukey, 1965, and Cooley et al., 1969). It may
be described as follows: Consider N with two factors, N The radix 2 algorithm assumes the form of a series of
= N,N, and the mapping from one-dimensional to two- two-point DFTs:
dimensional indices:
4:0; is iio a Oi dandd dra ridieia)
x(j).= XC J) i eae + j,N, (8)
GO pid boss Diz Gi Onli] DEG ious
a(n) = a(n,, n,), n=n,+n.N,, (9)
a,(n,, 0, ja)... pePD eae Crea UeRa
This maps x(/J) into an N, X N, array and a(n) into an N,
x N, array as follows: The one-dimensional DFT is ex- + (My, 1, fzy--es
i) Wa"
pressed as a two-dimensional DFT:
GW li Jaren
fe) = is Undert)
NES Nil = Gi (Wy lsdarccedn)
ae
a(n.) = Y xin
i WH (10)
j,=0 j,=0 AX(N,, Ny, 0,...5J,,) = Ag(M,. My, 0,..-5J,,)
+ a,(n,, Ay 1,...,j, Wet
where
wi = Wy? zs JN Xn, osnN) _ wins Wenw ne wi“ 1) a,(N,, No, 1,...5 J) = Aq(Nj, Mo, 0,..-+ Fan)
= Gol Aiadto Ineo Wat anes
Since W,) = 1 and we* = W,, substitution in Eq. (10) gives sient ote (16)
GQ,(My» Moy Myy---) O) = A,_1Cys Ng) Ny---» O)
m=)
n+2n.+..+2 on
N.-1 N,-1
ages
5
iY,
3
jn 5s Me Oy Pee eer eeEee m-1
N-1 .
The Fortran program listing in Fig. 1 for the radix 2 algo-
ait) = Yin i Wy" rithm demonstrates the use of the above algorithm. Writ-
i= 0 (13) ten to explain the algorithm rather than to achieve
efficiency, it is referred to as the “decimation in time
It is multiplied by the “twiddle factor,” wee and a second algorithm.” A slight change in the factoring of W”” leads
to the form referred to as the “Sande Tukey” or “decima-
set of Fourier transforms is computed:
tion in frequency” form of the algorithm. A radix 4 algo-
rithm saves one out of four complex multiplications and
“me , : has an advantage on RISC architecture (q.v.) machines,
a Jf, Jn
a,(n,n)= > {a,(i, n,) Wy jog s where more calculations can be done in registers without
j= 8 ’ (14) intermediate store load operations.
This is a 2-dimensional DFT with a twiddle factor multipli- The Mutually Prime Factor Algorithm If X,
cation applied to the intermediate array a,(j,, n,). Finally, and N, are mutually prime factors of N, one can use a
it is noted that the resulting array a,(n,, n,) has the different mapping from one-to-two dimensional indices:
required values of the result, a(n,, n,), but they are in a
transposed array, or in “digit-reversed” order, as it is j=i,N, + iN, mod N a7)
546 FAST FOURIER TRANSFORM
where Q, and Q, are idemponents under multiplication which puts the DFT matrix in the form
mod N, i.e.
; joan
more multiplications and schedule the calculations as involve partitioning a computing system into modules.
was done above for the prime factor algorithm and use Each module is backed up with protective redundancy
Winograd’s efficient small DFT algorithms for each of the so that, if the module fails, others can assume its
factors (Kolba and Parks, 1977). function. Special mechanisms are added to detect errors
_ Very efficient general-purpose FFT subroutines com- and implement recovery. Recent research has centered
bine all of the above algorithms and permit the efficient on making software more dependable.
calculation of the DFT for a wide selection of N values. Two general approaches to hardware fault recovery
When the data is real, or real and symmetric (cosine have been used: 1) fault masking, and 2) dynamic recov-
transform) or real and anti-symmetric (sine-transform), ery. Fault masking is a structural redundancy technique
special efficient algorithms can be used to avoid redun- that completely masks faults within a set of redundant
dant calculations. modules. A number of identical modules execute the
same functions and their outputs are voted to remove
References errors created by a faulty module. Triple modular redun-
1965. Cooley, J. W. and Tukey, J. W. “An Algorithm for the Machine dancy (TMR) is a commonly used form of fault masking in
Calculation of Complex Fourier Series,” Mathematics of Com- which the circuitry is triplicated and voted. The voting
putation, 19 (April) 297. circuitry is also triplicated so that individual voter fail-
1967. Cooley, J. W., Lewis, P. A. W., and Welch, P. D. “Historical ures can also be corrected by the voting process. A TMR
Notes on the Fast Fourier Transform,” JEEE Trans. Audio Elec- system fails whenever two modules in a redundant triplet
troacoustics, AU-15 (June), 76-79. create errors so that the vote is no longer valid. Hybrid
1968. Rader, C. M. “Discrete Fourier Transforms When the Num- redundancy is an extension of TMR in which triplicated
ber of Data Samples is Prime,” Proc. JEEE (Letters), 56 (June) modules are backed up with additional spare modules,
1107-1108. , which are used to replace faulty modules. When a module
1969. Cooley, J. W., Lewis, P. A. W. and Welch, P. D. “The Fast
disagrees within a triplet, the two remaining good ma-
Fourier Transform Algorithm and its Applications,” /EEE
chines command its replacement with a spare. A triplet,
Trans. on Education, E-12, (March) 27-34.
1974. Winograd, S. “Arithmetic Complexity of Computations,” backed up with N spares, can tolerate N + 1 module
CBMS-NSF Regional Conference Series in Applied Mathemat- failures. Voted systems require greater than three times
ics, Philadelphia: SIAM. as much hardware as non-redundant systems due to rep-
1977. Burrus, C. S. “Index Mappings for Multidimensional Formu- lication of modules and the further addition of voter
lation of the DFT and Convolution,” JEEE Trans. Acoust. Speech circuits, which is the price of automatic fault recovery.
and Signal Processing, ASSP-25, 3 (June), 239-242. Dynamic recovery involves automated self-repair. As
1977. Silverman, H. F. “An Introduction to Programming the in fault masking, the computing system is partitioned into
Winograd Fourier Transform Algorithm (WFTA),” /EEE Trans. modules backed up by spares as protective redundancy.
Acoust. Speech, Signal Processing, ASSP-25, 2 (April), 152-164.
In the case of dynamic recovery, a special mechanism
1977. Kolba, D. P. and Parks, T. W. “A Prime Factor FFT Algorithm
detects faults in the modules, switches out a faulty mod-
Using High-Speed Convolution,” JEEE Trans. Acoust. Speech,
Signal Processing, ASSP-25, 4 (August) 281-294. ule, switches in a spare, and instigates those software
1984. Heideman, M. T., Johnson, D. H. and Burrus, C.S. “Gauss and actions (rollback, initialization, retry, restart) necessary
the History of the Fast Fourier Transform,” The ASSP MAga- to continue the ongoing computation. The few existing
zine, 1, 4, (October). uniprocessors of this type depend upon special hardware
1984. Burrus C. S. and Johnson, H. W. “An In-Order In-Place Radix- to carry out this function of automated recovery. This
2 FFT,” Proceedings of the International Conference on Acoustics special hardware is made as simple as possible and is
Speech and Signal Processing, p. 28A.2.1. protected by TMR or hybrid redundancy. In multiproces-
sors and distributed computing systems (g.v.), the spe-
JAMES W/, COOLEY
cial recovery function is usually implemented by one of
the other non-faulty machines in the system.
Recent efforts to attain fault-tolerance in software
have used static and dynamic redundancy approaches
FAULT-TOLERANT COMPUTING similar to those used for hardware faults. One such ap-
For articles on related subjects see ERROR-CORRECTING proach, N-version programming, uses static redundancy
CODE; and ERRORS. in the form of independently written programs (versions)
that perform identical functions and are executed concur-
Fault-tolerant computing is the art of building comput- rently. The goal is to vote out any error in one of the
ing systems that continue to operate satisfactorily in the versions. They are voted at special checkpoints to re-
presence of faults (i.e. hardware or software failures). An move errors from a faulty version, and the faulty version
extensive methodology has been developed in this field is resynchronized with the others. An alternative dy-
over the past two decades. Several fault-tolerant ma- namic approach is based on the concept of recovery
chines have been developed, and a large amount of sup- blocks. Programs are partitioned into blocks and accep-
porting research has been reported. | tance tests are executed after each block. If an acceptance
The majority of fault-tolerant designs have been test fails, a redundant code block is executed.
directed toward building computers that automatically An approach called design diversity combines hard-
recover from faults occurring in internal hardware com- ware and software fault-tolerance by implementing a
ponents. The techniques employed to do this generally fault-tolerant computer system using different hardware
548 FAULT-TOLERANT COMPUTING
and software in each of several different channels. Each catastrophic. They are designed for applications such as
channel is designed to provide the same function, and a control of aircraft, mass transportation systems, and nu-
method is provided to identify if one channel deviates clear power plants. The applications justify massive in-
unacceptably from the others. The goal is to tolerate both vestments in redundant hardware, software, and testing.
hardware and software design faults by using a redundant The first operational machine of this type was the
channel if one should fail. This is a very expensive tech- Saturn V guidance computer, developed in the 1960s. It
nique, but it is useful in very critical applications. contained a TMR processor and duplicated memories
(each using internal error detection). Processor errors
History The SAPO computer built in Prague, Czecho- were masked by voting, and a memory error was Cir-
slovakia was probably the first fault-tolerant computer. It cumvented by reading from the other memory. The next
was built in 1950-1954 under the supervision of A. machine of this type was the space shuttle computer. It
Svoboda, using relays and a magnetic drum memory. The was a rather ad-hoc design that used four computers that
processor used triplication and voting (TMR), and the executed the same programs and were voted. A fifth,
memory implemented error detection with automatic non-redundant computer was included with different pro-
retries when an error was detected. A second machine grams in case a software error was encountered.
developed by the same group (EPOS) also contained com- During the 1970s, two influential fault-tolerant ma-
prehensive fault-tolerance features. The fault-tolerant fea- chines were developed by NASA for fuel-efficient aircraft
tures of these machines were motivated by the local that require continuous computer control in flight. Since
unavailability of reliable components and a high probabil- these machines were intended for life-critical applica-
ity of reprisals by the ruling authorities should the ma- tions, they were designed to meet the most stringent
chine fail. reliability requirements of any computer to that time.
Over the past 25 years, a number of fault-tolerant Both machines employed hybrid redundancy. The first,
computers have been developed that fall into three gen- designated Software Implemented Fault Tolerance (SIFT),
eral types: 1) long-life, unmaintainable computers, 2) was developed by SRI International. It used off-the-shelf
ultradependable, real-time computers, and 3) high-avail- computers and achieved voting and reconfiguration
ability computers. through software. The second machine, the Fault-Toler-
ant Multiprocessor (FTMP) developed by the C. S. Draper
Long-Life, Unmaintained Computers Applica- Laboratory, used specialized hardware to effect error and
tions such as spacecraft require computers to operate for fault recovery. A commercial company, August Systems,
long periods of time without external repair. Typical re- was a spinoff from the SIFT program. It has developed a
quirements are a probability of 95% that the computer will Can't Fail 300 system intended for process control appli-
operate correctly for 5-10 years. Machines of this type cations. The FTMP has evolved into the Fault-Tolerant
must use hardware ina very efficient fashion, and they are Processor (FTP), used by Draper in several applications.
typically constrained to low power, weight, and volume. The new generation of fly-by-wire aircraft are using
Therefore, it is not surprising that NASA was an early fault-tolerant computers of this type for flight control. The
sponsor of fault-tolerant computing. In the 1960s, the first Boeing 757 and 767 airliners use a triplicated Flight Con-
fault-tolerant machine to be developed and flown was the trol Computer and a duplex Flight Management Computer.
on-board computer for the Orbiting Astronomical Obser- The Boeing 737-300 and Airbus Airliners use redundant
vatory (OAO), which used fault masking at the component diverse channels in their flight control architectures.
(transistor) level. The Advanced Automation System, the largest fault-
The JPL Self-Testing-and-Repairing (STAR) computer tolerant computing project to date, has recently been
was the next fault-tolerant computer, developed by NASA initiated. It is being designed to replace the entire aircraft
in the late 1960s for a 10-year mission to the outer planets. control system throughout the U.S.
The STAR computer, designed under the leadership of A.
Avizienis was the first computer to employ dynamic recov- High-Availability Computers Many applications
ery throughout its design. Various modules of the com- require very high availability but can tolerate an occa-
puter were instrumented to detect internal faults and sional error or very short delays (on the order of a few
signal fault conditions to a special test and repair proces- seconds), while error recovery is taking place. Hardware
sor that effected reconfiguration and recovery. An experi- designs for these systems are often considerably less
mental version of the STAR was implemented in the expensive than those used for ultradependable real-time
laboratory and its fault-tolerance properties were verified computers. Computers of this type often use duplex de-
by experimental testing. Following the STAR, the Raytheon signs. Example applications are telephone switching and
Corporation developed a similar but higher performance transaction processing.
machine for the United States Air Force, designated the The most widely used fault-tolerant computer sys-
Fault-Tolerant Spaceborne Computer (FTSC). During the tems developed during the 1960s were in electronic
1970s, it was implemented and tested in the laboratory, switching systems (ESS), which are used in telephone
but the program was halted due to the unavailability of switching offices throughout the country. The first of
specialized components. these AT&T machines, No. 1 ESS, had a goal of no more
than two hours downtime in 40 years. The computers are
Ultradependable Real-Time Computers These duplicated, to detect errors, with some dedicated hard-
are computers for which an error or delay can prove to be ware and extensive software used to identify faults for
FIBEROPTICS 549
manual replacement. These machines have since evolved airplanes and mass transit control, and they are now
over several generations to No. 5 ESS (which uses a dis- appearing in automobiles. A large future market has been
tributed system controlled by the 3B20D fault tolerant predicted, and a number of major computer makers are
computer) and are possibly the most widely used fault- announcing plans for fault-tolerant products.
tolerant machines in the world. Two of the most important areas of future research
The largest commercial success in fault-tolerant com- are 1) dependable software, and 2) high-performance par-
puting has been in the area of transaction processing allel systems. As systems become more complex, soft-
(q.v.) for banks, airline reservations, etc. Tandem Com- ware errors dominate the causes of failure. This has
puters, Inc. was the first major producer and is the cur- become the most serious and difficult problem in current
rent leader in this market. The design approach is a fault-tolerant designs. A relatively new area of research is
distributed system using a sophisticated form of duplica- fault-tolerance in large, high-speed multicomputers and
tion. For each running process, there is a duplicated multiprocessors. These evolving architectures are aimed
backup process running on a different computer. The at ultra-high performance using state-of-the-art VLSI de-
primary process is responsible for checkpointing its state sign techniques. These designs are expected to require
to duplex disks. If it should fail, the backup process can extremely dense packaging, making manual repair diffi-
restart from the last checkpoint. Recently, Stratus Com- cult. The high complexity of the design together with the
puter has become a major producer of fault-tolerant ma- high-density of the chips is also expected to increase the
chines for high-availability applications. Their approach frequency of computing errors. New fault-tolerance tech-
uses duplex self-checking computers with error detection niques are required that can provide error.and fault re-
provided by internal duplication of processors and mem- covery in a hardware-efficient fashion, and that do not
ories. A pair of self-checking computers are run synchro- significantly degrade performance.
nously so that if one fails, the other can continue the
computations without delay. References
1978. Proceedings of the IEEE (Special Issue on Fault-Tolerant
Validation of Fault-Tolerance One of the most Computing) 66, /0 (October).
difficult tasks in the design of a fault-tolerant machine is 1980. Computer (Special Issue on Fault-Tolerant Computing) 13, 3
to verify that it will meet its reliability requirements. This (March).
requires creating a number of models. The first model is 1980. Ng, Y.-W. and Avizienis, A. “A Unified Reliability Model for
of the error/fault environment that is expected. Other Fault-Tolerant Computers, ” JEEE Trans. Computers C-29, 11:
models specify the structure and behavior of the design. 1002-1011 (November).
It is then necessary to determine how well the fault-toler- 1982. Siewiorek, D., and Swarz, R. The Theory and Practice of
Reliable System Design. Bedford, MA: Digital Press.
ance mechanisms work by analytic studies and fault sim-
1985. Anderson, T. (Ed.). Resilient Computing Systems Vol. 1, New
ulations. The results, in the form of error rates, fault-rates,
York: John Wiley and Sons.
latencies, and coverages, are used in reliability prediction 1987. Avizienis, A., et al., (Ed.). Dependable Computing and Fault-
models. ; Tolerant Systems Vol. 1: The Evolution of Fault-Tolerant Comput-
A number of probabilistic models have been devel- ing, Vienna: Springer-Verlag.
oped using Markov and semi-Markov processes to predict 1987. Nelson, V. P. and Carroll, B. D. (Eds.), Tutorial: Fault-Tolerant
the reliability of fault-tolerant machines as a function of Computing, Washington, DC: IEEE Computer Society Press.
time. These models have been implemented in several 1990. Computer (Special Issue on Fault-Tolerant Computing) 23, 7
computer-aided design tools. Some of the more recent (July).
tools are: DAVID A. RENNELS
Information Information
Optical _ Optical
Multiplexer receiver Repeater transmitter Multiplexer
FIG. 1. Typical optical fiber communication system.
ventional transmission system, except that the transmit- codes and common sense prohibit the use of
ter uses a light-emitting or a laser diode to convert elec- electrical conductors.
trical information signals to light signals while the
receiver uses a photodiode to convert the light back into
Types of Fibers Optical fibers are made of plastic,
electrical signals.
glass, or silica. Plastic fibers are the least efficient, but
Optical fibers offer so many distinct advantages that
tend to be cheaper and more rugged. Glass or silica fibers
they are rapidly replacing older transmission media in
are much smaller, and their lower attenuation makes
applications ranging from telephony to computers and
them more suited for very high capacity channels.
automated factories. These advantages include:
The basic optical fiber consists of two concentric
layers—the inner core and the outer cladding, which has
1. Large bandwidth—Modem optical fibers can have a refractive index smaller than that of the core. The char-
bandwidths 10 to 100 times greater than the best
acteristics of light propagation depend primarily on the
coaxial cables. With currently available technol-
fiber size, its construction, the refractive index profile,
ogy, a 10-fiber cable can accommodate 241,920
and the nature of the light source.
voice channels, and this will increase as technol-
The two main types of refractive index profiles are
ogy improves.
step and graded. In a step index fiber, the core has a
2. Low loss—The attenuation or loss of an optical uniform refractive index n, with a distinct change to a
fiber is essentially independent of the transmis- lower index, n,, for the cladding. Multimode step index
sion rate, whereas other media exhibit increasing fibers usually have a core diameter from 0.05 to 1.0 mm.
attenuation with increasing transmission rates.
With a light source such that the light injected always
The implication is that signal repeaters need not strikes the core to cladding interface at an angle greater
be placed so close together, which reduces the
than the critical angle, the light is reflected back into the
cost of fiber optics systems.
core. Since the angles of incidence and reflection are
3. Electromagnetic immunity—Because they are equal, the light continues to propagate down the core of
made of insulators, optical fibers are not affected the fiber in a zig-zag fashion by total internal reflection, as
by ordinary stray electromagnetic fields. Conse- shown in Fig. 2a. In effect, the light is trapped in the core
quently, fiber optics systems have the potential and the cladding not only provides protection to the core,
for reducing costs associated with complex error but may be thought of as the “insulation” that prevents
checking and correction mechanisms that must the light from escaping. Since some rays follow longer
be used with media subject to electromagnetic paths than others, their original relationship is not pre-
interference. served. The result is that a narrow pulse of light has a
4, Small size and light weight—A fiber with a 0.125 tendency to spread as it travels down the fiber. Such
mm diameter and 3.5 mm protective jacket has spreading is known as modal dispersion; fibers with high
the same information carrying capacity as 900 modal dispersions tend to be used over short to medium
twisted copper wire pairs with an 8 cm outer distances.
diameter and weighing 100 times as much. Size When the core diameter is made small enough (be-
and weight are important factors when consider- tween 0.002 and 0.01 mm), the fiber propagates light
ing overcrowded conduits running under city efficiently only at the lowest order mode along its axis, as
streets. shown in Fig. 2b. Since the zig-zag pattern associated with
5. Security—Unlike electrical conductors, optical fi- multimode step index fibers is eliminated, modal disper-
bers do not radiate energy; eavesdropping tech- sion is very low and such fibers are, therefore, very effi-
niques that can be used on the former are useless cient for high-speed, long distance transmission. Their
with fibers. Tapping a fiber is very difficult, since small size, however, makes them relatively difficult to
this usually affects its light transmission capabil- work with.
ity enough to be detected. Modal dispersion can also be reduced by using
6. Safety and electrical insulation—Because optical graded index fibers, as shown in Fig. 2c. The core in such
fibers are insulators, they provide electrical iso- fibers consists of a series of concentric rings, each with a
lation between the source and the destination. lower refractive index as we move from the core to the
Therefore, optical fibers present no electrical cladding boundary. Since light travels faster in a medium
spark hazards and can be used where electrical of lower refractive index, light further from the fiber axis
FIBEROPTICS 551
Refractive
Low order mode High order mode index
profile
Input Output
pulse (c) pulse
FIG. 2. Characteristics of common optical fibers—(a) multimode step index; (b) single-mode
step index; (c) multimode graded index.
travels faster. The result is that light is refracted succes- rated enough in time that dispersion does not
sively by the different layers of the core and appears to cause adjacent pulses to overlap at the destina-
follow a nearly sinusoidal path with all modes arriving at tion to ensure that the receiver can distinguish
any point at nearly the same time. Such fibers have a them. Modal dispersion arises from the different
modal dispersion that lies between multimode and single- lengths of paths traveled by the different modes.
mode step index fibers. Material dispersion is due to different velocities
As in the case of electrical conductors, optical fibers of different wavelengths of the light source.
are usually cabled by enclosing many fibers in a protec- 3. Other causes—Fibers must be connected or
tive sheath made of some material, such as polyviny! spliced to provide a low-loss coupling through
chloride or polyurethane. The cable is strengthened by the junction. Precise alignment results in low
adding steel wire or Kevlar aramid yarn to give the cable loss, but the small size of fiber cores, together
assembly greater tensile strength. Cables are also avail- with dimensional variations in core diameter and
able containing both optical fibers and electrical conduc- alignment, make this a difficult task.
tors, with the latter used to provide power for remote
equipment.
Light Sources and Detectors In fiber optics com-
Signal degradation munication systems, the light source must efficiently con-
Signal Degradation in Fibers
vert electrical energy (current and voltage) into optical
in optical fiber systems is caused by one or more of the
energy in the form of light. A good source must be:
following:
odes (ILDs). Both devices come in sizes compatible with Back Front
the cores of fibers and emit light wavelengths in the range
of 800-900 nm, where fibers have relatively low loss and
dispersion. LEDs are not monochromatic, which limits
their upper bit-rate capacity to about 200 Mbits/sec. ILDs
produce light that is almost monochromatic and can
transfer almost 100 times more light energy into the core
FIG. 1 ‘FIFO queue; additions at back; deletions at front.
than the LEDs, allowing fibers to be driven at Gbit/sec
rates.
Optical detectors convert optical energy into electri-
service given at the front of the line. The same concept can
cal energy. Devices most commonly used for this purpose be applied to ships waiting to unload at a dock, to jobs
waiting to be run in a computer system, or to airplanes
include silicon photodiodes because of their sensitivity to
light in the 750-950 nm wavelength region. waiting to be serviced by a repair shop. The line of people
or items waiting to be serviced is called the queue (Fig. 1).
There are a number of variations to the basic theme
Applications of Optical Fibers As the world
of FIFO arrangement. Multiple-server queues have a single
moves towards an integrated services digital network (ISDN
queue but several facilities that provide service. Many
- g.v.) in which voice, video, and data can be seamlessly
transmitted over public and private networks, the need
banks and airline ticket counters have adopted this tech-
nique by having a single line that feeds to a group of teller
for more and higher bandwidth communication channels
windows. Priority queueing permits persons with high pri-
will continue to grow. Optical fibers offer capacities well
beyond those of copper cables or microwave radio at ority to move up to the front of the queue. Bounded-length
lower cost and will play a major role in the implementa- queueing puts an upper limit to the number of persons in
the queue.
tion of the new “information highways” that will continue
to affect us all. The LIFO concept is based on the notion that the most
Fibers are already widely used to carry voice and recently arrived item is dispatched first. Thus, the fresh-
television signals across the country and continents and est vegetables in the grocery are sold first and the inven-
connect computers and workstations in local area net- tory items most recently put on the shelf are the first to be
works, and are replacing cables to interconnect comput- sold. This idea is familiar to card players in some games
ers and their peripherals. Their advantages and the fact (gin rummy, for example), who may take a card from the
that they represent a relatively new technology with top of the pile or place another card face up on the pile.
much potential for improvement will make them the The stack of plates on the spring-loaded dispenser found
transmission medium of choice for many applications in in cafeterias is another common example of the LIFO prin-
the future. ciple. The usual definition of this principle includes the
specification that only the top element of the collection
References may be removed and that newitems may be placed only on
the top of the collection. A collection that has these rules
1987. Sterling, D. J. Technician’s Guide to Fiber Optics. Albany, N.Y: for addition and deletion is called a stack (q.v.) or a push-
Delmar Publishers Inc.
down list (Fig. 2). Automata theorists distinguish between
1987. Sobolewski, J. S. “Data Transmission Media,” Encyclopedia
these two terms: In a stack, the interior items may be
of Physical Science and Technology, 4, 136-164. San Diego:
Academic Press.
examined; in a pushdown list, they may not be.
The LIFO technique has widespread application in
JOHN S. SOBOLEWSKI computer science, particularly in the parsing techniques
employed by compilers and in the searching of data struc-
tures.
FILE the so-called “access time gap” that existed for several
years between fixed head disk and drum devices and core
For articles on related subjects see ACCESS METHODS; BLOCK
memory. While these new memories are appealing be-
and BLOCKING FACTOR; DATABASE MANAGEMENT SYSTEM; DIRECT
cause of their relatively low access time, the cost per bit
ACCESS; DIRECTORY; FILE SERVER; OPEN AND CLOSE A FILE; RE-
is still considerably above that of disk and drum. For this
CORD; and SCRATCH FILE.
reason, magnetic disk remains the most popular device
for storing large files on line. Magnetic tape, because of its
The term file was used even before the advent of high access time, its portability and compactness charac-
computers and was one of the first to be incorporated teristics, and its relatively low cost, has been relegated in
into data processing terminology. There are various defi- many computer installations to serving as a storage me-
nitions of the term in use; those given below are typical. dium for archival files and for backup copies of files.
In general, a file is a collection of data representing a set
of entities with certain aspects in common and that are
organized for some specific purpose. An entity is any data File Structure A file has structure that determines
object, such as employee or part, and is represented in a how the records in the file are organized. Structure can be
file by a record occurrence. A punched card deck contain- subdivided into logical structure and physical structure.
ing information on automobile parts and a cabinet drawer The logical structure of a file is essentially the application
filled with manila folders containing data sheets on em- program’s (i.e. the user’s) view of the file (see Fig. 1). A file
ployees are examples of (non-computer) files. declaration that appears in a high-level language such as
Cobol or Pascal is basically a logical structure specifica-
tion and usually involves defining the attribute(s) of the
Definitions In computing, the word file ¢an be de record type(s) and possibly specifying a relationship (e.g.
fined in various ways and the definition depends on the an ordering relationship) on the record occurrences.
level at which the file is being viewed. From an abstract Physical structure is associated with how a file is actually
viewpoint, a file can be considered to be a data object organized on the storage medium on which it resides.
having certain attributes and a set of operations for cre- This normally involves pointers (q.v.), indexes, etc., and
ating and manipulating it. A file has also been defined as how the records are “laid out” on the external storage
a data structure stored in external memory. Perhaps the device (see Fig. 1). The application program should have
most common definition of file is that a file is an organized to be aware of only the logical structure of the file,
collection of data records, possibly of different types, whereas the access methods must know about the phys-
stored on some external storage device, such as magnetic ical structure. Access methods are embodied in programs
tape, disk, drum, charge-coupled device, magnetic bubble that satisfy user requests against a file; they provide the
memory, etc. interface between a user program and a file.
Files can be structured and accessed in various ways.
Storage Devices The variety of external storage de- The earliest and most common type of file organization
vices on which files can be stored has been increasing in was sequential because computer files were first stored
recent years. New storage technologies, such as charge- on inherently sequential storage media such as magnetic
coupled devices and magnetic bubble memories, are tape. To access a record in a sequential file, the preceding
being used to replace the magnetic disk in certain situa- records must be passed over. The appearance of random
tions. These new memory technologies have begun to fill access storage devices such as magnetic disk and drum
e e e e e
e e e e e
EMPLOYEE
DEPARTMENT
Logical
Structure (Relationship) (Relationship)
EMPLOYEE
EMPLOYEE
provided the capability not only for sequential accessing FILE SERVER
but also for random (or direct) accessing of records. With
direct access (q.v.), any record in a file can be retrieved For articles on related subjects see CACHE MEMORY; DISTRIB-
without looking first at the records preceding it. Tech- UTED SYSTEMS; LOCAL AREA NETWORK; and WORKSTATION.
niques for implementing direct access usually involve
some method for translating a key (or a composite of The increasing power of low-cost computers has
several keys) that identify the record sought into the brought about a revolution in computing. The traditional
address (absolute or relative) of the corresponding re- computing center of the 1970s, characterized by a small
cord on the device on which it is stored. This translation number of centralized mainframe computers shared by
is normally done via an index (or indexes) or a key-to-ad- all users in an organization, has been supplanted by work-
dress transformation function (sometimes called a hash- stations (g.v.) and personal computers located in depart-
ing function) that computes the address of the record mental user rooms and private offices. With the increased
from the key (or keys) (see SEARCHING). Among the various number of machines came the need to move data and files
access methods that have been developed are the se- from one machine to another. One approach to solving the
quential, indexed sequential, and direct access methods. file transfer problem is to connect the machines to a
network and provide primitives that allow users to copy
Files and Databases The popularity of database files from one machine to another. This approach works
management systems and the rather loose use of the term best when the number of files that need to be exchanged
database has led to some confusion between a file and a is small. A second approach is to place shared data on a
database. One basic difference is their usage pattern. The file server and have individual machines access data files
use of a file is usually limited to one user or a few users, located on the remote file server rather than on a local
and there is only one logical view of the file, which is disk.
shared by the (usually small number of) application pro- The file server approach is an example of client-
grams that access the file. On the other hand, a database server interaction. Clients executing on the local machine
brings together a variety of data and integrates it in such forward all file requests (e.g. open, close, read, write,
a way that it is available for a variety of users, with each and seek) to the remote file server. The server accepts
user possibly having a different logical view of the a client’s request, performs its associated operation, and
database. In trying to make a clear distinction between a returns a response to the client. Indeed, if client software
file and a database, some define a file as a collection of is structured transparently, the client need not even be
occurrences of records of one type and a database as a aware that files being accessed physically reside on
collection of occurrences of records of several types with machines located elsewhere on the network (see TRANS-
specific relationships among the record types. Fig. 2 PARENCY).
illustrates this distinction. The file server approach has several benefits. First,
multiple machines can access shared files concurrently.
Kinds of Files The word file is used in many ways in Files are no longer stored on individual machines; they
data processing. Examples are input file, output file, mas- are stored on the file server where they can be accessed
ter file, scratch file (g.v.), temporary file, card file, job file, by all client machines. Thus, a user can run the same
and program file. Although the unmodified use of the term programs on the same data files regardless of which client
file usually means a data file holding data on “real-world” machine is being used. This has the advantage that users
entities, some files are specifically called program files, can use any of a set of machines, rather than just the
since they contain programs stored in source or object machine on which their files reside. Second, the cost of
form. supporting and maintaining one large file server is less
than the corresponding cost of maintaining separate file
BILLY G. CLAYBROOK
systems on each machine. Indeed, client machines need
not even have disk drives. Larger disk drives have a lower
cost per megabyte than smaller drives, and it is easier to
FILE COMPRESSION. See Dama COMPRESSION perform such maintenance functions as file backups on
AND COMPACTION. one machine than on many.
FINITE ELEMENT METHOD 555
The use of file servers on a network raises many reboots, a stateless server retains no knowledge about
design issues. A server can either be a disk server or a file the files client machines are using. When a client makes a
server. A disk server presents a raw disk interface through request, each request contains complete information
which client machines read and write disk sectors. Disk needed to service it. For example, when reading a file
servers are primarily useful as a backing store for swap- sequentially, each request contains the starting and end-
ping (q.v.) or paging. In contrast, a file server provides ing byte offsets of the desired information rather than
access to files. Clients open files, read and write file con- requesting “the next 1,024 bytes.” In contrast, stateful
tents, etc. All details about how the file system is repre- servers keep track of which clients are using files and in
sented on the physical device is hidden within the server. what ways. Such information is important for maintaining
When a client opens a file, the client’s operating system cache consistency and for providing such services as
forwards the open request across the network to the file exclusive file locks. The main drawback of stateful serv-
server and waits for the server’s response. ers is that rebooting the server interrupts all client appli-
Because files are accessed across a network, the cations that were accessing files at the time the server
performance of remote operations is generally lower than went down. The server must reject all requests related to
when accessing a local disk. To improve performance, file accesses initiated before the server rebooted.
network file systems use cacheing techniques (see CACHE
Memory). The client, server, or both maintain a cache of Refererences
recently used file pages. Before the client forwards a
1988. Tanenbaum, Andrew. Computer Networks, 2nd Ed. Engle-
request to the remote server, it checks to see if the re- wood Cliffs, NJ: Prentice-Hall.
quest can be satisfied using information in the local 1990. Comer, Douglas E. Internetworking with TCP/IP: Principles,
cache. If the information resides in the cache, the file Protocols, and Architecture, 2nd Ed. Englewood Cliffs, NJ: Pren-
pages are retrieved directly from the cache, and the re- tice-Hall.
quest need not be sent to the server at all, reducing
latencies (access times - g.v.). Likewise, the server con- THOMAS NARTEN
sults its local cache before issuing input-output com-
mands to the disk device. Because file reference strings
display similar locality to page reference strings in virtual
memory systems (g.v.), caches can improve average ac- FINITE ELEMENT METHOD
cess times by an order of magnitude or more.
Although cacheing improves access time perfor- For articles on related subjects see COMPUTER-AIDED ENGI
mance, it also raises cache coherency issues. For example, NEERING; NUMERICAL ANALYSIS; PARTIAL DIFFERENTIAL EQUATIONS;
suppose that two machines have been accessing a file at SCIENTIFIC APPLICATIONS; and SPLINE.
the same time, and the contents of the file resides in both
client caches. If a user on one machine deletes the file, a The finite element method applies to a broad range of
engineering problems and attracts theoreticians and
user on the other machine may find that the file still exists
practitioners from many disciplines. It provides the for-
because the client finds it in its local cache. To keep
malism for reducing the continuum to a finite-dimen-
caches consistent, changing or deleting a file on one
sional space for numerical resolution of complicated field
machine must update the caches on all other machines in
problems with digital computers. The space of interest is
the distributed network. Special protocols are used to
partitioned into a finite number of nonoverlapping ele-
solve such problems. For example, a server may specify
ments (Fig. 1). A basis is defined within each element, and
that a file can be cached by only one client at a time, or
the field within the element is determined from a
disable caching completely for those files that are being
stationarity condition with the basis-function combining-
shared.
coefficients as free parameters. The element parameters
File servers must also address the problem of authen-
are constrained to yield appropriate interelement conti-
tication. That is, if a client requests file pages, how can the
nuity consistent with the underlying stationarity princi-
server be sure that the client is really who he or she
ple. Engineering problems are thus reduced to systems of
claims to be? In a networked environment, an unautho-
rized client may masquerade as another in an attempt to
access sensitive data stored on the file sever. Authentica-
tion is handled by using cryptographic techniques (see
CRYPTOGRAPHY, COMPUTERS IN). Before authorizing access,
the file server forwards the request to an authentication
server. The messages exchanged by the file and authenti-
cation servers are encrypted using keys that only the two
servers share, insuring that the authentication server can
be trusted. The authentication server verifies access
rights of the client (perhaps by exchanging messages
directly with the client, using another set of private keys),
and then returns its response to the file server.
Another aspect of file server design is whether the
FIG. 1 Idealization of a car body using finite elements.
server should be stateful or stateless. Upon machine
556 FINITE ELEMENT METHOD
algebraic equations that are solved by a variety of meth- mathematicians) is the most prevalent device for ac-
ods. complishing this with elements other than the simple
The finite element method encompasses representa- triangles, rectangles, tetrahedra, and rectangular bricks
tion of the physical situation by some differential, inte- shown in Fig. 2.
gral, or integro-differential equation, partitioning of the Engineers examine element geometry and appropri-
space of interest into elements, developing a stationarity ate stationarity principles for specific application and
principle and an associated approximation space in terms often introduce new formalisms that are then analyzed
of element basis functions, generating a system of alge- with greater rigor by mathematicians. Among the areas
braic equations satisfied by the basis function expansion investigated with finite elements are: solid mechanics,
coefficients, solving these equations, and displaying the fluid mechanics, biomechanics, heat transfer, geo-
phases of the computation for evaluation. mechanics, aeromechanics, coupled systems (fluid-struc-
The finite element method is an outgrowth of analysis ture-thermal interaction), chemical reactions, neutron
and computation in the 1940s. Some early finite difference flux, plasmas, acoustics, materials processes, and electric
formulations based on integration over elements are and magnetic fields. The early finite element development
equivalent to finite element methods. The term “finite was used almost exclusively by engineers in analysis of
element” and modern development was introduced in the structures. As the applications ‘have expanded, the engi-
field of structural mechanics. Two- and three-dimensional neers responsible for simulation of physical phenomena
structural problems were solved with a finite element have developed and analyzed new methods and have
formalism based on a variational principle relating to guided much of the growth in technology. As techniques
energy minimization over a continuous approximation have matured, the role of theoreticians has become more
space. The remarkable success of this formalism together pronounced. This interplay of theoretical and practical
with the explosion in computer capabilities led to rapid development has enhanced adoption of finite elements in
expansion of the method to include more general princi- almost every area of scientific computation.
ples with relaxed continuity constraints. The method was Computer scientists and numerical analysts address
applied to virtually all scientific investigation involving data structuring, automatic mesh generation (see Fig. 3),
field functions. Analysis was generalized from linear stat- and efficient software generation as a function of hard-
ics to nonlinear and time-dependent problems and to ware and interactive computer graphics (g.v.). All have
interaction of different fields. addressed methodology for efficient numerical solution
Hundreds of millions of dollars are spent worldwide of the finite element equations that are characteristically
each year on finite element analysis. There has been an large banded systems. Although the earlier finite element
exponential growth of publications on finite element top-
ics. Hundreds of user-oriented program packages are
available. An outstanding reference work is the Finite
Element Handbook, edited by H. Kardestuncer, which de-
scribes the roles of various scientific disciplines in finite
element analysis and implementation. The ubiquity of
finite elements in scientific research is evidenced by the
broad spectrum of scientists contributing to its develop-
ment and application.
Mathematicians concerned with formulation and
error estimation apply techniques of functional analysis,
classical approximation theory, and the theory of partial
differential equations. This may either guide practitioners FIG. 2 Some common two-dimensional and three-dimensional
in use of existing techniques or suggest new procedures. finite elements.
The functional analysis draws heavily on theory related to
Sobolev Spaces. A priori error estimates guide selection
of approximation spaces and stationarity principles. A
posteriori estimates facilitate adaptive refinement by ei-
ther subdividing or increasing the degrees of freedom
within identified elements. Mapping theorems and alge-
braic geometry are used in analyzing the relationships
among approximation spaces and element geometry. An
underlying theme in mainstream finite element analysis is
relating the error in the approximate solution to the cho-
sen stationarity principle and the degree of the polyno-
mial space spanned by the basis vectors within the
elements. Thus, a prime consideration in generating basis
functions is achievement of polynomial approximation
within elements while maintaining appropriate interele-
ment continuity. The “isoparametric” element (intro-
duced by engineers and subsequently analyzed by FIG. 3 Computer-generated mesh pattern.
FLOPPY DISK 557
square cardboard envelope that preserved the flexibility latter technology, while faster, require more complicated
of the ensemble. electronics and are thus more expensive and prone to
The floppy disk subsystem consists of a controller problems.
card that is inserted into a slot connected to the expan- It was in the 1960s that floppy disks first appeared.
sion bus, a disk drive to read and write the disk itself, and ~ IBM used them in its System 30 series minicomputers.
a cable that connects the card to the disk drive and is These 8inch floppies could hold almost a million bytes
used to pass data and control signals between the two. and made the computers easy to use and enormously
Floppy disks are used to load programs into a com- flexible:
puter, to exchange data between computers that use a The physical size of the disk drive soon became a
compatible format, and to back up information stored on consideration as computers got smaller. Even 3.5-inch
hard disks and other high-capacity storage devices. On drives are too big, heavy, and power hungry to satisfy
systems with no hard disk, the floppy disk contains the the manufacturers of portable laptop computers (@.v.).
operating system, which boots the computer as well as A 2-inch diskette was introduced in the late 1980s, but
application programs and associated data. it is not yet clear that this standard will catch on.
Floppy disks are made by depositing a metallic oxide The floppy disk has made it very easy to share infor-
material on a mylar substrate. The oxide coating is ferro- mation and programs. The process of making copies is
magnetic and responds to the magnetic fields generated quick and inexpensive. Diskettes are easy to mail and
by the heads in the disk drive. For this reason, care must carry; the 3.5-inch floppy even fits in a shirt pocket. Soft-
be taken when handling floppy disks in the presence of ware piracy and the spread of computer viruses (g.v.) are
strong magnetic fields. a direct consequence of the ease of copying. Even the
The disks come in a variety of sizes. The 8-inch disks greenest user can learn to make copies without the assis-
used with early 8-bit CP/M personal computers are now tance and scrutiny of others.
obsolete. Currently, the most popular sizes are 5.25-inch It isn’t likely that diskettes will get much smaller, but
and 3.5-inch. Depending on their formatting and on the the computer industry is experimenting with storage
drive they are used on, 5.25-inch disks have capacities of techniques that do not involve moving parts. The motors,
either 360 kilobytes or 1.2 megabytes, while 3.5-inch disks coils, spinning hubs, and flying heads are the first parts to
are available in 720KB and 1.44MB capacities. Unlike 5.25- fail or go out of alignment. They are the primary source of
inch disks, the 3.5-inch disk is encased in hard plastic and disk drive problems. Semiconductor devices must be
accessed inside the disk drive through a movable metallic made reliable, inexpensive, and interchangeable before
slide. Since, externally at least, such disks are no longer they replace the floppy disk, but potential replacements
flexible, the name diskette has now become more common hold the prospect of higher-capacity “diskettes,” or what-
than floppy disk. ever replaceable units of storage will be called, whose
On a 5.25-inch diskette, a square notch is covered contents can be accessed without rotational delay (la-
with an adhesive tab to prevent accidental erasure of tency - q.v.).
information. A sliding plastic tab covers a square hole to
make a 3.5-inch disk read-only. STEPHEN J. ROGOWSKI
Each of these formats uses both sides of the disk
and are hence known as double-sided formats. Each disk
drive must therefore have two read/write heads. Infor- FLOW CHART
mation is layed down in concentric tracks that are
magnetically etched by a formatting program that comes For articles on related subjects see DATAFLOW; and Docu-
with the operating system. Typically, each track is sub- MENTATION.
divided into sectors and each sector into bytes. On the
IBM-PC and PC-compatibles (q.v.), the double-sided dou- Definition A flowchart is a graphic means of docu-
ble density (DSDD) 5.25-inch floppy has 40 tracks of nine menting a sequence of operations. Flowcharts serve as a
sectors each, on both sides of the diskette. Each sector pictorial means of communicating from one person to
holds 512 bytes of information. The smaller 3.5-inch another the time-ordering of events or actions. As a picto-
diskettes typically squeeze 80 tracks onto a disk and rial format, flowcharts have been the subject of both an
also double the number of sectors per track to 18 and International and an American National Standard (ANSI,
retain the 512 bytes per sector count. This means that 1970, and Chapin, 1979). Flowcharts go by many other
the highest density 3.5-inch diskettes can hold 1.44 names, including block diagram, flow diagram, system
million characters (1.44 Mb). chart, run diagram, process chart, and logic chart.
The disk drive consists essentially of two motors and
some controlling circuitry. One motor drives a spindle Format The two main varieties of flowchart are the
that spins the disk usually at about 300 RPM. Control flow diagram and the system chart. A flow diagram gives a
circuitry, either optical or electronic, precisely regulates detailed view of what is shown as a single process in a
this speed. A second precision stepping motor incremen- system chart. Flow diagrams and system charts use differ-
tally moves the heads from track to track to read and ent pictorial conventions, but also share certain conven-
write information. It actually counts the number of tracks tions. The basic outlines shown in Fig. 1 are common to
as it moves. It is slower than the voice coil actuator, which both. Also common is the reading convention—top to
flies right to the proper track, but drives built with the bottom, left to right—and the practice of labeling the
FLOWCHART 559
Input Document
and
Punched
Output card
. (a)
Processing
=
Display Disk
storage
————
Manu:
storage
she Communication
P]e
a ee. Annotation Ge Online \/
storage Offline
storage
Inconnector
entrance Preparation Extract
Predefined
Outconnector process
exit Sort
Collate
? Auxiliary
Parallel pile
mode
|
|| (c)
i , FIG. 3. Specialized outlines. (a) Media. (b) Equipment. (c)
FIG. 2. Additional outlines. (From N. Chapin, Flowcharts, Processes. (From N. Chapin Flowcharts, Petrocelli Books, New
Petrocelli Books, New York, 1971.) York, 1971.)
560 FLOWCHART
Example of vertical
Log, Ze striping. This is a
reference to a li-
FIG. 4. __Entry and exit flowlines in a flow diagram. (From N.
brary routine not di-
Chapin, Flowcharts, Petrocelli Books, New York, 1971.)
agrammed in this
flowchart.
outlines internally to identify data and processes (Chapin,
1971). The additional outlines shown in Fig. 2 are all used
in flow diagrams. The parallel mode outline also finds
some use in system charts.
System charts are pictorially richer. While analysts
can prepare system charts using only the basic outlines
of Fig. 1, analysts often selectively substitute some of the MAIN 35C2
specialized outlines for media, equipment, and processes, ERRORA
as shown in Fig. 3. Except for the decision and predefined
processes, the specialized outlines are not used in flow sets value
Example of horizon-
diagrams. of ARG
tal striping. On page
4 of a flowchart in a
Use: System Chart Analysts most commonly pre- routine called MAIN
pare system charts to show graphically the interactions is a reference toa
in execution among the programs of a system. The inputs routine callled
and outputs of each program are shown, either in a gener- ERRORA on page
alized form using the basic outlines, or in a particularized 35 of the same flow-
form using the specialized outlines. Analysts may prepare chart.
system charts at a logical level (using the basic outlines) 4A2
or at a physical level (using the specialized outlines).
In preparing a system chart, analysts usually regard
ERRORA
each program’s execution as a single process with the
respective inputs above and connected to the process,
and with the respective outputs below and connected to
the process. This gives a sandwich-like arrangement to
the outlines in a system chart: a layer of input data FIG. 5. Conventions for striping and references. (From N.
(bread), followed by a process (the filling), followed by a Chapin, Flowcharts, Petrocelli Books New York, 1971.)
FORMAL LANGUAGES 561
ceptance of data as input, the processing steps taken, and THE MAN ATE THE APPLE.
the disposition of data as output. No sandwich convention
applies, and decisions are shown explicitly, as illustrated Let us assume that individual English words are indecom-
in Fig. 4. Also as shown there, analysts often use connec- posable objects. Then the study of English syntax at-
tors to reduce clutter (since flow diagrams often get large) tempts to answer the question: When is a string of words
and to provide cross-referencing and location annotation. a grammatically correct English sentence? And when it is
Thus, in Fig. 4, the inconnector marked 28H5 refers to the a sentence, how can it be parsed into its grammatical
outconnector H5 on page 28, and the H5 itself refers to a components?
grid pattern on the page. Analysts often show software To model this situation, we let V be a finite set of
component or entry names, such as the MV4 or D6 in Fig. symbols, called a vocabulary. In the previous example, V
4. Two forms of reference to more detail are also provided contains the four indecomposable words (in this context,
by striping conventions, as shown in Fig. 5. called symbols or letters): APPLE, ATE, MAN, THE. More
generally, V might contain all English words and punctua-
Alternatives Historically, analysts drew flowcharts by tion marks. Let V* denote all finite-length strings of sym-
hand. Currently, some popular CASE (q.v.) software tools bols from V. (It is mathematically convenient to include in
facilitate drawing and revising flowcharts. Flowcharts V* the empty string of length zero.) Then a formal language
have been declining in favor as alternatives have ap- Lis simply a set of strings from V*. For example, if V* is
peared, such as the dataflow diagram and IDEF noted the set of all finite sequences of English words, then L
earlier. The term structured flowchart usually refers to could be the subset of V* consisting of all grammatically
either Chapin charts (Chapin, 1974) or to Nassi-Shneider- correct sentences. Although V is always finite, in most
man diagrams (Nassi, 1973) (see STRUCTURED PROGRAM- cases of interest L will be infinite, and we will wish to have
MING). Warnier-Orr diagrams provide a way of depicting a finitely specified way of generating, or recognizing, or
both data and software structures hierarchically (Warn- parsing the strings in L.
ier, 1974), as do tree charts (see TREE). The sample sentence given earlier can be parsed by
the treelike diagram in Fig. 1, where(S ),(N P),(VP), (A ),
References (N), and (V) are six variables ranging over all sentences,
noun phrases, verb phrases, articles, nouns, and verbs,
1970. Chapin, Ned. et al. “Full report of the Flowchart Committee
on ANSI Standard X3.5-1970,” SIGPLAN Notices, 14, 3:16-27
respectively. Using the rewriting rules in Fig. 2, it is possible
(March). to generate our sample sentence from the variable (5S ).
1971. Chapin, Ned. Flowcharts. New York: Petrocelli Books. The generation proceeds as follows:
1973. Nassi, Isaac, and Shneiderman, Ben. “Flowchart techniques
for structured programming,” SIGPLAN Notices, 8, 8:12-26 (Au- (S) > (NP){ VP)>(A)(N)¢ VP)
gust). v (A)(N)(V)(NP)>(A)(N)(V)(A)(N)
1974. Chapin, Ned. “New format for flowcharts,” Software Practice > THE(N)(V)(A)(N)
and Experience, 4, 4: 341-357 (October-December). > THE MAN(V)(A)(N)
1974. Warnier, Jean Dominique. Logical Construction of Programs. > THE MANATE(A)(N)
New York: Van Nostrand Reinhold. > THE MAN ATE THE( V)
1979. ANSI. American National Standard Flowchart Symbols and > THE MAN ATE THE APPLE
Their Usage in Information Processing, X3.5-1970. New York:
American National Standards Institute. With these rules, we can also generate various improb-
NED CHAPIN
able but grammatically correct sentences such as THE
APPLE ATE THE MAN, and with more rules we could generate
more sentences. Rewriting schemes of this sort were
introduced by the linguist Noam Chomsky, who called
FONT. See DESKTOP PUBLISHING; METAFONT; and TEXT
EDITING SYSTEMS.
<S>
any digit is an unsigned integer; and any unsigned integer Languages and Automata The four families of
followed by a digit is an unsigned integer. Rewriting these languages in the Chomsky hierarchy can be obtained
equations in a more algebraic form, we obtain: from automata as well as from grammars (see AUTOMATA
D=“0" + “17+ soechs a THEORY). The phrase-structure languages are the lan-
U=D+U-D guages accepted by Turing machines; the context-sensi-
tive languages are the languages accepted by
Consider these as abstract equations. What is their mean- linear-bounded automata or /ba’s; the context-free lan-
ing? The unknowns U and D are variables whose values guages are the languages accepted by pushdown autom-
are languages; X + Y denotes the union of the languages ata; and the right-linear languages are the languages
X and Y; X - Y denotes the product of the languages X and accepted by finite- state automata. For this reason, right-
Y, obtained by concatenating the strings in X with those linear languages are sometimes called finite-state lan-
in Y:X-Y = {xyl x € X, y €Y}; and “0,” “1,” etc., are guages. Usually, however, right-linear languages are
constants denoting the languages consisting of just the known as regular languages or regular sets. This terminol-
single symbol 0, 1, etc. In general, the equations corre- ogy comes from Kleene’s theorem, which states that a
sponding to BNF syntax descriptions can be more compli- language is a finite-state language if and only if it can be
cated than in our example. A typical equation might have represented by a regular expression. A regular expression
the form is an expression that can be built up from individual
strings by using the three operations +, -, and *. The
A = abBAAaAb + BaC + ba.
operations + and - are the operations of union and
(The letters a and b are terminal symbols; A, B, and C product introduced earlier. (The symbol U is some-
are variables; and we have omitted the dot in-products.) times used instead of +, and the - may be omitted.) The
The operations + and - are roughly analogous to addition operation * is called the Kleene closure operation. If L is
and multiplication of numbers; only - is not commutative. any set of strings, then L* is defined to be the set of all
(IfXand Y are languages, Y - X is not generally the same as strings that can be formed by concatenating sequences of
Y - X.) If the product of languages were commutative, we strings from L: L* = {s, s,....s,ln = 0, each s,e L}. (By
could write the term abBAAaAb as aabbA°B. This would convention, the empty string is always in L*.) For exam-
be similar to a fourth-degree term in a polynomial expres- ple, (@ + b)* - aaa: (a + b)* is a regular expression
sion, except that the variables range over languages representing the set of all strings of a’s and b’s containing
rather than numbers and the coefficient aabb is a string at least three consecutive a’s.
of symbols instead of a number. Since the product of Let us consider the relation between context-free
languages is not commutative, we cannot rearrange terms languages and pushdown automata a little more closely.
in this way, but we can still regard these equations as A pushdown automaton is a non-deterministic device
polynomial equations in non-commuting variables. In having a memory consisting of a finite-state control anda
general, the right-hand side of each equation will be a pushdown stack. It receives its input one symbol at a time
finite sum of terms, and each term will be a string of on request. Every context-free language L is the set of
variables and terminal symbols. A set of such equations input strings accepted by some pushdown automaton P.
always has a unique smallest solution, so it always makes In fact, we can always find a pushdown automaton P for L
sense to speak of the “smallest sets of strings” U and D that operates in real time; i.e. one that uses up one input
satisfying equations like those in our original example: letter on every move. This means that P recognizes
The languages definable in this way by polynomial equa- strings in L very quickly—in fact, in an amount of time
tions turn out to be precisely the context-free languages. proportional to the length of the input string. The catch
As a simple example, the language {a” b"|n2>1} can be is that P is a non-deterministic device. It is credited with
specified either as the language generated by the context- accepting an input string w if there is any sequence of
free productions S > aSb and S > ab or as the smallest choices of moves (i.e. any sequence of “guesses”) it can
solution of the equation S = aSb + ab. Incidentally, note make while processing w that will lead it to an accepting
that this equation is a first-degree or “linear” equation, mode, even though there may be other choices that do
since each summand contains at most one occurrence of not lead to an accepting mode. But if we want to simulate
a variable. Languages defined by such equations are P in the real world, we would systematically have to test
called “linear” context-free languages. They can also be every sequence of choices that P could make.
characterized as the languages generated by linear con- Since P might have several choices available to it on
text-free grammars; i.e. by context-free grammars having each move, this simulation could take exponentially more
productions of the form A —> a, where the string a con- time than P does. This might suggest that the task of
tains at most one occurrence of a variable. It should now parsing a context-free language can be prohibitively time
be clear why right-linear grammars are so named. consuming, but in fact it is not. General-purpose, context-
In view of the preceding discussion, any program- free parsing algorithms can be designed to require only
ming language whose syntax can be specified in BNF is time n°, where n is the length of the input by using dy-
context-free. Generally, most but not all of the syntax of a namic programming (see ALGORITHMS, CLASSIFICATION OF).
programming language can be specified in BNF. So lan- One of the most popular such algorithms is Earley’s algo-
guages such as Pascal and Fortran are not quite context- rithm. It takes time n° in the worst case, but for many
free, but they are close to being so, and context-free context-free grammars it takes only a linear amount of
languages are useful approximations to their syntax. time. The n°? bound for an all-purpose, context-free parser
564 FORMAL METHODS FOR COMPUTER SYSTEMS
can be improved slightly, but it is not yet known how FORMAL METHODS FOR
much improvement is possible.
A non-deterministic pushdown automaton is a theo-
COMPUTER SYSTEMS
retical construct that is time consuming to simulate in the For articles on related subjects see HARDWARE VERIFICATION;
real world. So, in searching for classes of context-free lan- PROGRAM SPECIFICATION; and PROGRAM VERIFICATION.
guages that are easy to parse, it is reasonable to consider
deterministic context-free languages—those languages Formal methods used in developing and verifying soft-
that can be recognized by a deterministic pushdown au- ware and hardware systems are mathematically-based
tomaton. As one might expect, all deterministic context- techniques for describing and reasoning about system
free languages can be parsed rapidly, in fact, in a linear properties. Such formal methods provide frameworks
amount of time. But not all context-free languages are de- within which people specify, develop, and verify systems
terministic. For example, the set of all binary strings in a systematic, rather than ad hoc, manner. Formal meth-
(strings of Os and 1s) that are palindromes is context-free ods include the more specific activities of program specifi-
but not deterministic because a pushdown automaton for cation, program verification, and hardware verification.
this language must of necessity operate something like A method is formal if it has a sound mathematical
this: Store the first half of the input string on the stack, basis, typically given by a formal specification language.
guess when half the input has been read, and use the stack This basis provides the means of precisely defining no-
to verify that the second half of the input agrees symbol by tions like consistency and completeness and, more rele-
symbol, in reverse order, with the first half. vantly, specification, implementation, and correctness. It
So, non-deterministic pushdown acceptors are more provides the means of proving that a specification is
powerful than deterministic ones. Are the corresponding realizable, proving that a system has been implemented
statements true for the other kinds of automata used to correctly and proving properties of a system without
characterize the families of languages in the Chomsky necessarily running it to determine its behavior.
hierarchy? For finite-state automata and for Turing ma- A formal method also addresses a number of prag-
chines, the answer is no. It is easy to show that the matic considerations: who uses it, what it is used for,
non-deterministic versions of these devices are no more when it is used, and how it is used. Most commonly,
powerful than the deterministic versions. In other words, system designers use formal methods to specify and/or
the ability to make guesses may enable these devices to verify a system’s desired behavioral and structural prop-
do their jobs more quickly, but it will not let them do erties. However, anyone involved in any stage of system
anything that they could not have done without guessing. development can make use of formal methods. They can
But for linear-bounded automata, it is still not known be used in the initial statement of a customer’s require-
whether the non-deterministic version (which corre- ments, through system design, implementation, software
sponds to the context-sensitive languages) is more pow- testing (qg.v.), debugging (g.v.), software maintenance
erful than the deterministic version. (g.v.), program verification, and evaluation.
This question, called the /ba problem, can be recast Formal methods are used to reveal ambiguity, incom-
in the following form: Can a Turing machine that performs pleteness, and inconsistency in a system. When used
a computation with the aid of guessing (i.e. of non- early in the system development process, they can reveal
determinism), using just a linear amount of storage space, design flaws that otherwise might be discovered only
always be simulated by a comparably efficient Turing during costly testing and debugging phases. When used
machine that does not need to guess? The analogous later (e.g. in verification), they can help determine the
question for Turing machines that use a polynomially- correctness of a system implementation and the equiva-
bounded amount of computation time rather than a linear lence of different implementations.
amount of storage space is the very important P = NP For a method to be formal, it must have a well-defined
problem (see COMPUTATIONAL COMPLEXITY; NP-COMPLETE mathematical basis. It need not address any pragmatic
PROBLEMS). In both cases, the answer is thought to be no, considerations, but a lack of such considerations would
but such questions are notoriously difficult and have so render it useless. Hence, a formal method should possess
far resisted all efforts at solution. a set of guidelines or a “style sheet” that tells the user the
circumstances under which the method can and should
References be applied, as well as how it can be applied most effec-
tively.
1972. Aho, A. V. and Ullman, J. D. The Theory of Parsing, Transla-
One tangible product of applying a formal method is
tion and Compiling. Englewood Cliffs, NJ: Prentice-Hall.
a formal specification. A specification serves as a con-
1973. Salomaa, A. Formal Languages. New York: Academic Press.
tract, a valuable piece of documentation, and a means of
1978. Harrison, M. A. Introduction to Formal Language Theory.
Reading, MA: Addison-Wesley. communication between a client, a specifier, and an im-
1979. Hopcroft, J. E. and Ullman, J. D. /ntroduction to Automata plementer. Because of their mathematical basis, formal
Theory, Languages, and Computation. Reading, MA: Addison- specifications are more precise and usually more concise
Wesley. than informal ones.
1988. Moll, R. N., Arbib, M. A. and Kfoury, A. J. An Introduction to Since a formal method is a method and not just a
Formal Language Theory. New York: Springer-Verlag. computer program or language, it may or may not have
software tools to support it. If the syntax of a formal
JONATHAN GOLDSTINE method's specification language is made explicit, provid-
FORTH 565
ing standard syntax analysis tools for formal specifica- issues (e.g. vocabulary structure and search order) and
tions would be appropriate. If the language’s semantics too restrictive for emerging technologies.
are sufficiently restricted, varying degrees of semantic In recent years, Forth has been shedding some of its
analysis can be performed with machine aids as well. For handicaps. The proportion of non-commercial users and
example, under certain circumstances in hardware verifi- advocates has diminished, and there have been some
cation, the process of proving the correctness of an im- notable commercial successes: a hand-held package
plementation against a specification can be completely tracker used by Federal Express, the VP Planner spread-
automated. Thus, formal specifications have the addi- sheet (g.v.), and Sun Microsystem’s Open Boot PROM
tional advantage over informal ones of being amenable to firmware (q.v.), delivered in all its SPARCstations. A far
machine anaylsis and manipulation. more serious standardization effort began, and a draft
For more on the benefits of formal specification, see ANSI Standard was released for public review in October
Meyer (1985). For more on the distinction between a 1991.
method and a language, as well as what specifying a
computer system means, see Lamport (1989). The Language Asa language, Forth is both interpre-
ted and compiled, is extensible, and uses postfix syntax
References and implicit parameter passing through a data stack
(qg.v.). A Forth development environment typically in-
1985. Meyer, B. “On Formalism in Specification,” JEEE Software: 2:
6-26 (Jan.). cludes a large and varied set of pre-defined “words.” Any
1989. Lamport, L. “A Simple Approach to Specifying Concurrent word may be executed from the keyboard or combined
Systems,” Communications of the ACM, 32: 32-45. with others in the definition of a new word. This means
that Forth has no syntactic model and no grammar. The
JEANNETTE M. WING underlying Forth model is semantic. Each word has an
action, and the meaning of a sequence of words is the
sequence of actions implied by the ordering of the words.
The Compiler Strictly speaking, there is no such DOES> and the semicolon, so all that happens when T EMP
thing as the Forth compiler. Compiling actions are per- is executed is the default behavior of pushing the address
formed by many Forth words, and new compiling words of TEMP’s data field to the stack.
are commonly defined either in terms of existing ones or, Forth has been mastered when one not only under-
rarely, as new primitives. Compiling actions are invoked * stands the difference between (1) what happens when the
by “defining words.” definition of VARIABLE is compiled, (2) what happens
New words are most commonly defined with a “colon when VARIABLE is executed, and (3) what happens when
definition,” such as a word defined with VARIABLE is executed, but sees the
power in being able to stipulate and exercise all three of
: Bump D gchinte 03 these actions interactively.
which defines a new word named “bump.” All the inter-
preter does, however, is fetch the word named “:” from the Forth Literature The Journal of Forth Applications
input and execute it. This word’s action is to create a new and Research is a refereed journal published by the Insti-
word with the name that follows the “:” (one of Forth’s tute for Applied Forth Research, Inc. FORTH Dimensions
prefix anomalies) and then compile all of the following is published six times a year by the Forth Interest Group.
words as part of the new word’s definition up to the first The ACM has a Forth special interest group, SIGForth,
semicolon. which publishes a quarterly newsletter.
Bump can be used immediately by entering
Availability Commercially supported Forth im-
17 bump plementations are available from many vendors for most
and pressing the return key which results in “20" being common hardware platforms. There are also numerous
printed. public domain versions of varying quality and complexity.
For more information, contact the Forth Interest Group,
Box 1105, San Carlos, CA 94070.
Defining Words An integer variable (e.g. TEMP) is
defined in Forth with References
VARIABLE TEMP 1984. Brodie, Leo. Thinking Forth. Englewood Cliffs, NJ: Prentice-
which leads to VARIABLE being referred to as a defining Hall. A sophisticated exploration of Forth and ways to use it
effectively.
word. VARIABLE causes TEMP to be added to the list of
1987. Brodie, Leo. Starting Forth (2nd Ed.). Englewood Cliffs, NJ:
available words and sets TEMP’s action to be the standard
Prentice-Hall. The most accessible introduction to Forth.
action of a variable, which is to push the address of its 1987. Pountain, Dick. Object-Oriented Forth. San Diego, CA: Aca-
“data field” to the stack. The data field is that portion of demic Press. A readable discussion of one way to add object-
' memory that holds the current value of the variable. oriented constructs to Forth.
A value is stored into the data field of a variable with
CHARLES EAKER
20 TEMP”!
which sets the value of TEMP to 20. The value in a
variable’s data field is fetched to the stack with FORTRAN. See Procepure-OrIENTED LANGUAGES.
TEMP ©
and once the value is on the stack it can be printed or used
as a parameter by any other word. FRACTALS
The defining word VARIABLE could be defined this
way: For articles on related subjects see COMPUTER ART; COM-
PUTER GRAPHICS; IMAGE PROCESSING; PATTERN RECOGNITION; and
: VARIABLE CREATE 0 , DOES> ; SCIENTIFIC APPLICATIONS.
and when this line is interpreted, the colon is executed,
which defines VARIABLE as a new word. When VARIABLE Introduction The greater part of the applied scien-
is subsequently executed, the word CREATE is executed, tific research of the past consisted of the analysis of
which fetches the next name in the input stream and human-made machines and the physical laws that govern
creates a new word with that name. Then zero is pushed their operation. The success of science relies on the pre-
to the stack. The comma removes the value on the top of dictability of the underlying experiments. Euclidean ge-
the stack and compiles it into the data field of the word ometry—based on lines, circles, etc.—is the tool to
being created. The comma’s action allocates memory for describe spatial relations, where differential equations are
the variable and initializes it at the same time. essential in the study of motion and growth. However,
When DOES> executes, it terminates the definition of natural shapes such as mountains, clouds, or trees do not
the new word (TEMP, in our example) and specifies that fit well into this framework. The understanding of these
the words that follow it, up to the semicolon, are executed phenomena underwent a fundamental change in the last
whenever TEMP (or any other word defined by VARIABLE) two decades. Fractal geometry, as conceived by
is executed. In this case there are no words between Mandelbrot, provides a mathematical model for many of
FRACTALS 567
the seemingly complex forms found in nature. One of mic paper. The negative slope of the resulting line fit is an
Mandelbrot’s key observations was that these forms pos- estimate for D,. There are other definitions of dimension
sess a remarkable statistical invariance under magnifica- (e.g. the Hausdorff-Besicovitch dimension, the mass di-
tion. This may be quantified by a fractal dimension, a mension, and the correlation dimension).
number that agrees with our intuitive understanding of The mathematical model for a statistically self-similar
dimension but need not be an integer. These ideas may object is given by fractional Brownian motion (f{Bm). In one
also be applied to time-variant processes. Another import- dimension, fBm is a random process X(f) with Gaussian
ant discovery has been that even in very simple nonlinear increments X(¢t,) — X(¢,). The variance of these increments
dynamical systems, such as the double pendulum, long- is proportional to |t,— ¢,/°’ where 0 < H < 1. The incre-
term predictions are not possible despite exact knowl- ments of X are statistically self-similar with parameter H.
edge of the underlying governing equations. Such systems This means that, after setting f, = 0 and X(, )= 0, the two
exhibit behavioral patterns that we can conceive only as random functions X(f) and r” X(ré) are statistically indis-
erratic or chaotic, despite their very simple and determin- tinguishable. For a given number X,, we have that the
istic generating mechanisms. Arbitrarily small perturba- points f that satisfy X() = X, will constitute a fractal point
tions of solutions are blown up by such systems until the set, which is statistically self-similar. Its dimension is D, =
perturbed solutions have lost all correlation with the orig- 1 — H. The graph of X(¢ is not self-similar, since we must
inal solution. This phenomenon has been termed sensitive scale in the t-and X-direction by different factors rand 1/ r
dependence on initial conditions and is the trademark of to obtain statistically equivalent graphs. This form of sim-
what became known as chaos theory. There is a strong ilarity has been termed selfaffinity (properties are invari-
connection between chaos and fractal geometry, namely ant under affine transformations). The graph of X( has a
that, as one follows the evolution of the states of a chaotic fractal dimension of 2 - H. Spectral analysis of fBm yields
nonlinear system, it typically leaves a trace in its embed- the spectral density S(A) of the process X(#). The density
ding space that has a very complex geometric structure: S(f) is proportional to 1/f P where the spectral exponent B
This trace is a fractal. equals 2H + 1. Thus, f is in the range from 1 to 3.
Fractals are of particular interest to computer scien- The generalization of fractional Brownian motion to
tists because of their use in computer graphics to depict higher dimensions is a multidimensional process (a ran-
landscape and vegetation in a very natural way. This and dom field) X and (t,, ¢,,..., t,), with the properties analo-
other scientific applications are discussed in the last gous to the above. The random field X has stationary
section of this article. increments and is isotropic (i.e., all points (¢, &,..., t,) and
all directions are statistically equivalent). The random
Random Fractals Fractal geometric structures ex- fields can also be characterized by their spectral density
hibit a self-similarity when the distance at which they are function or, equivalently, by their autocorrelation func-
viewed is changed. This self-similarity may be either tion.
exact or statistical. An exact self-similar fractal is the Let us consider the case n = 2, where X(t, f,) may be
snowflake curve devised by the Swedish mathematician plotted as height over the point (4, ¢,) in the plane. The
Helge von Koch in 1904 (see the construction in Fig. 1). result is a fractal surface, the graph of X. It is a self-affine
The curve is self-similar: Magnifying one quarter of the fractal whose dimension is D, = 3 — H. The sets of points
snowflake curve by a factor of 3 produces another com- {(t,, t,) satisfying X(t, t,) = Xp} are collections of curves
plete snowflake curve. interpreted as coastlines, assuming a water level X,.These
When a self-similar object is given as N copies of curves are statistically self-similar with dimension 2 — H.
itself, each one scaled down by a factor of r, the self-simi- The above models describe uniform fractals (i.e. frac-
larity dimension of the object is defined as tal properties are essentially global properties). In non-
uniform fractals, the dimension may require different
‘a log N values. These multifractals have received wide attention
log 1/r in the study of aggregation problems.
Another topic of interest here is the /acunarity of a
This definition assigns a dimension 1 to straight lines fractal. It is a property independent of the fractal dimen-
sion, but has an effect on the texture or appearance of the
and 2 to squares, as expected. Fractals typically have a
non-integer dimension. The snowflake curve has a di- fractal and thus is a useful additional parameter for algo-
mension D = log 4/log 3 =~ 1.262. rithms for the simulation of natural shapes (see below).
The notion of self-similarity dimension is extended to
sets that do not have exact self-similarity. Let A be a set in Algorithms for Random Fractals There have
n-dimensional Euclidean space R", and define N(r) as the been many algorithms developed that generate finite ap-
proximations of random fractals. Initially, methods have
minimal number of n-dimensional cubes necessary to
cover the set A. Then the (box-counting) fractal dimension been judged primarily with respect to the quality of the
approximation and raw compute speed, two conflicting
is
goals. More recently, with the advent of increased avail-
_lim logNM
D{A) = | ,0 log 1/r ability of workstation (q¢.v.) computing power as well as
very good built-in graphics capabilities, research empha-
This quantity can be estimated from a given data set by sis is more on flexibility and control of the fractals. For
drawing a graph of the function N(r) on doubly logarith- example, local control of the fractal dimension is desir-
568 FRACTALS
eS
FIG. 1. Construction of the von Koch snowflake curve. The interval [0,1] is given initially (not
shown here). In each stage (going from bottom to top), line segments are replaced by the
generator curve, which consist of four lines as shown in the bottom curve (stage 1). As stages are
added, the total length of the curve tends to infinity, although the curve is confined to a finite
region.
able to model “smooth” valleys surrounded by rough X(%) = ¥o(X(0) + X12) + D,,
mountains in a landscape scene. X%/) = Y(X('2) + X(1)) + D,,
In this section we present a few selected algorithms,
first for the one-dimensional case and then for two or where D, is Gaussian with variance AR proportional to
more dimensions. One of the first and most widely known
o°/(2’)*". Note that the two samples of D, in the above
methods is the midpoint displacement method. Assume
formulas may be different. The process is continued with
that values X(0) = 0 and X(1) are given. X(1) may be
displacements D, having variances A? proportional to
obtained as a sample of a Gaussian random variable of
variance o”. The interval [0, 1] is partitioned into two o’/(2” )*" in the n-th stage. This method is fast, but lacks
subintervals [0, 4%], [%, 1], and X (2) is defined as the mathematical purity, since the process X does not have
average of X(0) and X(1) plus a displacement D,—i.e. stationary increments for H ¥ W.
One method that improves on the stationarity of the
X(2) = Vo[X(0) + X(1)] + D,. increments of X is called successive random additions.
Assume that X(# is already approximated on an interval
The displacement D, is computed as a sample of a Gauss- at equidistant points with grid size At, and let r>1 bea
ian random variable with variance A? proportional to fixed number denoting a reduction factor. In the next step,
0/274, The process is repeated with the two intervals— the grid size is reduced to At/r and values at the new
i.e. more precisely, we set in this second stage equidistant points are defined by an interpolation proce-
FRACTALS 569
dure (e.g. linear interpolation). Additionally, all values are fastest. However, increments are not stationary and, in
offset by a sample of a Gaussian random variable with a consequence, one obtains the so-called creasing effect,
proper choice of variance. This procedure is repeated which disturbs the natural! look of the fractal. For a small
until the desired resolution is achieved (e.g. if we start out extra expense, the method of successive random addi-
with just two. values of X as in the midpoint displacement tions offers improved results. The rescale-and-add-
algorithm, then in order to obtain an appropriate random method is relatively slow in one dimension, but it is
fractal with N points, we must exercise n stages of the superior in three dimensions, in which case the other
successive random additions method, where n = log N/ methods suffer from storage problems and time complex-
log r). The variance A? of the displacement in the n-th such ity. Moreover, dimension and lacunarity may be changed
not only globally, but also locally.
stage of the algorithm must be proportional to 1/r2"". The
The output of the methods discussed is a two-dimen-
parameter r> 1 controls the lacunarity of the fractal. With
sional array of heights. There are several computer
a large value of r, only a very few stages are necessary and
graphics methods available for a rendering. Squares or
the lacunarity is especially drastic.
triangles may be shown as shaded polygons with z-buffer
An alternative method is to sum
or scanline techniques. When many data are given, a
floating horizon method can be applied. For most realistic
k
~S(r*t images, ray tracing techniques are suitable. Generally, it
X(0 = gaat is the case that the rendering of fractal surfaces takes
k= k, more compute time than the generation process for the
fractal itself.
wherer> 1,0 <A <1 and Sis an auxiliary function similar
to the sine and cosine functions (e.g. S may be defined as
Deterministic Fractals Random fractals involve an
element of chance. In contrast, deterministic fractals are
a smooth interpolant of random data at integer points t =
given by means of exact formulas. In this section we
0, + 1, + 2,... For kj = —~, Rk, = &, we obtain a random
consider those deterministic fractals that arise from dis-
fractal whose graph has a fractal dimension 2 — H and
crete dynamical systems (i.e. the iteration of mappings).
r >1 determines lacunarity. In practice, the numbers Rp, Rk,
These may be derived, for example, from population dy-
are chosen to reflect the upper and lower crossover scales
namics in biology and yield maps that describe growth of
of the fractal (i.e. basically r~* and r~*” will define the population from one generation to the next. Iteration of
largest and the smallest structures seen in X(f). This the maps simulates the dynamics over longer time peri-
method is a summation of band limited functions and is ods. Other mappings are motivated by time-variant pro-
also called the “rescale-and-add-method”, and in this one- cesses described by differential equations and associated
dimensional formulation is almost the same as the Poincaré sections.
Mandelbrot-Weierstrass function.) The parameters r and The first system of differential equations discovered
H determine lacunarity and fractal dimension (D = 2 — H) for which a fractal structure is central consists of the
of the graph of X(f). They need not be fixed globally, but Lorenz equations (1963):
may change depending, for example, on t or even X(0).
The generalization of the methods to random fields x =o(y
— x),
X(t,,t,) is as follows: In the midpoint displacement y=Rx-y-xz,
method we start out with an equilateral triangle and z=xy—- bz.
random values of X({,,f,) at the three vertices. Each side
is subdivided into two halves and the displacements are These equations, named after the meteorologist E. Lo-
done on each side just as in the one-dimensional case. renz, were motivated by the problem of weather forecast-
This yields four smaller equilateral triangles with sides ing and represent a much _ simplified model of
half as long. This procedure is iterated until the desired Rayleigh-Bénard convection in fluids. As solutions are
resolution is achieved. It can be modified to operate on followed, they tend to a set in 3-space with a complicated
fractal structure, a strange attractor (see Fig. 2).
squares in place of triangles.
One way to study the dynamics given by a system of
The method of successive random additions is also
three differential equations, such as the Lorenz equa-
very easy to implement in the two-dimensional case. One
tions, consists of reducing the description to a two-di-
works with grids where the grid sizes are given by 1/ r"
mensional map called the Poincaré section. A model for
and multilinear interpolation may be applied.
the Lorenz system has been suggested by Hénon and
In the rescale-and-add-method we set
Pomeau in 1976
Nothing is changed except that the auxiliary function now Given an initial point (X), y) ), the formula defines a suc-
has two arguments and must be modified accordingly. cessor point (x,, y,) and all following points iteratively.
Comparing the above methods, we deduce that the Again, there is a strange attractor with self-similar fractal
midpoint displacement method and its variants are the structure (see Fig. 3). It is remarkable that important
570 FRACTALS
M={ceEC|lim z, 4 with z =}
iN
f iN \
sion of J typically is a non-integer value between 0 and 2.
The theory of Julia sets has been carried out not only for
the quadratic map, but also for polynomials and rational
maps (e.g. Julia sets naturally arise when a complex poly-
nomial equation p(z) = 0 is solved numerically by
Newton’s method). This amounts to the iteration of N(z)
= z — p(z)/ p’(z). The roots of the equation p(z) = 0 are
attractors for the rational map Mz), and the Julia set is
FIG. 2. The Lorenz attractor for parameters R = 28, o = 10,b the boundary that separates the corresponding basins of
= 8/3. attraction (see Fig. 4). It is the locus of instability: In any
arbitrarily small neighborhood of a point in J, one finds
aspects of complex dynamical behavior found in nature points that converge to different roots of p(z).
can be captured in such simple discrete maps. Most phenomena that occur in context with rational
A related discrete model is the quadratic mapping maps already appear in the quadratic map R(z) = z+.
The Mandelbrot set reflects qualitative aspects for all
se aeD
Ze} = R(z,) = 2, + ¢, parameters c of this map, namely it collects all parame-
ters c whose Julia set J, is a connected set. Outside of the
where z,, k = 0, 1, 2,... are complex numbers, and c is a Mandelbrot set, corresponding Julia sets are not con-
complex parameter. This iteration has found widespread nected; they are just clouds of points. The Mandelbrot set
interest, not only in the scientific community, but also (see Fig. 5) itself is also a fractal with a certain self-simi-
among amateur scientists, due to its computer graphical larity: Any small neighborhood of a boundary point of M
potential. It is the iteration procedure that yields the contains a complete copy of M. The conjecture that the
Mandelbrot set
FIG. 3. The Hénon chaotic attractor in two enlargements, computed from a run of 100,000
points. The regions shown are [0,1] x [0,0.3] (left) and [0.7,0.8] x [0.15,0.18] (right). The small
square in the left figure corresponds to the enlargement on the right. The self-similar struc-
tures are clearly visible.
FRACTALS 571
_ log |Ré(c) |
SO lea errerrrce
The expression in the limit converges rapidly once |RE(c) |
is large.
The values of G(c) can be used in an image again in
connection with a color look-up table, or they are inter-
preted as a third spatial coordinate (i.e. height, see Figs.
6-11, color insert pages CP-8, 9).
An alternative measurement for points c ¢ M is the
distance d(c, M) of c to M, which can be estimated accord-
ing to
Here R*(c) denotes z,, the kth iterate of z > z’ + ¢, Applications Fractal phenomena are found almost
starting at Z) = c; L,,, is the maximal number of allowed everywhere in nature, from the very large scales of clus-
iterations per point; and R,.,, is a large number (2 2). ters of galaxies down to the microcosmos of molecular
Thus, L(c) is the number of iterations necessary to detect particles. Although the mere description of these shapes
that the critical value c of R. escapes to o. The computa- and forms in terms of fractals does not explain anything,
tion of L(C) is carried out once per pixel of the image, each it is clear that the fractal “dialect” is the appropriate
language and, thus, will likely evolve to become a lasting
element of science.
Obviously, wherever nature is to be simulated,
fractals are of value. Because of the difficulty of depicting
them realistically, landscapes and clouds were two of the
first natural phenomena discussed in the computer
graphics community. Research is now incorporating ef-
fects such as erosion of a fractal landscape, allowing
rivers and river networks to be included in the long list of
simulated phenomena.
Fractal geometry applied to spatial relationships pro-
vides one way to achieve visual complexity. Another
method used in computer graphics is called solid textur-
ing, which is usually given as a functional model (e.g. in
Fig. 8, which shows a fractal planet, the geometry is very
simple and not fractal: it is merely a sphere). But the
texturing function, which determines the coloring, is con-
structed using the laws of random fractals. As demon-
The Mandelbrot set with some equipotential lines.
strated, there is a balance between geometry and texture.
FIG. 5.
572 FRONT-END PROCESSOR
No visual complexity is lost if one of the two is relaxed erated by viscous fingering in porous media, which is an
while the other one is enhanced. important issue for oil recovery.
One of the most important aspects of fractals is that It is no surprise that molecular surfaces are fractal;
their visual complexity is very high in contrast to their thus, fractal geometry will prove useful in chemical engi-
intrinsic complexity, as measured in terms of the length of ~ neering (catalysis) and other areas where surface/volume
the shortest computer program that can generate them. relations are crucial (e.g. wetting and powder technol-
Typically, such programs are quite short. This is called ogy).
database amplification and is important where large, de- Deterministic fractals typically arise from dynamical
tailed databases are too big or too costly to be used (e.g. systems that are motivated by numerous models for nat-
in flight or driving simulators, or in telecommunication). ural phenomena (e.g. the production of red blood cells in
A systematic analysis of images using self-similarity the bone marrow may be modelled using a delay differen-
by means of affine maps has been carved out by Barnsley tial equation, which exhibits chaotic attractors, which in
and his coworkers in an approach called iterated function turn may be interpreted as serious irregularity in the red
systems. One grayscale or color image (e.g. a rasterized blood cell concentration in patients with leukemia).
photograph or a transmitted satellite image) may be en- The Mandelbrot set plays a central role as a paradigm
coded as an object that is invariant under a collection of for the transition from order to chaos in such models. As
affine maps. These affine maps may be stored in much less the parameter c is decreased along the real axis, the
memory than the original image. Compression ratios of system z — z* + c undergoes a series of period doubling
10,000 to 1 are reported. In turn, these affine maps may bifurcations, a phenomenon that has also been discovered
again be used to reconstruct the image, or at least a close in several physical laboratory experiments. Moreover, it
approximation of it. There is promising evidence that so- has been revealed that the Mandelbrot set is in some
phisticated implementation of a further development of sense a universal object. It appears also in the study of
the method will allow real-time transmission of video qual- rational and so-called polynomial-like maps.
ity images over low-speed channels such as phone lines. As a side effect due to their beauty, Julia sets and the
There are numerous other applications of fractal ge- Mandelbrot set have provided inspiration for computer
ometry in image processing and pattern recognition. Two art and serve as a pleasing demonstration object on com-
of them are: puter trade shows. Another unforeseen but possibly rele-
vant side effect of the colorful Mandelbrot set images is
1. Automatic segmentation of images based on frac- that they convey a hint at the beauty that lies within
tal dimension, lacunarity, etc., which is useful in mathematics. Thus, they supply motivation to support
differentiating objects in an image such as man- the assertion that mathematics is a worthwhile and, in
made structures, forest, and sky. fact, important part of human culture.
2. Optimization of camouflage methods based on
fractal analysis of the surroundings. References
1982. Mandelbrot, B. B. The Fractal Geometry of Nature. New York:
A method to generate fractal shapes that grow in space is
W. H. Freeman and Co.,
based on Lindenmayer systems. Objects are represented
1986. Peitgen, H. O. and Richter, P. H. The Beauty of Fractals,
as strings of symbols that are generated from an axiom Heidelberg: Springer-Verlag.
(initial short string) and a set of production rules that are 1987. Gleick, J. Chaos—Making a New Science. New York: Viking.
applied recursively to the symbols of the axiom and the 1988. Barnsley, M. F. Fractals Everywhere. New York: Academic
resulting strings. The geometric representation of these Press.
strings is obtained through turtle graphics. Classic fractal 1988. Peitgen, H. O. and Saupe, D. (Eds). The Science of Fractal
curves, such as the snowflake curve, Hilbert’s space filling Images. New York: Springer-Verlag.
curve, the Sierpinski gasket, etc., are easily and compactly 1990. Hao B. L. Chaos II. Singapore: World Scientific.
1990. Prusinkiewicz, P. and Lindenmayer, A. The Algorithmic
formulated as L-systems. The main application is the
Beauty of Plants. New York: Springer-Verlag.
modeling of growth and form of trees, bushes, and plants.
1991. Peitgen, H. O., Jiigens, H, and Saupe, D. Fractals for the
These results stem from an interdisciplinary effort in com- Classroom, Part One and Part Two. New York: Springer-Verlag.
puter science and biology.
These aforementioned applications are relevant to DIETMAR SAUPE
computer science and engineering. Perhaps the most im-
portant uses are in the physical sciences. One area of
application is given by percolation processes describing a
fluid spreading randomly through a medium that supplies FRONT-END PROCESSOR
a network of narrow pores and channels for the fluid flow. For articles on related subjects see CHANNEL; COMMUNICA-
This includes seepage of (possibly contaminated) water TION CONTROL UNIT; COMMUNICATIONS AND COMPUTERS;
through the cracks and fractures of rock formation. DATABASE COMPUTER; HOsT SYSTEM; INTERRUPT; MODEM; MULTI-
Another application is diffusion-limited aggregation PLEXING; and PROCESSING MODES.
in which “sticky” particles move about randomly and
eventually attach to a cluster of particles. In this process, A frontend processor is a small, limited capability,
the cluster grows into a fractal characterized by its fractal digital computer that is programmed to replace the hard-
dimension. There is a strong coincidence with forms gen- wired input and output functions of a central computing
FUNCTIONAL PROGRAMMING 573
system (e.g. for the control of remote terminals in a time- 3. Communication multiplexer—a device with pro-
sharing system). The front-end processor thereby per- grammable or hard-wired logic that produces
mits the host computer to perform its primary functions logically independent data channels into the
with little regard for the slower input/output activities front-end processor’s main memory from each
associated with large-scale multiprogrammed or time- transmission line serviced. The coordination of
shared computing systems. the data flow between the multiplexer and pro-
In addition to receiving and transmitting all data cessor is handled by the front-end processor’s
passing through a computing system, front-end proces- interrupt system.
sors may also support a wide variety of functions, such 4. Line interface units—the hardware devices that
as: link the communication multiplexer with the mo-
dems that terminate each of the communication
1. Data and/or format conversion—the conversion lines.
of one or more incoming data codes and formats 5. Software—the programs that integrate the func-
to that of the host system. tions of the various hardware components of the
2. Polling (q.v.)—the determination by a front-end front-end processor. Included in the software
processor of a terminal’s readiness to send or package are such functions as terminal, line and
receive data. message control, system interface procedures,
3. Assembly of characters and messages—the as- and whatever other functions are required by a
sembly and disassembly of all data, which may particular installation.
be input at varying line speeds and in synchro-
nous or asynchronous formats, to insure that the The front-end processor can be a powerful and econom-
host system receives only complete messages. ical means of relieving a central processor of its time-
4. Error control and editing—the detection and pos- consuming overhead activities by placing these activities
sible correction of transmission errors, as well as under the control of an independent and parallel pro-
corrections initiated at the terminals prior to cessing unit, but the need for front-end processors has
reception by the host system. been declining as mainframe I/O units have become more
5. Fail-soft functions—the ability of the front-end powerful.
processor to keep parts of the system operating
ARTHUR |. KARSHMER
(such as terminals) when a major element of the
host system has failed.
6. Queueing—placing incoming messages in trans-
mission order for processing by the host system,
or in some cases queueing messages on auxiliary FUNCTION. See Procepure; and SUBPROGRAM.
storage devices (spooling).
7. Message switching—a function of front-end pro-
cessors that service more than one central pro-
cessing unit. FUNCTIONAL PROGRAMMING
8. Direct response—the front-end processor may For articles on related subjects see LAMBDA CALCULUS; LIST
have the ability to respond to simple inquiries PROCESSING: LANGUAGES; PROCEDURE-ORIENTED LANGUAGES; and
directly without contact with the host system. RECURSION.
The basic components of a typical front-end processor Functional programming, sometimes also called appli-
system are: cative programming, is a style that uses function applica-
tion as the only control structure (g.v.). Rather than
1. Processor—a stored program digital computer conditional statements, one uses conditional expressions
that has main memory that may vary in size from to yield alternative results; rather than an assignment
several hundred words to many thousands of statement, one uses binding of parameter to argument to
words depending on the complexities of the spe- place a name on a value; rather than explicit sequencing
cific application. Two important qualities re- or looping of control flow, one uses patterns of nested
quired of a front-end processor are good facilities invocations to direct the generation of an result. Of im-
for bit manipulation and handling interrupts mediate importance for general problem-solving is that,
(q.v.). The processor. may or may not have its just as a function may take several arguments, aresult can
own on-line peripheral devices, depending on have several components.
the particular application. There are various approaches to a pure applicative
2. Central processor interface—the hardware inter- style. Some are restricted to functions that can only re-
face that allows the front-end processor to con- ceive and return elementary data objects, respectively, as
nect directly to an input/output channel of the arguments and as results. Examples of this class include
host system. The host system is then able to primitive recursion, pure expressions in Iverson’s APL
communicate with the front-end processor as if (its infamous one-liners) and Backus’s FP. APL is rich in
it were a standard peripheral device controller. primitive operators and naming conventions, which Bird
574 FUNCTIONAL PROGRAMMING
has refined into a powerful calculus of programs (Turner, Here, a, b, and c are local parameters. From them, three
1990); FP is quite spartan in both respects (Hudak, 1989). terms are assembled and passed to twoRts, which com-
More contemporary examples allow functions them- putes the pair of roots.
selves to be data objects and to be passed throughout the
system. Examples include very pure versions of John twoRts = (lambda (terml term2 denominator)
McCarthy’s Lisp (Henderson, 1980) and Backus’s Formal (cons (/(+terml term2) denominator)
Functional Programming (FFP), Miranda, ML, and Haskell (cons (/ (- terml term2) denominator)
(Hudak, 1989). These are closer to the theoretical founda- Res Je) a)
tions of functional programming because the domain of
data objects includes everything computable, including which forms a list of the two roots.
The arithmetic functions +, —, *, /, neg, and sqrt are
the very function that a user requires; it is only necessary
that it be identified. primitive and have their obvious meaning. While a neces-
Church’s Lambda Calculus is one such foundation sary example of elementary primitives and style, this
language; it is commonly used to relate many topics code is unwieldy; it would have been better rendered in
from logic and computer science. It forms the foundation Scheme as
for pure Lisp, for much work in theorem proving (in-
(define solveQuads (lambda (list0f3s)
cluding program correctness), and for the work in
(letrec
denotational semantics by Scott and Strachey. Under
((quad (lambda (listOf3s) (apply
their approach, a program must be expressible as a
roots listOf3s)))
function, since the only way that any looping program
(roots (lambda (a bc) (let
has meaning is through the mathematical concept of
((terml (neg b))
the fixed point of a functional interpretation of its defi-
(term2..€sqrt. (=) C44 Deb)v(4)40a c)Y))
nition (Stoy, 1977). For this reason, Lisp is chosen as
(denominator (+ aa)) )
the medium for a first example. The description of Lisp
“( ,(/ (+ terml term2) denominator)
and the example in the article List PROCESSING: LANGUAGES
»(/ (- terml term2)
(g.v.) are useful starting points for understanding this
denominator)) ))) )
code, especially car and cdr. Consider a program that
(mapcar quad listOf3s) )))
reads a list of triples and returns a list of pairs; a triple
contains the coefficients of a quadratic equation, and A similar solution, an APL expression, is more con-
the pair is its computed roots. cise, but uses the far richer primitives of that language.
Using the language Scheme, which uses a Lisp nota-
tion akin to Lambda calculus, we might write the defini- V Q — SOLVEQUADSM
tion: Q<—12116(-M[;2])°. +1—-1e.x
((M [52] * 2)-4 x M[;1] x M[;3]) «.5)
(define solveQuads (lambda (list0Of3s) (cond 0, +2xM[:1]
CCnitle thistOF3s)<().) V
(else (cons ( quad (car list0Of3s))
(solveQuads (cdr listOf3s)) )) ))) This declares SOLVEQUADS as a function of one argument on
an n x 3 array. M[;i] extracts the ith column of m as a
If the list of triples is empty, so is the answer. Otherwise, vector—either all values of a, of b, or of c. The operator
build up a new list whose first element is the root of the o.® is an outer product in which ® is applied pairwise to
first triple and whose remainder solves the remaining all components of each operand for any dyadic operator
triples. ®; in this example, o.+, o.X, and o.+ are used, each oper-
ating on a vector and an array of dimension d, yielding an
(define quad (lambda (triple) array of dimension d+1. One may identify the outer prod-
(roots (a triple) (b triple) ucts on the vectors composed of all values, respectively,
Lcabripliedo. de of — b, of (b? —4 ac)’. and of 2a. The two-element vector
(+1 —1) is used with an outer product to effect the alter-
Thus quad applies roots to the three elements of a triple: native sum or difference of twoRts, above. The apparent,
intermediate result is a four-dimensional n x 2xnxn
a = (lambda (x) (car x)) : matrix, of which only one diagonal plane, that with equal
b = (lambda (x) (car (cc ciigas xe)» mame first, third, and fourth indices, selected by the prefixed
Gia Lambda, (x)..dcarnccdr.edr.. x)))).0; 1211, is the desired answer.
In Haskell, the same same algorithm would be ren-
that is, a, b, and c are functions that return, respectively, dered as follows:
the first, the second, and the third elements of a list.
solveQuads = map (quad where
(define roots (lambda (a b c) quad(a,b,c)= ((-b+term2)/denominator,
(twoRts (neg b) (-b-term2)/denominator)
iS QRt oGo (dba Dee Acasic a where term2 = sqrt(b*b - 4xaxc)
(+. dual dod denominator = ata)
FUNCTIONAL PROGRAMMING 575
Although both Lisp and Scheme are untyped lan- structure—in this case the list of pairs, or matrix of
guages that require full run-time type checking, Haskell is results—without it being represented all at once in the
strongly typed. The type information is implicit in the computer’s memory. Landin (Henderson, 1980) specified
primitives or literals, like (+) and tt sqrt. In fact, Has- a stream to be a (perhaps infinite) list, of which only
kell will determine that the type of solveQuads is the first element need be explicit. The rest of the list
becomes explicit only as it is accessed. Each result of
solveQuads :: (Floating a) => [(a,a,a)]-> solveQuads above may be perceived as a stream that
[(a,a)] becomes explicit only while it is traversed. A typical
use of such a stream is to print it, and the preorder
That is, it maps a list of floating-point triples into a list of traversal during printing forces more pairs to be gener-
floating pairs. A slight modification reveals another differ- ated. Moreover, since an already-printed pair is im-
ence from Lisp. mediately abandoned by such a traversal, its explicit
representation can be erased as it is printed. Under that
operational philosophy, only one pair at a time is gen-
solveQuads = map (quad where
erated, made explicit, printed, and abandoned. Since
quad(a,b,c) = ((-b+term2)/denominator,
solveQuads is “tail recursive,” the traversal can be
(-b-term2)/denominator ) done without using a recursion stack. In APL, the large
where denominator = ata
intermediate result is not necessarily generated—only
term2 = case bxb - 4xaxc of
the diagonal plane, a pair at a time.
discriminant
The analogs of input values to a program are files
| discriminant<0.0 -> error “No quad soln” passed as multiple arguments to a function; the analog of
| otherwise-> sqrt discriminant ~~ output is the (multiple) result returned from such an
) application. Just as each output file is implemented as a
stream, so also may the input files be streams (here, a
The test, illustrating patterns with guards, generates a stream of triples) so that only a finite prefix of unbounded
post-mortem error message when there is no real solu- input is ever represented within the computer. Thus, the
tion. (However, Haskell also has provision for complex code above can run using constant space and time pro-
numbers.) portional to the length of the input file—just as Fortran
With or without this test, both Haskell and Lisp will code would.
crash when sqrt is applied to a negative radicand, but The quadratic example was selected for comparison
the manner in which they crash is far different. Lisp and with a procedure-oriented language. It is a poor example
Scheme use applicative order to evaluate expressions; i.e. for applicative programming because the code generates
all arguments are fully, strictly evaluated as a function is a very simple stream of involved, but algebraically trivial,
invoked. Thus, if any of the triples yields a negative radi- results. A problem that better exhibits the facility of func-
cand, then the entire program crashes; no pairs at all are tional programming and its use of recursion is testing the
returned. equality of two arbitrarily complex structures. Within the
However, Haskell uses lazy evaluation, semantically constraints of the data domain of each language, the
the same as normal order evaluation. Arguments are nec- solutions follow.
essarily evaluated when and if they are necessary to the The Lisp function equa] for lists, although primitive
output of the system. Therefore, a negative radicand in Scheme, might be defined as
would never be evaluated where the “printer” does not
depend on that answer; even when the list of pairs itself (define equal? (lambda (x y) (cond
is being printed, its prefix up to that error will be com- ((not (pair? x)) (eq? x y))
puted before the error “occurs.” ((pair? y) (and(equal?
The previous paragraph stumbles on the issue of (carex) Coarty)))
time—i.e. exactly when does an error actually occur? (equal?
Since the semantics of many functional languages, like Ccdirexa it edrary ey)
Haskell, require no unnecessary sequentiality (because of (else false) )))
lazy evaluation), it become difficult to describe their run-
time behavior in terms of event ordering. While at first If the first argument is atomic, check if it equals the
confusing to the sequential programmer, this property is second in a primitive sense. Otherwise, if the second
highly desirable for parallel processing. Such temporal argument is also a list, then equality distributes to equal-
under-specification there allows the system to implement ity of both their prefixes and suffixes, using the equa] ?
a program using far more latitude to isolate and to sched- predicate recursively. Otherwise, equality fails.
ule mutually independent processes. Indeed, on a multi- In APL (where X and Y are formal parameters), the
processor, that negative radicand can cause an error on solution is:
one processor even while the printer-process continues
to completion on another, as described next. VE«¢X EQUAL YM
Lazy evaluation provides another insight to recon- Fe CX NS XT aA
cile the equivalence between these solutions and itera- ((pX)a.=(ppX)TpY)a(ppX)=ppy)
tive Fortran code. It is possible to represent a data
576 FUNCTIONAL PROGRAMMING
APL has only homogeneous arrays as data types. Thus, multiple or pipelined processors) without tailoring it toa
equality exists if the content of the two arrays is equal, particular machine. Moreover, much of the notation for
and if their shapes are the same, and if they have the same program verification (q.v.) has a functional foundation, and
dimension. Because APL is strict, it evaluates all con- so functional programs usually can be read as their own
juncts and because operands must be conformable, the - proofs. Finally, the natural modularity of function defini-
“simpler” expression tions provides for facile, piecewise testing and mainte-
nance of large programs.
E—(GX)=,VY)A(OX) =p VY) aX) =ppyY)
References
cannot be used. Parsing of the more complicated expres-
sion requires knowledge of APL’s convention on binary 1977. Stoy, J. E. Denotational Semantics. Cambridge, MA: The
M.LT. Press.
operators, all of which have uniform precedence and
1980. Henderson, P. Functional Programming, Application and Im-
associate to the right.
plementation. Englewood Cliffs, NJ: Prentice-Hall.
Haskell’s prelude derives built-in list equality: 1987. Peyton Jones, S. L. The Implementation of Functional Pro-
instance (Eq a) => Eq [a] where gramming Languages. New York: Prentice-Hall.
1988. Bird, R. and Wadler, P. Introduction to Functional Program-
Po ge coo RTS ming. New York: Prentice-Hall.
(x:xs) = (y:ys) = (x=y) && (xs==ys)
1989. Hudak, P. “The conception, evolution, and application of
= = false functional programming languages.” ACM Computing Surveys
This code follows the logic of the Scheme code, above. Of 21, 359-411.
1990. Turner, D. A. Research Topics in Functional Programming.
particular note is the pattern matching, displacing the
Reading, MA: Addison-Wesley.
explicit conditionals, and the use of the wildcard pattern,
1991. Szymanski, B. K. (Ed.) Parallel Functional Languages and
underscore. The code for equality is bound to the infix Compilers. New York: ACM Press.
operator (==) and integrates homogeneous lists into 1988. Bird, R. and Wadler, P. Jntroduction to Functional Program-
Haskell’s typing system via instance. ming. New York: Prentice-Hall.
Functional programming offers much expressiveness 1991. Szymanski, B. K. (Ed.) Parallel Functional Languages and
for machine architectures beyond that used by conven- Compilers. New York: ACM Press.
tional procedure-oriented languages. Since results are de- 1992. Hudak, P., Peyton Jones, S, and Wadler, P. (Eds.). “Report on
fined without sequential imperatives, much of a functional the Programming Language Haskell.” SIGPLAN Notices 27, 3.
program can be adapted to use available parallelism (e.g.
DAVID S. WISE
GAMES. See Computer Games. : making future access impossible. The two principal ap-
proaches to garbage collection differ primarily in the way
they detect abandoned objects: Reference counting collec-
tors maintain a count for each object of the number of
GARBAGE COLLECTION pointers to it; an object is known to be dead when its
count falls to zero. Tracing collectors identify as live those
For articles on related subjects see LIST PROCESSING; STRING objects that are accessible either directly or indirectly
PROCESSING; and VIRTUAL MEMORY. from a set of root cells (essentially, the registers and
named variables of the program). Objects that are not
Many programming languages and systems provide encountered during the trace are dead.
for dynamic as well as static allocation of memory storage Tracing collectors are further distinguished by
to abstract data objects. The performance of these sys- whether they copy or merely mark objects found to be
tems relies on their ability to reclaim and re-use storage live. Copying collectors relocate live objects into a new
for dynamically allocated objects after they are no longer memory area as they are encountered during the trace.
needed by the executing program. They then scan the objects in the new area, replacing the
Some language systems (Pascal, for example) require pointers to old objects with their new values. Finally, they
programmers to return unneeded objects (garbage) to the reclaim the entire area from which the objects were cop-
memory system explicitly. Although this permits precise ied. Marking collectors, on the other hand, simply flag live
and efficient recycling of storage when done carefully, the objects during the trace, then scan the memory area
extra conceptual burden it places on the programmer afterwards to find and reclaim unmarked objects.
often results in objects being recycled prematurely or Since garbage increases rapidly with memory size,
being forgotten and thus lost to the system. Other sys- large memory systems pose two critical problems. Long
tems reclaim abandoned objects automatically through a pauses for garbage collection are intolerable for interac-
process called garbage collection. Reclaiming storage au- tive and real-time applications and may well dominate the
tomatically in this way is both a convenience to the pro- execution time of large programs. Second, tracing gar-
grammer and a means of ensuring that every object’s bage collectors access all of a program’s live objects
storage is recycled correctly. within a very short period of time. This severely violates
Garbage collection was first developed for list pro- the presumption of locality of reference that underlies
cessing languages like Lisp, then adapted to Smalltalk and virtual memory systems, so it usually results in excessive
other high-level integrated language systems. More re- page thrashing ([email protected].).
cently, it has started to appear in implementations of These problems have prompted the development of
more traditional languages that support dynamically allo- area-based compacting collectors. These copying collec-
cated data, including Modula-3, C++, and Ada. tors arrange for related live objects to be clustered into
Garbage collection occurs in two phases: identifying relatively small areas of memory that may be processed
unneeded objects, and then making their storage avail- separately. If there are few instances of references be-
able for reallocation. We say that an object in a program tween objects in different areas and if each area is small
is needed, or live, at a given time if the program might enough to fit within the working set (g.v.) of the program,
access that object in the future; otherwise, it is dead. In then the garbage collection process itself is well-behaved
practice, garbage collectors consider an object to be with respect to the virtual memory and each pause is
dead only if the program has abandoned all pointers to it, relatively short. It is important to note, however, that
577
578 GATEWAY
e)
become the prime motivation for incorporating compact-
ing garbage collectors into many large-memory systems.
The performance of an area-based collector depends
most critically on the principles by which it clusters ob-
jects into particular areas. The most successful tech-
niques rely on two empirical observations concerning the
lifetimes of objects: (1) newly created (young) objects
tend to die quickly, while old ones are likely to continue
living; and (2) objects seldom reference objects that are
younger than themselves. Generational scavenging clus-
ters objects into areas called generations, according to FIG. 1. Gateway: internetwork router.
their ages. In this method, a scavenger process collects
the younger (typically smaller) generations frequently.
When an object has survived several collections in one 1. A gateway can interconnect two or more network
generation, the scavenger relocates it to the next older services. Fig. 1 shows a simple device that takes
generation, which it scavenges much less frequently. packets from one network and forwards them on
Lifetime-based collectors are well-suited to interac- another. The underlying technology and formats
tive and soft real-time applications because they may be of packets may be different. The essential ser-
configured so that the pause to collect the youngest gen- vice/protocol are the same. Alternative terms for
eration is well below one second. Garbage collection with this device are router, switch, and network or
hard real-time constraints is much harder to accomplish, internetwork level relay.
however, and is the focus of ongoing research. 2. A gateway can convert between two different
Garbage collection for languages that lack run-time ways of providing a particular communications
typing of data objects is hampered by the difficulty of application. (See Fig. 2). Alternative terms for
distinguishing pointers from the other possible contents such a gateway are application level relay, appli-
of variables and data objects. Collectors for these lan- cation protocol convertor, and application proto-
guages usually rely on conservative variants of marking col translator. An example of this is a device that
algorithms. During the tracing phase, they assume that if takes electronic mail from one system and con-
a cell contains the same bit value as a pointer to an object, verts and forwards it to another.
then that object is live. This works well for systems with
large, sparsely occupied address spaces and when Both of these devices are distinct from repeaters and
pointer values are distinct from most small integers and bridges. In the OSI model of service layering, a gateway
floating point values. operates either in layer 3 or layer 7. A repeater operates
at layer 1, physically interconnecting similar or identical
References transmission media, while a bridge operates at level 2,
forwarding identical frame formats, but potentially over
1981. Cohen, J. “Garbage Collection of Linked Data Structures,”
very different media with possibly different access proto-
ACM Computing Surveys 13,3: 341-367.
cols.
1983. Lieberman, H. and Hewitt, C. “A Real-Time Garbage Collec-
tor Based on the Lifetimes of Objects,” Communications of the A gateway that interconnects networks at the packet
ACM 26,6 (June): 419-429. forwarding level can operate in two different ways de-
1973. Knuth, D. E. The Art of Computer Programming, vol. 1: Funda-
mental Algorithms. Reading, MA: Addison-Wesley.
1980. Standish, T. A. Data Structure Techniques. Reading, MA:
Addison-Wesley.
DAVID H. BARTLEY
GATEW/AY
For articles on related subjects see: DATA COMMUNICATIONS;
LOCAL AREA NETWORKS; METROPOLITAN AREA NETWORK; NET-
WORK PROTOCOLS; NETWORKS, COMPUTER; OPEN SYSTEMS INTER-
CONNECTION; and PACKET SWITCHING.
pending on the underlying network services it is intercon- must be such that they do not slow down the functional
necting: units connected to them. In this sense they are the high-
est-speed storage in the storage hierarchy (g.v.) present
a. Datagram router
in a computer.
This functions by receiving connectionless mode
Among the reasons for the presence of general regis-
network protocol data units (datagrams, )and for-
ters, one should note their role in reducing the average
warding them on the basis of some routing table.
number of bits needed to specify operands in a computer
Many such devices employ distributed algo- program. For example, one of 16 general registers can be
rithms to provide. “Dynamic Routing,” whereby
addressed with four bits, whereas a main memory ad-
each datagram is routed independently. When
dress for amemory of 1 million locations requires a 20-bit
there are failures of networks, links, or routers,
address.
new routes are calculated.
General registers may serve as arithmetic or logical
b. Virtual circuit switch registers, in which case they function as dedicated parts
The networks interconnected by such a device of the arithmetic/logic unit. If we denote registers by R,
provide a connection-oriented network service, then atypical arithmetic or logical instruction will be Re
often by using a protocol such as X.25. A gateway R,oR,, where o stands for any arithmetic or logical opera-
interconnecting two different X.25 networks tion, and i,j, k may be either distinct or equal (e.g. R, —R,
does so on a “per connection” basis. This means + R,).In some machines, the specification of a register as
that each end system establishes a path across a part of an instruction can automatically increment or dec-
number of networks and gateways, and this is rement its value by an amount that may vary by the oper-
used for the duration of the communication. and type. Thus, for a byte, the change may be 1; for a 32-bit
Routing is usually calculated no more frequently operand, the change may be 4. This attribute is particu-
than for each path establishment. larly useful if the register is used as an index register.
Networks that employ different network services The general registers may also serve as shift regis-
cannot be connected using network level relay type gate- ters; index registers, in which case they serve as input to
ways. Instead, they must employ application level gate- the memory unit; input/output registers, in which case
ways, or else use some ad hoc means such as a Transport they hold parameters that specify channels (q.v.), or
Service Bridge (Rose, 1990). channel command registers, etc.
The number of general registers varies widely be-
References tween 0 to 256 (as of 1990). The numbers represent cur-
rent architecture and hardware trade-offs, and are not to
1990. Rose, M. T. The Open Book. Englewood Cliffs, NJ: Prentice- be taken as magic numbers. There are also computers
Hall. that possess more than one set of general-purpose regis-
1990. Stevens, W. Richard. Unix Network Programming. Englewood
ters, computers that possess no general registers at all,
Cliffs, NJ: Prentice-Hall.
and computers that possess specialized registers (such
as vector registers, segment registers, address registers,
JON CROWCROFT
etc.)
GIDEON FRIEDER
GENERAL REGISTER
For articles on related subjects see ARITHMETIC-LOGIC UNIT;
BASE REGISTER; INDEX REGISTER; and REGISTER. GENERATIONS, COMPUTER
A general register is a storage device that holds the For articles on related subjects see DIGITAL COMPUTERS; and
input (operands) and the output (results) of the various Groscu’s LAW.
functional units of a computing system. It is also used for
temporary storage of intermediate results. The functional In discussions of the history of electronic computers,
units referred to in the definition usually include the it is convenient to refer to at least three computer gener-
arithmetic/logic unit (ALU), memory (g.v.), the control ations.
unit, and various I/O processors. The first generation is characterized by the use of
The width of the register in bits is directly related to vacuum tubes as active elements. This generation started
the precision of a binary integer as it appears to the with one-of-a-kind computers in university and govern-
programmer, and does not necessarily reflect the width ment research laboratories. Mercury-delay lines and elec-
(data path) of the main-memory addressable unit. Thus, trostatic storage tubes were the typical memory devices
in the IBM/370 and its successors, for example, the gen- in the early systems.
eral registers are 32 bits wide, although the memory is The development of a reliable magnetic core memory
addressed in 8-bit bytes and accessed in 16-, 32-, or 64-bit was a major turning point in the first generation. The IBM
units, depending on the model. 704 is an impressive example of the advanced hardware
The registers operate at a speed that is directly and software technology of that period. The latter part of
matched to the speed of the units they serve. Their speed the first generation also saw the introduction of many
580 GLOBAL AND LOCAL VARIABLES
computers that used magnetic drums as their main stor- large-scale integration technology, also represent a fourth
age. or perhaps even a fifth computer generation. If the con-
The second generation is characterized by the use of cept of computer generation is tied directly to advances in
transistors as active elements. The first important transis- technology, we are faced with an anomalous situation in
torized computers were delivered in 1959, and vacuum * which the most powerful supercomputers would have to
tubes rapidly disappeared from computer systems. The be assigned to the third generation, while the most trivial
second generation was characterized by some powerful of hobbyist computers would be a fourth- or fifth-genera-
computers: Larc (g.v.), Stretch (g.v.), IBM 7090, Philco tion system, a clearly untenable system of nomenclature.
2000, CDC 3600, etc. and many small systems such as the With two exceptions, there is no longer much atten-
IBM 1401, RCA 301, and CDC 160A. tion accorded the concept of a computer “generation.”
The distinction between the second and third gener- One is in the area of software, where the highly structured
ation is not nearly as clear-cut as that between the first Pascal-like languages such as Clipper that are typically
and second. Computers that use integrated circuit tech- supplied with microcomputer database packages are
nology are by definition, third-generation computers, but called “fourth generation languages” (4GLs). Another is a
some of the most powerful computers of the third gener- massive effort backed by the government of Japan that
ation use discrete component technology. It is capability aspires to the development of a “fifth generation” com-
and performance rather than circuitry that makes a large puter whose supporting software makes extensive use of
computer a member of the third generation. They are the concepts of Artificial Intelligence (A/- g.v.).
characterized by their ability to support multiprogram-
ming (g.v.) and multiprocessors with a rather elaborate SAUL ROSEN
disk-based operating system. A typical third-generation
operating system on a large computer handles multiple
local and remote job streams and can support a variety of
remote on-line terminals. GEOMETRY, COMPUTATIONAL. see
The third computer generation is generally considered COMPUTATIONAL GEOMETRY.
to have started in 1964. Third-generation systems intro-
duced by the largest computer manufacturers around that
time and in the 10 years or so thereafter include the IBM GLOBAL AND LOCAL
360 and 370 series, the Univac 1108 and 1110, the
Honeywell 6000 series, the Control Data 6000, 7000, Cyber
VARIABLES
70, and Cyber 170 series, the Burroughs B5700 and B6700, For articles on related subjects see BLOCK STRUCTURE; PRO-
the Digital Equipment Corporation PDP-10 and PDP-20, CEDURE-ORIENTED LANGUAGES; and SIDE EFFECT.
and many others.
Some of the smaller computer manufacturers have The quantity (or quantities) referred to by a given
claimed that one or another of their computers repre- variable name in a computer program can generally be
sents a fourth generation, but as of 1992 there is still no accessed (i.e. used or changed) only in certain parts of
generally accepted definition of a fourth generation of the program. The domain of the program during which a
computers. Most authorities consider the computers in- variable name can be accessed is called the scope of the
troduced since 1969 to be “late third generation” comput- variable.
ers. They look for a more significant breakthrough, such In a block-structured language, the scope of a variable
as an electronic peripheral storage system to replace disk is the block in which it is declared, but excludes any sub-
storage, to characterize a fourth generation. Since the blocks that are internal to the defining block and in which
introduction of their third-generation systems, most com- the same variable name is declared. This is illustrated in
puter manufacturers, especially the large ones, have been Fig. 1, which shows the schematic of an Algol program
very reluctant to make any major changes in the logical with an outer block L] and an inner subblock L2, which in
organization of their computer systems. They feel that it turn contains two further subblocks L3 and L4, Also
is necessary to protect the enormous investment in sys- shown in Fig. 1 is the scope of each variable. Note in partic-
tems and applications software by manufacturers and by ular that a variable like C, defined in the outer block, has a
users. Thus, it can be argued that we are still in the third scope L] but without L4 because C is declared again in L4,
computer generation and will probably remain there for a A variable in a block in which it is defined, like G in
long time to come. block L4 in the example, is said to be local to that block,
Even though logical organization has changed very and is therefore a local variable. Correspondingly, vari-
slowly since the mid-1960s, circuit technology has contin- able A is global to block L4, since it is defined outside this
ued to advance at a very rapid rate. From the point of view block, although it may be referred to in the block. The
of circuit technology, vacuum tubes and germanium di- variable C defined in the outer block is also global to block
odes characterize a first generation, discrete transistors L4, but it cannot be referred to in L4 because of the
a second, simple integrated circuits a third, medium scale declaration of C in block L4, the latter (but different) C
integration a fourth, and large scale integration a fifth being local to L4.
generation. Experience suggests that global variables should be
Some authorities suggest that microprocessors, used sparingly, if at all, because of the risk of unfavorable
which represent the most impressive achievement of side effects.
GRAMMARS 581
add-op:: = +|-—
mult-op :: = *|/
exp-op :: = **
primary : : = constant| variable
factor : : = primary|\ primary exp-op primary
term: : = factor\ factor mult-op factor de
Qo
DY Ne
JE
1 RAATRE
Uist
US
arithmetic-expression : : = term add-op term
which generates the language L with two strings {abxcd,
and where constants and variables then have usual defi- abycd}. Note that, when a particular metavariable, such
nitions in computer languages. Then the expression as X in this example, has more than one possible substi-
tution for it, the productions are sometimes written
A + B*¥C**D
X::=xClyC
could be generated as follows:
y\, 7
— A + B* variable exp-op primary
— A + B*C exp-op primary
— A + B*C** primary
— A + B*C** variable
— A + B*C**D
a
———————————
except to confirm conformance with the prediction in
Symbol Scanned Stack Comments order to analyze the string. Obviously, a degenerate LL(0)
grammar is one containing only a single production rule;
a Va
other simple LL(O) grammars can be constructed, such as
b V aB Using B> b
VA Using A > aB
A:: = aBe
x V Ax
B::=6C
c V Axc
Cs: =¢:
d V Axcd
V AxC Using C > cd
V AX Using X > xC LR grammars are reductive in processing style and
VS Using S > AX are much more reliable in their analysis of complex lan-
guages once the generated parser tables have been opti-
mized. As with LL, the LR system scans the string from left
Notice, in particular, the ability to search down from the to right, but, because of the use of reductive analysis, the
top of the stack (or, if you will, “remember” the previous derived syntactic structure is equivalent to the rightmost
contents of the stack) in order to determine if the top generation (the R in the name LR). As with LL grammars,
elements of the stack contain the right side of some an LR(k) grammar must examine up to k symbols in the
production. analysis. Whereas the amount of processing to analyze a
In the top-down derivation for the example above, language by means of an LL(k) system increases rapidly
whenever the derived string contained more than one as the number of symbols (k) to be examined at each
metavariable, the leftmost one was used to generate the stage increases, to the point where it is very uncommon
next string, thus leading to a leftmost derivation. Similarly, to consider symbol groupings of more than one character
in the bottom-up derivation, the rightmost nonterminal at a time (i.e. LL(1) systems), the increase in complexity
was always replaced (indeed, in this example, there was for increasing symbol groupings in LR systems is much
no choice), thus leading to a rightmost derivation. smaller. Thus, it is more common to use LR(k) systems
Studies of the development of parsers for program- where k is greater than 1 to improve the efficiency of
ming languages have led to the definition of specialized analysis and to minimize the changes that have to be
grammars that are parsable by certain classes of an- made to a context-free grammar in order to convert it to
alyzers. These can be divided into two classes that corre- an acceptable LR(k) grammar.
spond directly to top-down (predictive) and bottom-up Simply because a grammar is context-free, there is no
(reductive) analyzers and are known as either LL or LR guarantee that it can be converted into either an LL(k) or
grammars, respectively. LL grammars are defined by a an LR(k) type grammar by simple transformations. At
parser which scans the input string from left-to-right (the each stage of either an LL or LR analysis, there must exist
first L in the name) and produces a parsing that corre- a unique relationship between the next k symbols in the
sponds to a leftmost (the second L) generation of the string and a specific production in the grammar. If this
string. Where such a grammar (and corresponding
parser) can accomplish the analysis with the examination TABLE 2. Attributes of LL and LR Grammars
of a single symbol in the string at each stage of the
predictive process, then this is known as an LL(1) gram- Attribute LL LR
mar; where up to k symbols may be required, it is called
an LL(k) grammar. There exist languages that are LL(0); Grammars Can be hard to Rather
construct; rather straightforward.
ie. the predictor does not have to look at the string at all
awkward/ Can express
unnatural. Class virtually all
TABLE 1. Grammars and Languages of Various Types of LL grammars is programming
small. constructs
LR, left-parsable, not LL ::=AlB naturally.
:: = aaAlaa
::=aaBla Languages Like the grammars, Can find an LR(1)
LR, not left-parsable :: = AblAc class is small but grammar for every
:: =ABla is adequate for the deterministic
ii=a normal syntactic context-free
Left- and right-parsable, not LR :: = AblBc features of language.
::=Aala programming
:: = Bala languages.
Right-parsable only :: = AbIBc Some examples of
::=ACla LR but not LL
:: = BCla languages:
::=a {a" b"|In2=1}
Left-parsable only :: = BAbICAc Ufa" c"In2 1}
::= BAla {a" b™|\1<m<n}
ti=a {a" Ob" |n 20}
QwD>HODDHDEDHDBDUHUEBRY
i1=a Uf{a"0b"" In > 0}
ge Se ee eee
584 — GRAPH THEORY
Context-Free
Grammars
© SLR(1)
LL(1)
Left-Parsable Right-Parsable
Grammars Grammars
relationship cannot be determined, then the grammar (called edges). For a graph G, the edge set is denoted by E
cannot be converted into one of the desired forms. Thus, and the vertex set by V, so that G=(V,E). Common nomen-
there are grammars that are LL and not LR and others clature denotes the number of Vertices | VI by n and the
that, though parsable to either a left or right derivative number of edges |E! by m. Fig. 1 shows a graph G with
form by the addition of further information about the V={v,, Uz, Vg, Vy» Us}, E={e,, Cn, Cg, Cg» C5, Cg» C7}, N=S, and
string, are not LL or LR, respectively. The set of grammars m=7. If, within E, each edge is specified by its pair of
in Table 1 are examples of each of these cases. endpoints (e.g. for the example of Fig. 1, e, is replaced by
Although LR parsing techniques have been known (v,, Vv.) etc), the figure can be dispensed with.
since 1965, the parsers produced were far too large to be If, as in most applications, the values of both n and m
practical. However, optimizing techniques were discov- are finite, G is said to be a finite graph. The degree of a
ered by DeRemer in 1969, resulting in modified grammars vertex v (denoted by d(v)) is the number of edges that
known as SLR (Simple LR) and LALR (Look-Ahead LR) have v as an endpoint. An elementary theorem (with an
parsers. Each of these is defined in terms of the optimiza- easy inductive proof) is that within a finite graph there are
tion techniques that are used and are virtually impossible always an even number of vertices with odd degree. For
to construct by hand except in trivial cases. Basically, example, in the graph of Fig. 1 there are two vertices (v,
given an LR(1) system, the optimization process develops and v,) of odd degree (both have degree 3). A selfloop is
an LALR parser, while an LR(O) grammar can be converted an edge (v,, u;) where v,=v,. Two edges (¥,, v;) and (V,, v,)
into an SLR system. However, this process is not guaran- are parallel edges if v,=v, and U;=U,. A simple graph is a
teed for all LR grammars and, thus, the set of languages graph without self-loops and without parallel edges. A
that can be optimized in this way is much smaller than multigraph contains parallel edges but no self-loops. A
that which may be represented by the LR system of gram- path between vertices v, and v, is a sequence of vertices
mars. , (V,, V2, U3..., U,) Such that (v, v,,,) €£ for 1Siss-1. If v, =
Table 2 lists some of the characteristics of LL and LR v,, the path is a circuit (or cycle). Ifno vertex appears more
grammars and provides a comparison of the qualities of than once on a path, then the path is a simple path (simi-
each grammar system. Fig. 1 illustrates some relation- larly, a simple circuit passes through any vertex at most
ships of the grammars discussed in this article. Both the once). A component of a graph is defined by stating that a
table and figure are due to N. Tindall. path exists between any pair of vertices if and only if the
two vertices belong to the same component of the graph.
References A graph consisting of a single component is said to be a
1978. Lewis, P. M. 2d, Rosenkrantz, D. J., and Stearns, R. E. Com-
connected graph. A tree is a connected graph containing
piler Design Theory. Reading, MA: Addison-Wesley. no circuits. For any tree T with n vertices and m edges,
1979. Aho, A. V. and Ullman, J. D. Principles of Compiler Design. m=n — 1] and there exists precisely one path between any
Reading, MA: Addison-Wesley. pair of vertices of T.
ASIN REE
GRAPH THEORY
For articles on related subjects see ALGORITHMS, ANALYSIS
OF; COMPUTATIONAL COMPLEXITY; DATA STRUCTURES; DISCRETE
MATHEMATICS; NP-COMPLETE PROBLEMS; and TREE.
FIG. 2.
586 — GRAPH THEORY
Such a search is called a depth first search (DFS). A DFS special class of graphs that contain them, are solutions of
of a graph G has certain useful properties: (a) the set the Chinese Postman problem. Given a weighted graph or
of edges by which vertices are visited for the first time digraph, the Chinese Postman problem is to find a (not
form a tree (called the DFS tree and rooted at the initially necessarily simple) circuit of shortest length (the length
visited vertex), (b) edges of G not belonging to the DFS is given by 2.) cages e W(e)r(e), where w(e) is the weight of
tree connect two nodes, one of which is a decendent e and r(e) is the number of occurrences of e in the circuit)
of the other in the DFS tree, (c) DFS can be achieved that traverses each edge of the graph at least once. Every
in O(n + m) time. Another frequently employed traversal connected undirected graph contains a solution to the
method is breadth first search (BFS). In a BFS, some Chinese Postman problem, whereas a connected digraph
arbitrary vertex is visited first, and this vertex is placed has a solution if and only if the digraph is strongly con-
on an initially empty queue (first-in, first-out data struc- nected. There are low-order polynomial-time algorithms
ture), Q. At any point in the traversal, visit next some for the Chinese Postman problem for both undirected and
vertex vu’ that is “unvisited” and is in the adjacency list directed connected graphs.
of the vertex v at the head of the queue (if v has not A Hamiltonian circuit of a connected graph is a
been visited before, add v to the queue). If no such circuit that passes through each vertex precisely once.
vertex as U’ exists, remove v from the queue and repeat Such a circuit can be defined for both directed and
the process. The traversal stops when the queue becomes undirected graphs (of course, in the case of digraphs,
empty. A BFS of G has the following properties: (a) the edges are traversed in the same sense as they are
edges by which vertices are first visited form a BFS tree directed). Not every graph contains a Hamiltonian circuit
rooted at the initially visited vertex, (b) those edges of and (unlike the case for Eulerian circuits) there seems
G not in the BFS tree connect vertices, neither of which to be no polynomial time test for whether such a circuit
is an ancestor of the other in the BFS tree, (c) BFS can exists for a given graph. In fact, the problem of deter-
be achieved in O(n + m) time. mining whether a graph contains a Hamiltonian circuit
Particular types of traversals of a graph such as is a classic NP-complete problem. If the graph is
those just described have individual properties that weighted, the problem of finding a shortest Hamiltonian
make them appropriate for particular algorithmic appli- circuit is one variation of the well-known Traveling Sales-
cation. For example, the properties of DFS leads to a man problem. Another variant is to find the shortest
classic O(n + m) algorithm to find the blocks of a graph. circuit that passes through each vertex at least once.
Similarly, application of DFS to digraphs provides an O(n In this second form, a solution to the problem always
+ m) algorithm to find the strongly connected compo- exists, whereas for the former specification the graph
nents of a digraph. In a BFS of an undirected graph, the of course has to contain a Hamiltonian circuit. In both
depth of a vertex v in the BFS tree rooted at v’ is these forms, the Traveling Salesman problem is NP-com-
precisely the shortest distance from v to v’ in the original plete.
graph. This leads to an O(n + m) algorithm for finding A (transport) network is a connected digraph in
distances between a single vertex and all the other which one vertex x (called the source) has d*(x)>0 and
vertices in a graph (which is the so-called single source one vertex y (the sink) has d™(y)>0. A flow of the
shortest paths problem). Such a search, however, is not network associates a weight f(e) with each edge e such
useful when shortest paths in weighted graphs are that, for all vertices v other than x or ¥y,
required. In such graphs, distances are measured as the LuneefUr)=Zo werfUu). Clearly, a network is a model
sum of the edge weights (rather than in numbers of for the flow of material leaving a single departure point
edges) on a path, and there are several classic algorithms (the source) and arriving at a single point (the sink).
for the single source shortest paths problem (such as The equation ensures a conservation of flow at all other
Dijkstra’s algorithm, which operates in O(n’) time with vertices. It is usual to associate (apart from f(e)) another
simple data structures that can be improved to parameter (called the capacity of e and denoted by c(e))
O(m-+nlogn), using sophisticated structures). There now with each edge, which is the maximum value that f(e)
follows a catalog of commonly occuring graph problems can attain. Thus, 0=f(e)<c(e) for all e. For a network
with some indication of their algorithmic complexities. N, FN) denotes the value of the flow that is defined to
Algorithms for these problems can be found in the be the net flow leaving the source: F(N) = Lx ve f% V)—
references or in the primary sources cited therein. Many Swxe#(¥.x). A standard problem in network theory is
problems concerning graphs are intractable, being NP- to find a set of f(e) such that F(N) is a maximum. This
complete (q.v.). (Garey and Johnson, 1979). is called the maximum flow problem. The problem of
An Eulerian circuit of a graph is a circuit that contains finding a maximum flow has a low-order, polynomial-time
every edge of the graph precisely once. Of course, not solution. The value of such a flow is given by the classic
every graph contains an Eulerian circuit. In fact, a neces- theorem of Ford and Fulkerson (called the max-flow,
sary and sufficient condition for a connected, undirected min-cut theorem), which states that F(N) has a maximum
graph to contain an Eulerian circuit is that every vertex of value equal to the minimum capacity of all cuts of the
the graph is of even degree. If the graph is a directed network. A cut of the network is a minimal set of edges
connected graph, it contains an Eulerian circuit (such a whose removal from the network separates the network
circuit traces each edge in the sense that it is directed) if into two components, one containing x and the other
and only if for each vertex v, d*(v)= d™(v). Eulerian cir- containing y. The capacity of the cut is the sum of the
cuits can be found in O(m) time. Eulerian circuits, for the capacities of those edges in the cut that are directed
GRAPH THEORY 587
from the component containing x and directed towards K,(G)=k, there are k edge disjoint paths between every
the component containing y. Many other problems can pair of vertices. There exists polynomial-time solutions to
be posed for networks. For example, if yet another the problems of finding K,(G) and K,(G) for an arbitrary
parameter (called the cost of e and denoted by a(e)) graph G.
is associated with each edge, the minimum cost flow Given two graphs G, and G, many applications of
problem is to find (for a given value F(N)) a set of f(e) graphs require one of the following two problems to be
such that the sum Luce (u,v)atu, v) is minimized. Again, solved. (a) Is G, isomorphic to G,? (This is called the graph
there are low-order, polynomial-time algorithms to solve isomorphism problem.) (b) Is G, isomorphic to a subgraph
this problem. of G,? (This is the subgraph isomorphism problem.) Both
Planar graphs are an important subclass of graphs. of these problems are notoriously costly to solve, and no
A graph is planar if it can be arranged on a planar polynimial-time solution is known for either if G, and G,
surface (the arrangement is called an embedding) so are arbitrary graphs.
that, at most, one vertex occupies or, at most, one edge Given the intractability of many problems in graph
passes through any point of the plane. There exists theory, it is natural that this area has given rise to the
algorithms that can test whether a graph is planar (such development of many approximation algorithms. An ap-
algorithms normally generate an embedding) in O(n) proximation algorithm is an algorithm that runs in polyno-
time. mial-time but that provides an approximation (within
Scheduling and time-tabling problems, among oth- known bounds) to the problem in hand. A classic example
ers, generate problems equivalent to coloring graphs. A is provided by Christofides’ algorithm, which finds a solu-
vertex coloring of a graph is the assignment of a color to tion to the Traveling Salesman problem that guarantees
each vertex of the graph in such a way that no two that the solution found is no more than a factor of 3/2
adjacent vertices have the same color (vertices are adja- longer than an optimum solution. While this approxima-
cent if there is an edge connecting them). Normally, the tion may not seem to be very tight, no approximation
interest is to find a vertex coloring that employs a mini- algorithm is presently known that provides a better guar-
mum number of colors, this number is called the vertex- antee. Another example provides an approximation for
chromatic index. Similarly, an edge coloring is an the edge-chromatic index of a graph and is the polyno-
assignment of colors to the edges in such a way that no mial-time algorithm implicit in the proof of Vizing’s theo-
two edges sharing an endpoint have the same color. The rem. This algorithm gives an edge-coloring, using no more
minimum number of colors required to do this is the than one more color than is necessary, a very good ap-
edge-chromatic index. Problems involving the coloring of proximation. Unless there are polynomial-time solutions
graphs are notoriously intractable. For example, the for the NP-complete problems (an unlikely possibility), it
problems of determining whether the vertex- or the edge- has been proved that there can be no polynomial-time
chromatic index are less than some fixed constant are solution that gives a vertex coloring of an arbitrary graph
both NP-complete. that guarantees to use less, than twice the minimum num-
A matching of a graph is a subset of its edges such ber of colors required.
that no two elements of the subset have a common end-
point. The question of determining matchings arises in References
many guises. Common problems concern finding maxt- 1979. Even, S. Graph Algorithms. Potomac, MD: Computer Science
mum cardinality matchings (such a matching has a maxi- Press.
mum number of elements) and maximum weight 1979. Garey, M. R., and Johnson, D.S. Computers and Intractability:
matchings (which occur for weighted graphs; the sum of A Guide to the Theory of NP-Completeness. San Francisco:
the edge weights of such a matching is maximized). Effi- Freeman.
cient (polynomial-time) algorithms are known for both of 1985. Berge G. Graphs. Amsterdam: North-Holland, (2nd Rev. Ed.).
these problems. 1985. Gibbons, A. M. Algorithmic Graph Theory. Cambridge: Cam-
bridge University Press.
A spanning tree of a connected graph G is a con-
1990. van Leeuwen, J. Graph Algorithms. Chapter 10 of the Hand-
nected circuitless subgraph of G that contains every book of Theoretical Computer Science, Volume A (Algorithms
vertex of G. The connector problem, a classic problem and Complexity), J. van Leeuwen(Ed.), New York: Elsevier.
of graph theory, is to find a spanning tree of a weighted
connected graph such that the sum of the edge weights ALAN M. GIBBONS
of the tree is a minimum. Such a solution is also called
a minimum weight spanning tree. Spanning trees can be
found in O(m+n) time (e.g. a depth-first-search tree).
Prim’s or Kruskal’s algorithms provide classic solutions
to the connector problem at low-order polynomial-time
cost. GRAPHICAL USER INTERFACE
The vertex-connectivity K,(G) of a connected graph G (G Ul) » See USER INTERFACE.
is the minimum number of vertices that have to be re-
moved from G in order to produce a subgraph of two or
more components. If a graph has K,(G)=k, there are k
vertex disjoint paths between every pair of vertices. The
edge-connectivity K,(G) is similarly defined. Also, if GRAPHICS. See Computer Grapuics.
588 GROUPWARE
should work independently of others and remain unaware In more common notation, the meaning of a guarded
of their actions. In groupware systems, the fundamental command is very much like that of the simple selection
design philosophy is that group processes must be ac- structure (if statement):
tively supported and that users must be made aware of
the context in which their tasks are being executed. if B then S.
Hence, weak locking mechanisms like telepointers (cur-
sors that appear on more than one display and that can Unlike the if statement, however, a guarded com-
be moved by different users) are used. mand, by itself, is not a complete statement in a program-
An early advance in groupware systems was the de- ming language. Rather, it is one component of a more
velopment of meeting room technology and group deci- extensive control structure containing one or more
sion support systems (GDSS). These efforts concentrated guarded commands. The most interesting applications of
on augmenting the efficiency of meetings and small group guarded commands are those involving a set of n of them,
discussions, with an emphasis on single-party, co-located, forn> 1.
same time interaction. Since then, groupware has made
enormous strides. Systems have been designed and built Byoy 0S ray
to support business case discussions (CATT), collabora- bess SSip)
tory work (COLAB), real time structured discussion "™®
BI sas:
590 GURU
The semantics of this structure are that after execution of Note that the two guards in this program for gcd are
an S, execution of the if-fi terminates. Only one execution disjoint, so that this example is completely deterministic.
of an Sis performed, the selection of which is as described In principle, the guards for a given control pattern can
above. If no B is true in an execution of an if-fi structure, always be devised so that no two are true simultaneously,
then execution of the if-fi does not terminate, causing the although this restriction often (unnecessarily) compli-
program to abort. In a multitasking (g.v.) environment, an cates guard construction and evaluation.
alternative might be to wait for a guard to become true. It is well known that if-then-else selection control] and
This if-fi structure is very much like the classical case do while repetition control are sufficient to construct any
control structure (see CONTROL STRUCTURE), in that only conceivable execution control in a program. Special cases
one statement group is executed and the order of the of if-fi and do-od are identical to if-then-else and do while,
statement groups is immaterial. Unlike the usual case as shown in the following constructs.
structure, however, the guards in the if-fi structure may
be non-disjoint arbitrary conditions. In the case structure, if B then S, if
the “guards” are disjoint sets of constants. Thus, the case else S, BS,
structure is completely deterministic, whereas the if-fi is endif ABS,
in general non-deterministic. fi
The following program is a simple application of the
if-fi structure. do while B do
S BoS
[determine max (P.Q)] endloop od
if
P>Q—3MAX«P These particular forms of if-fi and do-od are completely
Q2P—MAX<Q deterministic, and the if-fi is guaranteed to terminate.
fi Therefore, if-fi and do-od, as defined here in general,
[MAX
= max(P,Q)] are quite versatile control structures. The inefficiencies of
guard evaluation, however, currently discourage their use
Note in this example that one of the two guards must be as practical control structures in programming languages.
true, so that execution of this if-fi is guaranteed to termi- This could change with the advent of highly parallel archi-
nate. Note also that both guards may be true (when P = tectures and corresponding language support—if-fi and
Q), and that in this case execution of either statement do-od are inherently “parallel,” and concurrent guard eval-
gives the same result. Thus, at termination of execution of uation would resolve the efficiency issue. Because if-fi and
the if-fi, MAX = max(P,Q). do-od are simple and systematic and therefore relatively
A repetition control structure involving guarded com- amenable to formal description and analysis, guarded
mands has the form commands could increase in practical importance in situ-
ations requiring more formal analysis, such as highly par-
do allel algorithm development.
B,-> 5S,
B,-> S, References
1975. Dijkstra, E. J.“Guarded Commands, Nondeterminancy and
Formal Derivations of Programs,” Communications ACM, 18
(August).
BS, 1976. Dijkstra, E. J.A Discipline of Programming. Englewood Cliffs,
od NJ: Prentice-Hall.
precepts, Grosch’s Law (q.v.). The era of the personal Gurus, who know much, are not necessarily program-
computer has spawned more gurus than mainframe com- mers and hence not usually wizards, who can do much,
puters ever did, current exemplars being John Dvorak though they may very well be power users of particular
and Jim Seymour of PC Magazine, Esther Dyson of EDven- operating systems, user interfaces (q.v.), or applications
ture Holdings, Stewart Alsop of JnfoWorld, and Jerry software.
Pournelle of Byte magazine.
EDWIN D. REILLY
PAE ai anicetes pat ial darned, rey “fi wiDet on :
wh
i
Liew esahse antl tw Weimer ye orth oni eae
seinem ; 4
14a, AST dF Kr Ey byeifs enna veyiett
MAE tate? os. 0, P) See PRS eres
wg a4 t
arid HF fe Wie
n< ats ntti *
Fs
mec
f=
al oe "
oe
a
0 Crh a ve beer
gras gcagttion a
7 o
a oc TEAshoon) Sas Sat
Ole een
’ i De mean Pie ial
Rerced Bids: mr : > nbtegt int preynean,
i! <a aa ad Shootin
) al ' 7
‘ - : @at
Y i¥
INE GelOo abe o's axe sleedtic atheMetionaeleee
v i"S Ag iae
7
- he
7 dy tee Gos aa eon oh onne een:
Pautcigw bow rt ay —_
wr. Pe
De bs Sa ar jx vai ‘¥ARs é b Yat
2 ea a I
oe shen
rie
_ Tah 7 ‘aera
a rt ty
wbx
* :
i *
Sy
i u
ee
=
—
R« i teed nee
aot, eli ‘caety a crate Bi x
134thunailespabatll
a A : pent Baw ive.
i ae
4
; 5h ce aa
oe gt aT hy ‘? te
i et Pho ¢5 weet
‘ ses Eeaas Pr asia
mes7 2Si6aes Logged
oh '
i a
>
« ;
; Us
bo |
‘ J
7 jes S -
| °
593
594 HACKER
built “straight from your mind” (Turkle, 1984). They prize virus programs that “infect” or hide in other programs and
concise, efficient, elegant, and even tricky code. Although awaken at unpredictable times to damage the system, and
this programming style is frowned upon by more conven- devise worms that transport themselves between com-
tional programmers, many hacker-developed projects, puters in a network. Since trojan horses and virus pro-
such as the text editor EMACS and the Incompatible grams inhibit the spread of public domain software and
Timesharing System (ITS) (both developed at M.I.T.), are shareware, the hackers who create such programs are
prime examples of the programming craft. clearly working against the hacker ethic.
Traditionally, hackers have been a valuable resource Worms have disrupted both the IBM internal com-
to computing centers. Their knowledge of the machine puter network and the Internet (a group of connected
and their programming skills are prized. Typically, hack- computer networks, including ARPANET, BITNET, and
ers work only on programs that interest them; are reluc- CSNET) that links thousands of research and educational
tant to take on assigned projects, particularly if they offer computing centers (see CACM (1989) for a detailed dis-
no opportunity to demonstrate mastery of the computer; cussion). Fortunately, neither of these worms appear to
are reluctant to document their work; and are endlessly have been particularly malicious. The IBM worm was
tinkering and adding “features,” which may result in prod- apparently an attempt to spread Christmas cheer that
ucts that are never finished or unstable. succeeded beyond its creator’s expectations, and the sole
Some hackers demonstrate their proficiency in so- purpose of the Internet virus seems to have been to
cially unacceptable ways. Crackers penetrate computer spread itself. Despite this, both caused major disruptions
systems. They see computer system security as a in the affected networks.
challenge and a puzzle to solve. Cracking is almost as old
as hacking itself. Hackers are commonly intolerant of
anything that limits their access to information. They are Hackers in Perspective The public has become
driven by curiosity and see a lock, whether physical or fascinated by hackers. Depictions in books such as
part of acomputer system, as a challenge to be met. Thus, Brunner’s The Shockwave Rider, movies such as War
many M.I.T. hackers were skilled lock pickers and were Games, and television series such as Whiz Kids show the
more than willing to apply their skills wherever there was hacker in a sympathetic light. The hacker is usually por-
a locked door (Levy, 1984; Turkle, 1984). Fortunately, trayed as a boy genius. System break-ins by crackers, the
most hackers are not malicious. Many of the computer activities of crashers, and even such disruptive activities
break-ins that have caused such concern were motivated as the IBM and Internet Worms have been excused as
by curiosity on the part of the cracker. While the original harmless pranks or even praised as valuable lessons in
intent was not malicious, many crackers cannot resist the need for system security. This tolerance is fading
leaving some mark of their presence, and many trade rapidly, however, and the perpetrators of both have been
methods of access to systems among themselves identified and punished.
(Landreth, 1989). The original trespass by a curious There is some truth to this depiction. Many hackers
cracker may be followed by serious damage by other, are brilliant. Many are not malicious, merely curious or
more malicious, hackers. showing off. Many of the founding fathers of modern
Phone phreaks are hackers who are fascinated with computing are former hackers: Bill Gates of Microsoft and
the telephone system. The primary motivation for the Steve Jobs and Steve Wozniak of Apple Computer fame are
phone phreak is not the free phone call, but the opportu- prime examples.
nity to master a complex system. For example, the legend- Some authors have expressed concern about the
ary phone phreak Cap’n Crunch, John Draper, once mental well-being of hackers. Certainly, computers can be
routed a phone call around the world and back to himself addictive (see Turkle (1984) and Weizenbaum (1976)),
(Turkle, 1984). Draper’s early phone phreaking activities and such addictions can lead to problems in susceptible
were carried out with the aid of a promotional whistle individuals. Most hackers do eventually outgrow their
from a box of Cap’n Crunch cereal that he used to gener- addiction, just as many have outgrown similar addictions
ate control tones for the phone systems switching com- to video games and “Dungeons and Dragons.”
puters. Later phone phreaks used electronic “blue boxes” Unfortunately, hacking appears to have taken a dam-
for similar activities. Today’s phone phreaks rely upon aging turn over the last several years. While the original
stolen long distance access codes. hackers were certainly fond of pranks and had little re-
The hackers that have caused the greatest concern spect for system security, they were primarily interested
are the computer vandals. Computer vandals turn their in developing elegant and powerful programs. Many of
skills toward damaging computer systems. Crashers today’s hackers seem more interested in gaining a name
demonstrate their mastery of computer systems by caus- for themselves by damaging and disrupting systems than
ing them to crash—i.e. to behave so erratically that they in developing new and useful software. In response to this
are incapable of continuing to provide service. Being able new breed of hackers, there has been an increased call for
to shut down a supposedly crashproof system is a the teaching of computer ethics and the redirecting of
challenge many hackers cannot resist. such activities into less harmful pursuits.
Other hackers create programs that interfere with
system operations or destroy data. They may modify References
programs to create trojan horses that masquerade as use- 1976. Weizenbaum, Joseph. Computer Power and Human Reason.
ful software but actually destroy or corrupt data, create San Francisco: W. H. Freeman.
HARD DISK 595
1984. Turkle, Sherry. The Second Self: Computers and the Human
device then accepts the character and raises OK, signify-
Spirit. New York: Simon and Schuster.
ing that it has accepted it. The computer then drops DATA
1984. Levy, Steven. Hackers: Heroes of the Computer Revolution.
OUT and WRITE, which causes OK to go down. This com-
New York: Anchor Press/Doubleday.
1989. Landreth, Bill. Out of the Inner Circle. Redmond, Washington: pletes the handshaking sequence for transferring a char-
Tempus Books of Microsoft Press. acter from the computer to the device.
1989. CACM Special Section on the Internet Worm. Communica- Fig. 2 (on the next page) shows an example of hand-
tions of the ACM, 32, 6 (June) 677-710. shaking between a computer and a remote batch terminal
1989. Stoll, Clifford. The Cuckoo's Egg: Tracking a Spy Through the using synchronous communication. Here the connection
Maze of Computer Espionage. New York: Doubleday. is established by a special sequence of control characters
(SYN, SOH, STX, etc.). Such handshaking between remote
ROBERT G. RITTENHOUSE
terminals and a computer is often called a communication
protocol, or simply a protocol.
JOHN S. SOBOLEWSKI!
HANDI CAPPED. See COMPUTING AND THE HANDI-
CAPPED.
HARD DISK
HANDSHAKING
For articles on related subjects see CYLINDER; FLOPPY DISK;
For articles on related subjects see BUS; COMMUNICATIONS LATENCY; and Memory: AUXILIARY.
AND COMPUTERS; DATA COMMUNICATIONS; PROTOCOL; and TELE-
PROCESSING SYSTEMS. A hard disk is a high-capacity, high-speed rotational
storage device. Hard disks are sometimes called fixed
The exchange of predetermined sequences of control disks because they usually cannot be removed from the
signals or control characters between two devices or computer. Hard disk drives are also called Winchester
systems to establish a connection, to break a connection, drives, aname derived from an IBM model 3030 drive that
or to exchange data and status information, is commonly stored 30 megabytes of information on each side of a
referred to as handshaking. This is best illustrated by single platter. The model number 3030 was reminiscent of
means of examples. the famed Winchester 3030 rifle.
Consider first Fig. 1, which shows the sequence of A hard disk consists of a rigid aluminum alloy disk
signals on the input-output bus of a small computer when that is coated with a magnetic oxide material, much like a
writing a character to a device connected to the bus. The floppy disk. Because the disks are rigid, they can be spun
computer first places the device address on the DATA OUT much faster than a floppy—up to 3,600 RPM. The drive
lines and raises the ADDRESS control line to tell the device itself may contain a number of platters mounted on a
that the data on the DATA OUT lines is an address. The rotating spindle (see Fig. 6 of MEMORY: AUXILIARY). Each
device recognizes its address and raises the control line platter surface has its own read/write head. The head
OK, informing the computer that the device is aware that actually floats above the surface of the disk on a cushion
it has been selected. This causes the computer to drop of air. The heads on hard disks are designed like small
ADDRESS and DATA OUT. The device responds by dropping airfoils so that they can be efficiently lifted and landed.
OK, upon which the computer places the character on the The heads float very close to the disk surface. The gap is
DATA OUT lines and raises the control line write to tell the about 1/100,000 of an inch. The disk case is assembled in
selected device that the character is on the bus. The a controlled and ultra-clean environment because con-
Computer device
——_——>
Data-out
lines
a
Address
CS
OK
—_——>
Write Direction of information flow
FIG. 1. Example of handshaking sequence. The arrows are used to indicate which control sig-
nal causes which response during sequence.
596 HARD DISK
executes program. !
\
\
!
1
SYN
Synchronize data sets SYN Idle line. Terminal
SYN waits for response.
Start of header SOH \
{
'
Destination To {
\
Terminal 3 i}
t
Start of text STX SYN
SYN Synchronize data sets
Program output Text SYN
ACK Positive acknowledgment.
End of text ETX —_—— Output received error
Cyclic check character CRC free.
i
I
Computer waiting for ! Terminal waiting for
more line activity. i more input.
FIG. 2. Handshaking between a computer and a remote batch terminal. The arrows indicate
the sequence of line activities.
taminants in the form of airborne particles can be very thousand tracks on a high-capacity hard disk. Tracks are
destructive. The inside of a disk drive cannot be a vacuum divided into sectors. Typically, there are 17 sectors per
because the heads need air to lift off and land. track and 512 bytes of storage per sector.
Because the platters are rigid, magnetic material can The sectors are laid down when the disk undergoes a
be densely packed so that hard disks have very high low-level software format. The formatting program identi-
capacities. With a large number of platters, some main- fies and marks sectors that are bad and lays out the sector
frame hard disks can hold more than a gigabyte—a billion locations and stores them. The low-level format also es-
characters. Hard disks used with microcomputers range tablishes the interleave factor for the disk. Because a disk
in storage capacity from 20Mb to 200Mb. is capable of feeding information to an operating system
Each disk surface has its own head and all heads before it is ready to accept it, the controller card may not
move in unison. A stepper motor moves the heads along be ready to read the second sector ofa file right after the
the disk surface in discrete increments. The individual first. If that second sector is placed right next to the first,
stopping points for the stepper motor represent a circular the disk would have to make an entire revolution before
path that the disk traces out under the head. The trail of the second sector came around again (see LATENCY). Since
magnetically oriented particles or domains that is left files sometimes consist of hundreds of sectors, a tremen-
behind is called a track. There may be as many as a dous amount of time can be wasted. If consecutively
HARDWARE DESCRIPTION LANGUAGES 597
STEPHEN J. ROGOWSKI
HAR DWARE . See COMPUTER CIRCUITRY; COMPUTER (b) Logic Equation (c) Truth Table
SYSTEMS; HARDWARE RELIABILITY; and entries under MEM-
ORY and STORAGE. FIG. 1. Gate level descriptions.
598 HARDWARE DESCRIPTION LANGUAGES
**Memory.State**
M\Memory [0:4095]<0:11>,
P.O\Page.Zero [0:127]<0:11> MEOFI2ZTAROS a>
A.I\Auto. Index[0:7]<0:11> = PSOPB!15 IK08 T1 >,
** Processor. State**
L\Link<>,
AC\Accumulator<0:11>,
PC\Program.Counter<0:11>,
*k Instruction. Format**
i\instruction<0:11>,
op\operation.code<0.2> = 1:022>,
ib\indirect.bit<> = 443>;
pb\page.0.bit<> 2= 1<4),
pa\page.address<0:6> o= 1<5eddp,
xk Ef fective.Address**
last.pe<0s 21>,
eadd\effective.address<0:11> :=
Begin
Decode pb =>
Begin
0 := eadd = ‘00000 @ pa, ! Page Zero
1 := eadd = last.pc<0:4> @ pa ! Current Page
End Next
If Not ib => Leave eadd Next
If eadd<0:8> Eqv #001 =>
MCeadd] = M{eadd] + 1 Next ! Auto Index
eadd = M[eadd]
End
** Instruction. Interpretation**
interpret :=
Begin
Repeat Begin
le=abLPCleslast..pc = PC. Nex?
PC. = PC + 1 Next
execute() Next
End
End,
execute :=
Begin
Decode op =>
Begin
#O0\and := AC = AC And M[eadd()],
#1\tad := L@AC = L@AC + M[eadd()],
#2\isz := Begin
MCeadd] = M[Leadd()] + 1 Next
If MLeadd] Eql. 0 => PC = PC + 1
End,
End
End,
than the structure of processors—in particular, the be- instruction format section describes the different fields of
havior as seen by the programmers of the machine. an instruction (e.g. operation code, address, and indirect
In the Instruction Set Processor (ISP) notation (Bell, bit, etc.). The behavior of the PDP-8 is specified via three
1971) and its successor, ISPS (Barbacci, 1981), a proces- procedures, specifying the instruction interpretation
sor is described by declarations of carriers and proce- cycle, the effective address computation algorithm, and
dures specifying the behavior of the system: the instruction set proper (the execute algorithm).
Beyond the programming level, other notations are
1. Information carriers—registers and memories
used to provide concise descriptions of the physical
used to store programs, data, and other state
structure of a digital system. The Processor Memory
information.
Switch (PMS) notation (Bell, 1971) is a graphical notation,
2. Instruction set—procedures describing the be- and makes use of only a few primitive components:
havior of the processor instructions.
3. Addressing modes—procedures describing the M—A memory holds or stores information over time.
operand and instruction fetch and store opera- L—A link transfers information from one place to an-
tions. other in a system between fixed ports of other com-
4. Interpretaton cycle—typically, the main proce- ponents.
dure of an ISP description. It defines the fetch, K—A control evokes operations of other components
decode, and execute sequence of a digital pro- in a system.
cessor. S—A switch enables links between other components.
T—A transducer is used to interface a system with the
Fig. 2 shows an abridged description of the Digital external world.
Equipment Corporation PDP-8 processor. Déclarations D—A data operation produces or alters information
are grouped into sections as an organizational device; according to algorithms describing logical and
thus, **Memory.state**, **Processor.state**, **Instruc- arithmetic operations.
tion.Format**, etc., are suggestive of the role of the dec- P—A processor interprets programs in order to exe-
larations in the overall description of the machine. For cute a sequence of operations.
instance, the main memory of PDP-8 is described in the
Memory.state section and consists of 4,096 12-bit words. Components of these types can be connected to
The Processor.state section describes those registers make computers and other digital systems, as shown in
used to preserve the status of the processor between Fig. 3. Components are classified as belonging to one of
instructions. It includes the program counter (g.v.), an several categories (processors, memories, switches,
accumulator, and a “link” (arithmetic carry) register. The links, etc.) characterizing their generic function (e.g. stor-
C tz Mp—k— TIMs?
—x
D
instructions
M[processo
K(Mp) K(P)
| M.processor state |
program counter |
BCL
TOOLMAKERS
USERS
REFLAN LL1'
INTEL 8080
FIG. 4. CONLAN text structure. This example is taken from Piloty et al (1983).
entity FULL_ADDER is
DOC CAS GLNes Webi se SUME: COULS souteBiant)sr:
GINS ine BIT es = "707:
end FULL_ADDER;
Interface of the Full_Adder
600
HARDWARE DESCRIPTION LANGUAGES 601
(edif edifname
(edifVersion 2 0 0)
(edifLevel 0)
(keywordMap (keywordLevel 0)
(status (written (timestamp 1988 12 15 16 53 42)
(author “Mentor Grpahics Corporation”)
(program “EDIFNET V6.0_1.13 Wednesday, July 29, 1987 9:26:17 am(PDT)”)))
yy)
FIG. 6. EDIF netlist example. This example is taken from “EDIF, The Electronics Design Inter-
change Format—An Introduction,” Proceedings of ELECTRO 89, 11-13 April 1989, New York
City, New York, by John Andrews.
age). In addition, each component specifies its specific struction mechanism rather than a specific hardware de-
function (e.g. primary memory, abbreviated Mp), its tech- scription language. Thus, the effort centered around the
nology (e.g. core), its speed, capacity, cost, size, etc. The definition of a primitive notation and a powerful extension
notation allows for the specification of a limitless amount mechanism. The intention was to build hierarchies of
of information characterizing or describing a component. languages with the same underlying semantic model (Fig.
PMS components are hierarchical in nature, and can 4). Two types of users were envisioned. Toolmakers de-
be decomposed and described by simpler PMS diagrams. sign languages, taking as a base of reference an already
For instance, processors typically consist of networks of existing language. The extension mechanisms in CONLAN
components of the other types, as shown in the figure. are used by the toolmaker to extend the syntax of the base
Computers consists of processors, memories, and other language and to remove constructs that are not allowed
PMS components. Computer networks consist of comput- to the final users (these extension mechanisms are not
ers and transmission links, etc. allowed in a user description). The second class of users
The proliferation of HDLs in the 1960s and 1970s led are hardware designers who write descriptions using the
to the definition of CONLAN. CONLAN (CONsensus LAN- syntax of a language provided by a tool maker. CONLAN
guage) was more an attempt to design a language con- provides mechanisms to specify the behavior and struc-
602 HARDWARE MONITOR
ture of a digital system. An interpreter is responsible for list view (netlist data); the PCB layout view (similar to the
the correct sequencing of the operations. Toolmakers mask layout view, but for printed circuit boards); the
have facilities to extend the interpreter by specifying schematic view (netlist plus graphics providing a graphic
functions and procedures to be invoked by the inter- schematic); the stranger view (an escape hatch for two
preter. party special agreements); and the symbolic view (a vir-
The languages mentioned so far have been used tual grid somewhere between a schematic and a mask
mostly in research and academic environments, as input layout). Fig. 6 illustrates the netlist view in EDIF.
notations for experimental simulation, analysis, or syn- These industry standards attempt to answer the
thesis tools. In the industrial world, however, there are needs of the various product life-cycle activities. How-
many additional requirements to consider in the defini- ever, the development of these standards have not been
tion of a design. coordinated, and users still need a thorough understand-
Creating, modifying, supporting, and managing com- ing of the objectives and uses of each standard. The
plex electronic systems are dependent upon the ability to technology of HDLs has not matured to the point that one
communicate the design details from one design discipl- standard language or format can satisfy the wide diversity
ine to another and to integrate the various types of data of product description requirements, at least for the fore-
representing the many facets of the product description. seeable future.
The reliability of complex electronic systems is equally
dependent on the ability to communicate the necessary References
data, throughout a product’s life-cycle, among those who
1971. Bell, C. G. and Newell, A. Computer Structures: Readings and
design and maintain the product. To address these re-
Examples. New York: McGraw-Hill Book Company.
quirements, several industry-supported efforts have 1975. Barbacci, M. R. “A Comparison of Register Transfer Lan-
sought to establish means to represent product data ina guages for Describing Digital Systems,” JEEE Transactions on
standard format that will be useful to product designers, Computers, C-24, 2 (February).
maintainers, and managers (Waxman, 1989). Two of these 1981. Barbacci, M. R. “Instruction Set Processor Specifications
efforts are the Very High Speed Integrated Circuits Hard- (ISPS): The Notation and Its Applications.” JEEE Transactions
ware Description Language (VHDL) and the Electronic on Computers, C-30, 7 (January).
Design Interchange Format (EDIF). VHDL and EDIF be- 1983. Piloty, R., Barbacci, M. R., Borrione, D., Dietmeyer, D., Hill,
came standards in 1987. F,, Skelly, P. CONLAN Report. Lecture Notes in Computer Sci-
ence, 151. Berlin: Springer-Verlag.
In VHDL, the hardware entities are modeled as ab-
1987. EIA/EDIF/IS-44 Specification, Electronic Design Interchange
stractions of the real hardware, called design entities. As Format, Version 2.0.0, May.
in real hardware, each design entity has an interface and
1987. IEEE, VHDL Language Reference Manual, Standard 1076-
a body or architecture. The interface description allows 1987, December.
one to describe input and output ports and various attri- 1989. Waxman, R., and Saunders, L. “The Evolution of VHDL.”
butes associated with the interface, such as pin names, Proceedings of the IFIP Congress (August). San Francisco,
timing constraints, etc. The body description allows one California.
to describe the function or the structure of the design.
The body may be written as an abstract algorithm or as a MARIO R. BARBACCIAND RONALD VW/AXMAN
less abstract architectural description made up of algo-
rithms and real hardware representations (e.g. gates,
arithmetic-logic units) or made up totally as a structure of
real hardware representations. Alternative approaches
HARDWARE MONITOR
(i.e. alternative bodies) to the functional representation For articles on related subjects see PERFORMANCE MEASURE-
of a particular design entity may be associated with a MENT AND EVALUATION; and SOFTWARE MONITOR.
given interface, just as in real hardware where equivalent
components may be interchanged as long as the inter- A hardware monitor is a device for measuring electri-
faces are identical functionally and structurally (Fig. 5). cal events (e.g. pulses, voltage levels) in a digital com-
EDIF provides a hierarchical syntax for data neces- puter. It is useful for gathering data for measurement and
sary for chip and printed circuit board fabrication. Note evaluation of computer systems, particularly when used
that EDIF is a format, not a language. EDIF’s primary appli- in conjunction with software monitoring, a technique
cation is as a means of transferring design data from the using programmed steps that lead a computer to examine
design environment to the fabrication environment. The its own internal operation. Most hardware monitors are
format provides for libraries, cells, views, interfaces, and external general-purpose devices, but in principle they
information on the content within each cell. Test data, could be—and now often are—built into a computer if
mask layout data, physical layout data, connectivity data, economically justifiable.
and simulation data can be represented in EDIF. Fig. 1 illustrates the elements of a hardware monitor.
In EDIF there are ten “view types”: The behavior view The various components are discussed below.
(compiled simulation model); the document view (sup-
ports text documentation); the graphic view (supports General probes—Probes consist of a set of signal sen-
portions of artwork repeatedly used); the logic model sors designed for minimum interference with the
view (definition of primitive simulation logic models); the host machine and able to drive relatively long ca-
mask layout view (artwork and fabrication data); the net- bles so that signals can be picked up from various
HARDWARE MONITOR 603
General probes
Host
computer
Counters
Data transfer
register
Comparator probes
points physically distant from each other and from calls to load parts of the operating system, calls for user
the central monitor console. files, or calls caused by page faults in a paging system.
Logic circuits—The logic circuits accept signals from Since hardware monitors usually cannot detect the differ-
the general probes and allow logical combinations ence between these types of calls, one couid usefully
of the signals (AND, NOR, INVERT, etc.) so that events combine a software monitor to identify the types of
of interest can be defined. events and a hardware monitor to observe their fre-
Counters—Counters are used to count the occurrence quency and duration.
of various events or to measure the time between In addition to refining the basic functions of gathering
events by counting the number of intervening clock data, current development in hardware monitors shows a
pulses. trend toward using microprocessors for processing data
Comparator probes—The comparator probes are sim- during collection and for allowing the host computer and
ilar to the general probes. They are used to sense a the monitor to alter each other’s measurement functions
number of bits that appear in parallel (e.g. as in an during operation. From the user’s viewpoint, the principal
address register). differences between hardware and software monitors are:
Comparator—This component provides means for
comparing the parallel bits with some preset value 1. Software monitors can provide more information
at an instant defined by a signal on the strobe line. on cause and effect by relating measured data to
Data transfer register—The transfer register provides the program steps being executed; however, care
means for passing data directly from the host com- must be, exercised to avoid disruption of time
puter to a recording device. This register could be relationships caused by the addition of the mea-
combined with the counter functions or with the surement programs.
comparator functions. 2. Hardware monitors measure only electrical
As an example of use, a hardware monitor might be events at predetermined physical points; hence,
connected to measure the busy time for a CPU and an I/O
it is more difficult to relate measurements to
channel controller and their overlap, or the time they are program activity. However, with reasonable care,
simultaneously busy. Too little overlap might alert one to data may be gathered without interfering with
examine the operating system (g.v.) to see if opportuni- the system being measured.
ties for overlap are being lost, causing a decrease in
efficiency of the system. As another example, a hardware References
monitor might count the number of accesses to several 1978. Ferrari, D. Computer Systems Performance Evaluation. Engle-
disks to see if, over a period of time, there is reasonable wood Cliffs, NJ: Prentice-Hall, 32-40.
balance in demand for the various disks. However, a much 1979. Borovits, I. and Neumann, S. Computer Systems Performance
better diagnosis of the system might result from also Evaluation, Lexington, MA: Lexington Books, D. C. Heath and
knowing what kinds of calls to disk were being made—e.g. Co., 39-56.
604 HARDWARE RELIABILITY
1981. Plattner, B. and Nievergelt, J. “Monitoring Program Execu- capacity required for the job, then the system is said to
tion: A Survey,” JEEE Computer 14, 11 (November). be partially or quasi fault-tolerant. Since the number of
possible hardware failures can be very large, in practice
JerrRE D. NOE
it is necessary to restrict fault tolerance to prespecified
~ classes of faults from which the system is designed to
recover.
Faults may be classified as transient or permanent,
HARDWARE RELIABILITY deterministic or indeterminate, local or catastrophic. The
For articles on related subjects see DATA SECURITY; FAULT- first category refers to the duration of the fault, the sec-
TOLERANT COMPUTING; MAINTENANCE OF COMPUTERS; REDUN- ond to its effect on the values of the system design param-
DANCY; and SOFTWARE RELIABILITY. eters, and the third to the propagation of the fault to its
neighboring elements.
Reliability engineering involves all aspects of design, Fault tolerance is provided by the application of pro-
development, and fabrication that minimize the chance of tective redundancy, or the use of more resources so as to
equipment breakdown. Neglect of reliability considera- upgrade system reliability. These resources may consist
tions can prove to be very costly, from the loss of con- of more hardware, software, or time, or a combination of
sumer acceptance of the product to the possibility of all three. Extra time is required to retransmit messages or
endangering human life. The success of complex missions to reexecute programs; extra software is required to per-
such as space probes depends heavily on reliability engi- form diagnosis on the hardware; and extra hardware is
neering, since failure of a single component, such as an required to provide replication of units.
O-ring, can and has resulted in total loss of the system. Hardware redundancy may be of the fault-masking or
Reliability in a qualitative sense can mean a host of self-repair types, or a hybrid of these two. In fault masking,
different things relating to the confidence in the quality of redundancy is of a static nature; faults are masked in-
the equipment, and is closely connected but often con- stantly and the operations of fault detection, location, and
fused with the concepts of maintainability, availability, correction are indistinguishable. In self-repair, redun-
safety, and even security of the system. Quantitatively, dancy is used dynamically; faults are selectively masked
reliability can be formulated mathematically as the prob- and are detected, located, and subsequently corrected by
ability that the system will perform its intended function replacing the failed unit with an unfailed replica. Exam-
over the stated duration of time in its specified environ- ples of the former are triple modular redundancy (TMR)
ment. and quadding (see below), and (of the latter) standby-re-
As equipment becomes more complex, the chance of placement (SR) systems and reconfigurable systems.
system unreliability becomes greater, since the reliability Schemes using a combination of these two basic ap-
of any equipment depends on the reliability of its compo- proaches are called hybrid or adaptive redundancy.
nents. The relationship between parts reliability and the
system reliability can be formulated mathematically to Some Fundamental Principles A fundamental
varying degrees of precision, depending on the scale of principle of reliability is that it must be not only inherent,
the modeling effort. The mathematics of reliability is but also a function of how the component is used. An-
based on parts failure-rate statistics and probability the- other important principle is that, to achieve reliability by
oretic relationships. The mathematical theory of reliabil- means of protective redundancy, the redundancy must be
ity is used to model, simulate, and predict proneness of applied to the lowest level of component complexity in
the equipment to failure under expected operating condi- the system in order to maximize gain in reliability. This is
tions. the idealized state; in practice, trade-offs due to overhead
There have been two distinct and viable approaches are required in using redundancy techniques (e.g. provid-
taken to enhance system reliability. One is based on ing voters in TMR systems and detection-switching re-
component technology; i.e. manufacturing capability of quirements in standby systems). The application of the
producing the component with the highest possible reli- mathematical theory of reliability in modeling such sys-
ability, followed by parts screening, quality control, pre- tems provides quantitative design guidelines that make
testing to remove early failures (infant mortality effects), such trade-offs and optimizations possible and practica-
etc. The second approach is based on the organization of ble.
the system itself (e.g. fault-tolerant architectures that In addition to the foregoing first and second princi-
make use of protective redundancy to mask or remove the ples of fault tolerance, a third principle is that a system
effects of failure, and thereby provide greater overall sys- may be made arbitrarily reliable provided the degree of
tem reliability than would be possible by the use of the redundancy is made high enough (i.e. a sufficiently large
same components in a simplex or nonredundant configu- number of replicas are provided). Again, this principle
ration). holds only in an idealized situation; in practice, since the
Fault tolerance is the capability of the system to probability of detecting a failure and correctly switching
perform its functions in accordance with design specifica- over to a spare is less than unity, this parameter, called
tions, even in the presence of hardware failures. If, in the coverage, limits the advantages postulated by the third
event of faults, the system functions can be performed, principle.
but do not meet the design specifications with respect to A fourth principle concerns the problem of requiring
the time required to complete the job or the storage the checking elements (those elements that are used for
HARDWARE RELIABILITY 605
aA
rate
the diagnosis of the rest of the system and the subsequent ___1 dR
reconfiguration of the system units) also to be checkable. 40er iia (1)
This is the problem of “checking the checker.” Thus, the
fourth principle states that any system using protective so that
redundancy will have major and minor “hard cores” (i.e.
unprotected system elements), and that these cannot be
totally eliminated from the system design. They may be R(t) = exp <pA(t) dt o)
made arbitrarily small, however, by judicious use of a
mixture of different, protective redundance techniques.
The reliability function R(A) is often called the survival
Mathematical Theory of Reliability Certain re- probability function, since it measures the probability that
lationships exist among reliability parameters and their failure of an item does not occur during the time interval
underlying probability theoretic relationships. If a fixed [0,¢].
large number N, of identical items are being tested, of
which N, is the number of items surviving after time t and Failure Rate Statistical data on equipment failure
N, is the number of items that failed during time ¢, then NV, yield a characteristic “bathtub” curve, as shown in Fig. 1.
= N, + N, for all ¢. Now, for a sufficiently large N,, the When the equipment is first put into service, inherently
reliability R(O of an item is N//N.. The failure rate A(O, weak components fail early. Subsequently, the failure rate
which is defined to be the rate at which the population stabilizes quickly to a relatively constant value; this pe-
changes at time ¢, can be shown to be given by riod is called the “useful life period.” After much usage,
100,00
Communication console
10,000
E
~
=
1,000
Ss
a
t t
10? 10: 10° 10° 10° 10’
Number of Components
FIG.<2. Comparison of mean time between failures for commercial equipment and
high-reliability military equipment. (From E. J. Nalos and R. B. Schultz, “Reliability and
Cost of Avionics,” JEEE Trans. Reliability, October 1965. By permission.)
606 HARDWARE RELIABILITY
EEE:
unit from a reserve of spares is switched in as a replace-
ment of the failed unit, thereby restoring the system to its
operational state. The reliability of this system is ex-
pressed as
R system =1-(1-R)*t!,
FIG. 6. Standby replacement redundancy. which is the probability that not all S units have failed.
Reconfiguration Logic,
Disagreement
detector
N-basic Switching
NMR units unit
S spares
Summary Redundancy as a procedure for designing plementation of a system is “consistent” with respect to
more reliable systems than allowed by the intrinsic reli- its specification, where these descriptions tend to be at
ability of the constituent components is as old as the different levels of abstraction. Somewhat more generally,
discipline of engineering itself. In fact, even the evolution- hardware verification involves comparing two descrip-
ary processes of life use it (e.g. in the human body there ' tions of a (hardware) design for “consistency.” This re-
are two kidneys, two lungs, etc.). quires (1) the two descriptions; (2) formal models for
Examples of the use of redundancy in ancient times each (since these may or may not be the same); (3) a
are provided in the construction of temples and bridges, formal notion of the “consistency” relation between them;
where more than the absolutely required number of pil- (4) some way of checking or proving the consistency
lars is provided to support structure; thus, should one relation. We note that such a proof need not necessarily
pillar sustain damage, the remaining pillars would still be directly resemble a “traditional” logic proof (e.g. it may
able to share the load successfully. simply be a mechanical enumeration of all possibilities).
In the computer age, all the basic techniques de- It should, however, be something that could always be
scribed have been applied, with varying degrees of so- translated into a logical proof. Thus, for instance, simula-
phistication, to the design of ultrareliable computing sys- tion cannot be used for formal verification unless it is
tems. TMR has been successfully applied in designing the feasible to simulate exhaustively all the possibilities of
guidance and control computer of the Saturn V launch interest.
vehicle. Quadding is used to a great extent in the design
of the spacecraft computer of the Orbiting Astronomical
Observatory (OAO). Standby replacement redundancy
was extensively used in the Raytheon RAY-DAC computer
Techniques Used In Hardware Verification
and in the Jet Propulsion Laboratory’s self-test and repair
(STAR) computer. The latter also used hybrid redundancy
to protect the monitor sub-system of the self-repairing
Specification and Formal Models A system description
computer. may be given in a “hardware description language” (HDL),
In addition, these techniques are also finding applica- such as VHDL (IEEE 1987) or a “broad-spectrum” system
tion in protecting the automated computerized controls description language (encompassing both hardware and
of modern high-speed transit systems and in other appli- software subsystems). Alternatively, it may be expressed
cations where the cost of using redundancy is justifiable directly in the syntax of the underlying formal model.
because it minimizes danger to human life, or increases The formal models that underlie system descriptions
the continuous availability of services that, if interrupted typically use some form of algebra or logic. Common
by failure and subsequent repair, would cause severe examples of useful models include boolean or proposi-
consumer dissatisfaction. An example of the latter is the tional logic (for combinational circuits), finite state ma-
present-day automated telephone switching system. In an chines (for sequential circuits), and state graphs. Other
expanding society where products become more sophis- examples of formal models include various flavors of
ticated and projects proliferate, the scope of reliability temporal logic (e.g. Computational Tree Logic (Burch et
engineering, protective redundancy, and fault-tolerant al. 1990) used for stating properties of finite state sys-
computing will continue to grow. tems); logics that incorporate the notion of dense real-
time intervals, enabling properties of timed systems to be
References expressed; various flavors of “process algebras” that are
used to provide semantics for ensembles of processes
1956. von Neumann, J. “Probabilistic Logics and the Synthesis of (e.g. CCS (Milner, 1980); infinitary languages (and autom-
Reliable Organisms from Unreliable Components,” in Autom- ata that accept them); and Petri Nets - g.v.).
ata Studies. Princeton, NJ: Princeton University, 43-98.
1971. IEEE. Transactions on Computers: Special Issue on Fault-Tol-
Consistency The notion of consistency depends on the
erant Computing C-20, 1] (November). Digest of the IEEE An-
nual Symposium on Fault Tolerance.
properties of the system that are deemed relevant; while
1986. Pradhan, D. K. (Ed.). Fault-Tolerant Computing: Theory and this normally includes “observable” functional behavior,
Techniques, Vols. | and II. Englewood Cliffs, NJ: Prentice-Hall. other attributes of interest include timing characteristics,
1987. Nelson, V. P. and Carroll, B. D. Tutorial: Fault-Tolerant Com- power consumption, and testability. Even when restricted
puting, Los Alamitos, CA: IEEE Computer Society Press. to considering “functional” behavior, there are consider-
able (and sometimes subtle) variations in the precise
FRANCIS P- MATHUR notion of “consistency” that is used in the context of
different models, and sometimes even within the same
“family” of models (e.g. within models based on process
HARDWARE VERIFICATION algebras or within models based on temporal logic).
Some examples of the consistency relation between
For articles on related subjects see HARDWARE DESCRIPTION two descriptions S and / include:
LANGUAGES; and PROGRAM VERIFICATION.
e Equality: S = J,
What Is Hardware Verification? Hardware veri- e Equivalence: S © /.
fication typically involves demonstrating that an im- e Logical implication: /=> S.
HARDWARE VERIFICATION 609
e Conditional logical implication: C(inpuf) > (I > present if fis always true in the future (i.e. if fis Globally
S); where the predicate C(inpuf) is designed to true). To assert that two events e, and e, never occur at
ensure that the system’s environment behaves the same time, one would write GG e, Wve, lie
properly. meaning of a temporal logic formula is usually determined
e Homomorphism: This may loosely be expressed as with respect to a labelled state transition graph (some-
R(g(D, S), where a homomorphic function @ is times called a Kripke structure for historical reasons). To
used to represent (or relate) different levels of check if a system described by a state graph satisfies a
abstraction, and the relation R embodies an appro- certain property (the “specification”) expressed by a tem-
priate notion of consistency between (J) and S. poral logic formula, the state space denoted by the state
Examples of useful abstractions include structural graph has to be explored; this can be done in time linear
abstraction (enabling the “hiding” of internal sig- in the size of the state graph and the temporal logic
nals or wires), temporal abstraction (enabling dif- formula being checked.
ferent granularities of timing); data abstraction A logic called the calculus can be used as a general
(consisting of relating “abstract” objects to more framework for describing a variety of verification method-
concrete “representation” objects); and event ab- ologies. A model checking algorithm for the y-calculus can
straction (the abstraction of events that are not be used to decide, among other things, the validity of
relevant to the specific task in hand). branching-time and linear-time temporal logic formulas
Further differences result from viewing concurrent com- with respect to a finite model, strong and weak observa-
putations as having a tree-like (branching) structure, in tional equivalence of finite transition systems, and lan-
contrast to being linearized in some fashion. The former guage containment of finite @-automata.
view is reflected in branching time temporal logics and Graph-based verification methods include temporal
process algebras like CCS. The latter view is reflected in logic model checking, formal language containment, trace
linear time temporal logics, trace theory and systems that theory, and the calculus of communicating systems
model communicating sequential processes (e.g. CSP (CCS). While these have different computational models
(Hoare, 1985)). and differ in their notions of verification, they generally
involve decision algorithms that explicitly represent
Checking for Consistency The techniques used for some relational quantity over the domain of the model. By
checking equivalence are closely related to the formal using a binary encoding of the domain of the model and
models used. There is a wide spectrum of logics and efficient representations of the relational quantities using
related systems that perform manipulations relevant to BDDs, the complexity of the decision algorithms can be
the logics. In general, the simpler logics (e.g. boolean greatly reduced in practice. Some empirical results show
logic) are typically less expressive and more tractable, that the method can be applied in practice to verify mod-
while the richer logics (e.g. formulations of higher-order els with in excess of 10!” states.
logic that permit variables to range over functions and Another approach involves checking inclusion be-
predicates, and quantification over such variables) are tween two automata on infinite tapes. The first machine
more expressive and less tractable. Various flavors of represents the system that is being verified; the second
temporal logics and enhancements of first-order logic fall represents its specification. Automata on infinite tapes
between these extremes. are used in order to handle fairness.
It is often possible to exploit the special properties A desired goal (or “theorem”) is obtained (“proved”)
and idiosyncrasies of certain logics to develop special- in a logic by the application of an appropriate sequence
ized data structures and algorithms to support the manip- of inference rules of the logic. A mechanization of a logic
ulations required by the logic. A good example of this is a provides support for mechanical application of the infer-
graph-based canonical representation of boolean expres- ence rules of a logic. In interactive proof-based systems,
sions, called Typed Ordered Binary Decision Diagrams such as the HOL system supporting Higher Order Logic
and abbreviated BDDs (Bryant, 1986). BDDs enable very (Gordon, 1988), additional support is typically provided
efficient implementations of boolean operations, such as for concisely encoding strategies and high-level tactics
conjunction, disjunction, and negation of expressions, as that drive the lower-level mechanical inferences needed
well as checks for satisfiability of a formula and the equiv- to carry out large and complex proofs. Further, several
alence of two boolean formulas (and therefore two com- forms of “bookkeeping” support are also provided by
binational logic networks). BDD-based systems have also such systems to facilitate the development, browsing,
been used to show equivalence between deterministic and subsequent modification of proofs and proof strate-
Moore machines by performing a symbolic exploration of gies.
the state space determined by the product of the two The Boyer-Moore theorem prover is based on the
machines. Other methods use BDDs in “symbolic” simula- Boyer-Moore logic (Boyer and Moore, 1988), which aug-
tion, and also combine graph-based and theorem-prov- ments first-order predicate calculus with a semi-auto-
ing/assertion-based proof techniques. mated induction scheme and axioms for data types, such
Temporal logics enable reasoning about the order of as natural numbers, strings, and lists.
events in time without introducing time explicitly. Al- As and when the representations and algorithms for
though a number of different temporal logics have been relevant classes of logical manipulations evolve and ma-
studied, most have an operator like G(/ that is true in the ture, mechanized systems based on such logics will natu-
610 — HARTREE, DOUGLAS R.
rally evolve along with them. Recently, there has been wood Cliffs, NJ: Prentice-Hall International Series in Computer
dramatic progress in the complexity of systems that can Science.
1986. Bryant, R. E. “Graph Based Algorithms for Boolean Function
be addressed by special-purpose logics and automata.
Manipulation,” JEEE Transactions on Computers, C-35(8): 677-
General-purpose proof and theorem prover technology
691.
has also evolved considerably over the last 20 years, 1987. IEEE JEEE Standard VHDL Language Reference Manual. New
although the relative progress here has been slower, since York: IEEE Press.
it is comparatively difficult to discover “universally appli- 1988. Boyer, R. S., and Moore, J. S. A Computational Logic Hand-
cable” tricks. book: In Perspectives in Computing, 23, New York: Academic
Press.
1988. Gordon, M. “HOL: A Proof Generating System for Higher
Current Status—What Can We Expect from Order Logic,” in VLSI Specification, Synthesis and Verification,
Formal Verification? There are some areas where G. Birtwistle and P. A. Subrahmanyam (Ed.) C. M. Kluwer
verification is useful even today, (e.g. the verification of Academic Publishers.
the function of “medium size” combinational circuits 1990. Burch, J. R., Clarke, E. M., Dill, D. L., McMillan, K. L., and
(100K transistors) and the function of small(er) control Hwang, L. J., “Symbolic Model Checking: 107° States and Be-
yond,” in Proc. of the IEEE Conference on Logic in Computer
circuits (possessing on the order of oe states); further,
Science.
the sophistication of these techniques has been rapidly
improving of late. Other, more powerful (but less auto- EDMUND M. CLARKE, JR. AND P A. SUBRAHMANYAM
matic) techniques and tools are being explored that ad-
dress much broader classes of circuits. For example,
interactive techniques based on theorem provers have
been used to verify certain aspects of the functional be- HARTREE, DOUGLAS R.
havior of simple microprocessors. Similar techniques are For articles on related subjects see DIFFERENTIAL ANALYZER;
being used to verify “vertically integrated systems” (e.g. and MANCHESTER UNIVERSITY COMPUTING.
operating systems running on robust hardware) as well as
compilers and application programs based on these. It Douglas Rayner Hartree was born on 27 March 1897.
should be noted that totally automated verification for During the First World War, he did scientific work in anti-
arbitrary circuits is (theoretically) impossible in general. aircraft gunnery and afterwards began research in wave
Often, even attempting formal verification of hard- mechanics, then a new subject. He pioneered a method of
ware designs—by striving to provide formal specifica- computing molecular wave functions by what he called
tions of the desired system attributes such as behavior the method of the self-consistent field. This was long
and performance—can be quite beneficial; a high propor- before the days of digital computers and Hartree used a
tion of ambiguities and inconsistencies tend to be ex- desk calculator for the heavy numerical calculations that
posed during such an exercise. While verification can were involved. He became attracted by the potential of
improve the quality and cost-effectiveness of many de- numerical computation in scientific research, and it was
signs, it is certainly not a panacea. Verification involves as a specialist in that field that he became known rather
two or more models, where the models typically bear an than as a physicist.
uncheckable (and possibly imperfect) relationship, both In 1931, Vannevar Bush (q.v.) published his descrip-
to devices and the designer’s intentions. It is important to tion of the differential analyzer. Hartree was impressed by
distinguish the limitations and capabilities of the model the possibilities of this machine and in the summer of
from those of the tools and techniques. 1934 spent a month studying it at M.I.T. On his return, he
Hardware verification should be deemed useful if it set about raising funds for the installation of a similar
reduces the cost and time of developing a new product machine at Manchester University, where he was Profes-
and/or improves the reliability or the degree of confi- sor of Applied Mathematics. The machine was duly in-
dence in a product sufficient to justify any increased stalled and during the Second World War constituted a
costs. Sometimes, verification is not needed because
valuable computing resource. Under Hartree’s direction,
other strategies are sufficient. At other times, it may be it was used for a number of wartime problems, relating
needed but not practical, in that the techniques available
notably to the radar magnetron and to anomalous propa-
may be too expensive to be cost-effective for a given gation of radio waves in the troposphere.
application. Nevertheless, such advanced techniques can At the time, there were only a handful of people in
be justified in the context of designing life-critical applica- the world who could be described as specialists in
tions (e.g. systems used in medicine for life-support, civil
numerical computation. This put Hartree in a strong
avionics, and nuclear reactors), as well as systems where position to advise when the early digital computers
replacement is either very expensive (e.g. oil pipelines became available. In May or June 1945, he paid an official
and some embedded applications), or impossible (e.g. visit on behalf of the British government to the United
space probes). States, where he saw the Automatic Sequence Controlled
Calculator at Harvard and the ENIAC (q.v.), then still
References incomplete, at the University of Pennsylvania. Through
1980. Milner. R. A Calculus of Communicating Systems. New York: the interest of Colonel Paul Gillon, he paid another visit
Springer-Verlag, LNCS 92. in 1946 to advise on non-military uses to which the
1985. Hoare, C. A. R., Communicating Sequential Processes. Engle- ENIAC might be put. He was able to get personal expe-
HEURISTIC 611
References
Maurice V. WILKES
HEURISTIC
For articles on related subjects see ALGORITHM; ARTIFICIAL
INTELLIGENCE; EXPERT SYSTEM; and KNOWLEDGE REPRESENTA-
TION.
has a chance to solve it. The computerization of the solu- Outlook Except for some introductory efforts (Water-
tion requires all those vague, hard-to-quantify ideas that man, 1970; Findler et al., 1971), present heuristics are all
humans in fact make use of in doing this problem. (“Either preprogrammed in artificial intelligence projects. In other
I go on vacation or buy that new car....Let’s see, how much words, it is not the machine that discovers, selects, and
longer can I drive my old bomb?”) The collection of these * optimizes the rules that play an increasingly important
rules of thumb, sometimes referred to as insight, intuition, role in many problem-solving programs. Therefore, the
or experience with a particular task, represents what com- performance level of these programs is determined by the
puter scientists call “heuristics” (plural noun). Any one researcher’s experience, insight, and perhaps even luck.
such rule is thus a heuristic (singular noun). A much more desirable situation would be the one in
We resort to heuristic programming whenever an algo- which heuristic processes are automated. Learning pro-
rithmic solution is prohibitively expensive or impossible grams, initially inefficient and possibly even random in
to follow, or is unavailable. The role of heuristics is to cut their actions, would gradually formulate more and more
down the time and memory requirements of search. On heuristics on the basis of experience. These heuristics
the average, it should result in appreciable savings when would assume a flexible, or parametric, format so that
programming our budget to satisfy our basic needs. Heu- subsequent optimization processes could raise the over-
ristic methods are not foolproof; they can fail a certain all level of performance.
proportion of the time. (Algorithms are not supposed to
fail.... However, the fact that a technique is not foolproof References
does not render it heuristic.)
1954. Pélya G. Mathematics and Plausible Reasoning: 1. Induction
The larger the range in which a heuristic can be
and Analogy in Mathematics, Wl. Patterns of Plausible Inference.
applied, the more powerful it is considered to be. Also, its Princeton, NJ: Princeton University Press.
level of performance should be at least comparable to 1966. Baylor, G. W. and Simon, H. A. “A Chess Mating Combina-
that of an exhaustive strategy (an algorithm, in fact) or of tions Program,” Proc. SJCC 28: 431-447.
a random search for a solution. 1970. Waterman, D. A. “Generalization Learning Techniques for
The following example, originally reported by Simon, Automating the Learning of Heuristics,” Artificial Intelligence
should shed some light on the concept under discussion. 1: 121-170.
Nontrivial games cannot be played by humans or by 1971. Findler, N. V., Klein, H., Gould, W., Kowal, A., and Menig, J.
machines algorithmically (because there does not exist “Studies on Decision Making Using the Game of Poker,” Proc.
an algorithm) or exhaustively (because the memory and IFIP Congress, Book TA-7: 50-61. Ljubljana, Yugoslavia.
1978. Waterman, D. A. and Hayes-Roth, F. (Eds.). Pattern-Directed
time requirements far exceed any available ones). The
Inference Systems. New York: Academic Press.
classical example of an intellectual game, chess, has
been programmed by several groups of researchers. (see NICHOLAS V. FINDLER
COMPUTER CHESS). In all these, heuristic ideas occupy a
central role in move selection and position evaluation.
In fact, de Groot and other psychologists have shown
that the basic difference between excellent and merely HIERARCHY OF OPERATORS. See op.
good players is not in their memory capacity or even ERATOR PRECEDENCE.
in their data processing ability in abstracto. All players
analyze practically the same number of board positions,
but not always the same ones. Excellent chess players
HIGH-LEVEL LANGUAGE. See PROBLEM-
have developed very powerful heuristics for the selection
ORIENTED LANGUAGES; and PROCEDURE-ORIENTED LAN-
of game continuations to be considered. They may go
GUAGES.
down to a depth of, say, 20 half-moves along one path
and disregard others below a depth of 2 or 3, for reasons
of their own.
One often used heuristic in chess is to leave as little HISTORY. See Dicitat Computers: History: and SoFt-
freedom of move selection for the opponent as possible. WARE HISTORY.
If all other techniques of comparison assign an equal
score to two moves considered, a chess expert usually
selects the one that restricts the opponent’s mobility toa
larger degree. This technique, being a heuristic, works
HOLLERITH, HERMAN
most of the time. There was a famous game, however, For articles on related subjects see DiGITAL COMPUTERS:
between two international masters in which the winner HISTORY; PUNCHED CARDS; and WATSON, THOMAS, SR.
used this heuristic to his disadvantage. It has been shown
by game analysts that in a particular position, the opti- Herman Hollerith (b. Buffalo, NY, 1860; d. Washing-
mum move (overlooked for the reasons discussed) could ton, DC, 1929) was the inventor of punched-card data
have led to an earlier victory. A supplement to this story processing and founder of a firm that evolved to become
is that the MATER program by Baylor and Simon (1966), IBM.
which incorporates the heuristic of fewest-replies, was For the quarter-century from 1890 to World War I, he
presented the same particular near-end position and du- had a virtual monopoly on punched-card data processing.
plicated the mistake made by the international master. He held the foundation patents on the field (U. S. Patents
HOLLERITH’S MACHINE 613
395 781-395 783) and nearly 50 other U. S. and foreign In 1889, his system was installed in the Army Surgeon
patents on basic techniques and equipment. He devel- General’s office to handle Army medical statistics. A de-
oped applications of punched-card data processing to scription of this system and his plans for the Census was
many fields of endeavor, including the U.S. Census, medi- accepted by Columbia as a doctoral dissertation, and he
cal and public health statistics, railroad and public utility was awarded a Ph.D. “for achievement” in 1890. Also in
accounting, stock and inventory control, and factory cost 1889, a comparative test made of the Hollerith and two
accounting. competitive systems caused the Hollerith system to be
Many basic decisions he made at, or before, the turn chosen for use in the 1890 Census. Austria, Canada, Italy,
of the twentieth century persist today. Punched cards Norway, and Russia were soon investigating and adopting
today are the size of dollar bills of that era because Hollerith equipment for their population censuses. These
Hollerith found it economical to buy cabinets and draw- early systems could tally totals one at atime but could not
ers subdivided in that size. The positional coding used on add or accumulate.
punched cards (Hollerith code) has evolved directly from Shortly after 1900, Hollerith began developing a sec-
decisions he made about card design when designing the ond generation of his equipment. A new type of card
first column-by-column keypunch for the 1901 Census of design arranged numeric information in columns and per-
Agriculture. Even the practice of IBM and other firms of mitted development of a simple, new kind of keypunch, an
leasing and maintaining their own data processing equip- automatic-feed card sorter, and an automatic-feed tabula-
ment originated in Hollerith’s decisions made prior to tor of vastly improved performance. These new systems
1900. could accumulate numbers of any size, and thus were
Upon graduation from Columbia University in 1879, obviously applicable to many situations other than cen-
Hollerith took a job with the Census, where he became the sus and similar statistical work. Hollerith soon spread
protégé of Colonel John Shaw Billings, an Army surgeon their use to an amazing variety of industries. They even
who was also serving as director of the division of vital went overseas with the American Expeditionary Forces in
statistics for the Census. Billings suggested to Hollerith World War I.
that a good machine to do the purely mechanical work of About 1905, the management in the Census Bureau
tabulating population and similar statistics was badly began to object to Hollerith’s profits and sponsored alter-
needed and that a technique of using cards with the native developments designed to break his monopoly.
description of each individual punched into them was a These competitive systems were widely adopted, once
good approach to the problem. Intrigued by this sugges- Hollerith’s fundamental patents expired, and often led the
tion, Hollerith made a study of the problem and deter- data processing industry into new developments. Be-
mined to his own satisfaction that it was feasible. cause this competition resulted in a need for increased
In 1882, Hollerith followed General Francis Walker capitalization, Hollerith sold his patent and proprietary
from the Census to M.I.T., where he became an instructor rights to a holding company in 1912. This relieved him of
in mechanical engineering. While there he worked hard on day-by-day management chores and he became a highly
his “Census machine” invention, concentrating initially paid consultant. Before long, Thomas J. Watson, Sr., was
upon a variant of an earlier machine developed by Colonel brought in to head Hollerith’s old company, but Watson’s
Charles W. Seaton, chief clerk for the 1870 Census. This commercialism and Hollerith’s devotion to purely inven-
prototype had used a player-piano roll type of feed mech- tive objectives caused dissension. Watson’s interests pre-
anism rather than individual cards. vailed, and Hollerith’s contributions and achievements
By the end of his first year at M.LT., Hollerith decided were soon absorbed into the greater representative image
that his true vocation was invention. He returned to Wash- of IBM.
ington and secured a position with the Patent Office to
learn the arts of invention and patent protection. After a Reference
year, he left the Patent Office and set up shop as a “Solic- 1971. Hollerith, Virginia. “Biographical Sketch of Herman Holler-
itor and Expert on Patents” to earn his living while he gave ith,” ISIS 62, 210: 69-78.
his primary attention to invention. Soon he applied for
several patents; included among them was the first appli- WILLIAM F. LUEBBERT
cation for the foundation patents on punched-card data
processing.
Considering this to be the most promising of his HOLLERITH’S MACHINE
inventions, he concentrated upon it and developed the
experimental test systems used for vital statistics tabula- For articles on related subjects see HOLLERITH, HERMAN;
tions in Baltimore, New Jersey, and New York City. During PUNCHED CARDS; and PUNCHED CARD MACHINERY.
this period, his system evolved from a simple machine
with cards punched by a conductor’s ticket punch to a The first practical electric tabulating system, devel-
complete system. This system included a pantograph-like oped and patented by Herman Hollerith in the late 1880s,
punch, a tabulating machine with a large number of received its widest initial use, encouragement, and great-
clocklike counters (each capable of counting up to 10,000 est impetus from the 1890 census of the United States. On
occurrences), and a simple, electrically actuated sorting short notice, he produced 50 tabulating machines and
box for classifying and grouping cards in accordance with related equipment that were used to tally the population
the categories punched into them. and dwelling counts and later to tabulate and cross-tabu-
614 HOPPER, GRACE MURRAY
Reference
late the characteristics for nearly 63 million persons. The 1965. Truesdell, L. E. The Development of Punch Card Tabulation
Census Bureau employed later versions of this system for in the Bureau of the Census, 1890-1940. Washington, DC: Govt.
Print. Off.
the next 60 years, or until electronic tabulation appeared
in the form of UNIVAC I (g.v.). FREDERICK G. BOHME
Hollerith’s system was based on a card-punching de-
vice that a clerk, reading a census return, used to record
up to 17 different characteristics for one person by choos-
ing among 240 possible punching positions and punching HOPPER, GRACE MURRAY
holes in a 6 5/8-inch X 3 1/4-inch card. (Certain standard For articles on related subjects see AIKEN, HOWARD; DIGITAL
codes, such as for a particular enumeration district, could COMPUTERS: HisToRY: EARLY; and MARK I.
be set on another punch and transferred to stacks of
cards.) The completed cards then were fed, one at a time, Grace Brewster Murray Hopper was born in New York
into a “circuit-closing press” on the tabulating machine. City on 9 December 1906. She received her B.A. in Mathe-
This press was equipped with rows of spring-loaded pins matics and Physics from Vassar College in 1928, where
in the top jaw and tiny matching pots of mercury in the she was elected to Phi Beta Kappa. She continued her
bottom jaw. The pins were wired for an electric current; graduate studies in mathematics at Yale University, where
the mercury pots were connected to 40 counter dials. she was awarded her M.A. (1930) and Ph.D. (1934). From
When a clerk inserted the punched card in the press and 1931 to 1943, she was a member of the mathematics
closed the jaws, the pins finding holes were able to de- faculty at Vassar College. In December 1943, she joined
scend into their mercury pots. The current passed the United States Naval Reserve and attended Mid-
through these pins and pots to their related electromag- shipman’s School at Northampton, Massachusetts.
netic counter dials on the machine, advancing the unit She graduated in 1944 with a commission in the U.S.
hand on each dial one place. (When the unit hand made a Navy (Lt. J.G.) and was assigned to the Bureau of Ord-
complete revolution on the dial, it activated a hundreds nance’s Computation Project under the direction of How-
pointer one place.) The clerk then released the jaws, ard Aiken at Harvard University. It was at Harvard that Dr.
removed the card and dropped it into an open pocket on Hopper was first exposed to the world of automatic digital
a sorting box connected to the machine, and repeated the processing. There she joined Robert Campbell and Rich-
entire operation with the next card. At the end of the run, ard Bloch as a “coder.” In her words: “I became the third
the dials were read and reset for the next run and the programmer on the world’s first large-scale digital com-
sorting box was emptied. The dials could also be con- puter, Mark I.” At the end of World War Il, Dr. Hopper
HOSPITAL INFORMATION SYSTEM (HIS) 615
to support daily operations, facilitating clinical and finan- applications include inventory tracking and sup-
cial decision making, and satisfying internal and external plies purchasing, operating room management,
documentation requirements. These computer systems staff scheduling, nursing care plan development,
are variously referred to as hospital, health, and medical diet planning, quality assurance, professional
information systems. The term hospital information sys- credentialing, and risk management.
tem (HIS) encompasses both patient care and patient
Among the most common HIS applications are traditional
management systems, which support health care deliv-
financial functions such as payroll administration, patient
ery, and financial and resource management systems,
billing, and accounts receivable management. To cope
which support the business and strategic operations of a
with increasing competition and complex reimbursement
hospital. In countries that have hospital-based health
mechanisms, a growing number of hospitals are acquiring
care systems, the term HIS can imply information systems
cost accounting systems and financial decision support
with broader functions, including applications that sup-
tools designed to help administrators make investment
port ambulatory (outpatient) care.
decisions, manage costs, set charges, and respond to bids
Hospital staff spend as much as 20 to 30 percent of
from third-party payers.
their time collecting, analyzing, disseminating, and other-
Communications and networking systems allow the
wise handling information. Most hospitals use some form
integration of the various HIS components. Communica-
of computer system to assist in these activities. The core
tion of physicians’ orders is critical because most
HIS applications perform basic hospital functions, includ-
hospital activities, including drug distribution, test per-
ing patient registration and admission, discharge, and
formance, and charge capture for patient billing, are initi-
transfer (ADT). These fundamental systems maintain the
inpatient census, as well as store patient identification
information and critical demographic data that are ac-
quired during the registration process. In addition, the
patient registry functions as a reference base for HIS
components, such as the medical records and patient
billing systems. When an HIS is extended to the pharmacy,
laboratory, and other ancillary departments, the core
systems serve as a repository for shared data, thus mini-
mizing the need for redundant data entry.
The department-specific components of an HIS per-
form a variety of clinical and operational tasks:
ated by these orders. In non-automated hospitals, orders suggestions, recommend patient-specific drug dosing reg-
are conveyed by using slips of paper. Automated order imens, and provide limited therapy advice.
entry and results reporting capabilities allow communica- Steady decreases in the costs of on-line storage and
tion with ancillary areas electronically, thus eliminating computer processing power have removed major barriers
the easily misplaced paper slips and minimizing delays in to the feasibility of an electronic medical record. Entry of
communication. As an additional advantage, the informa- information into the computer remains an enormous bot-
tion is then available on line, where it can be accessed by tleneck, however. For ease of data entry, most HI systems
health professionals who wish to review a patient’s drug have minimal keystroke or menu-driven interfaces, and
profile or previous laboratory test results. Many support touchscreen, lightpen, or barcode data
The medical record is the key to coordinating the entry devices. Timely and accurate data capture is also
various health professionals who participate in providing facilitated, by direct interfaces with patient monitors and
patient care. It integrates diverse patient information, other medical instruments. Recently, there has been
provides a mechanism for communication, and serves as growing interest in the implementation of point-of-care
a legal document of a patient’s experiences during hospi- systems. Using bedside terminals or handheld devices,
talization. Current hospital information systems, how- care providers are able to enter and review patient infor-
ever, typically store only limited clinical information and mation, such as vital signs, clinical observations, and
provide little support for true patient care—a paper med- medication administration data at the time care is deliv-
ical chart continues to serve as the primary repository for ered (see Fig. 1).
clinical data. Although the more sophisticated systems A related area of exploration is the development of
can assist nurses in creating care plans and charting workstations (q.v.) that facilitate clinical decision making
patient progress notes, in the vast majority of hospitals, by physicians. A simple function of such a workstation is
ward clerks and nurses enter only the information neces- the graphical or tabular display of trends in laboratory
sary for performance of operational tasks and record test values. More sophisticated clinical decision aids are
keeping. possible when physicians’ observations and other de-
To affect patient care to a greater extent, an HIS must tailed patient data are stored on line. These data, when
store a more complete on-line medical record. The advan- combined with formal categorizations, such as problem
tages of an electronic medical record include rapid access statements and diagnoses, will allow automated summari-
to pertinent information, simultaneous access by multiple zation of a patient’s history and clinical progress and pro-
users, improved legibility, and, when the data are stored in vide support for therapy planning and medical diagnosis.
a structured manner, assistance in searching for pertinent Although decision aids for physicians have been pursued
information. Furthermore, when the clinical components by researchers since the 1960s, commercial HIS develop-
of an HIS are well developed, clinical assistance is possi- ers have only recently begun to develop true clinical appli-
ble. Systems that use the stored information can be devel- cations.
oped to monitor patients and issue alerts, make diagnostic Hospitals may choose from a host of alternatives
Hardware Platform SUN Microcomputers DEC, HP Minicomputer IBM Mainframe (In-house | IBM Mainframe (In-house
and Local Area Network or Remote) or Remote)
edsize of Target 300+ Beds 150-500 Beds 250+ Beds 250+ Beds
Hospital
FIG. 2. Examples of available HIS. A large number of systems have been developed to support
the information processing needs of hospitals, including these products, which exemplify alter-
native systems delivery modes.
618 HOSPITAL INFORMATION SYSTEM (HIS)
when acquiring an HIS (see Fig. 2). Available modes for HIS such as databases, computer programs, and printers, the
delivery range from shared processing services to cus- local area network (LAN - g.v.) has rapidly gained promi-
tom-developed in-house systems and to networked con- nence in hospitals during the late 1980s (see Fig. 3).
figurations of specialized systems. The most common HIS The development of industrywide standard network
model combines a central mainframe- or minicomputer- _ protocols (g.v.) has eased the technical problems of elec-
based system that supports institutional applications tronic communication. Still, many obstacles to system
(ADT, medical records index, order entry, results report- integration remain, such as an agreement on standard
ing, general accounting, patient billing, etc.) with mini- coding schemes and formats for medical data and defini-
computer- or microcomputer-based systems for ancillary tion of minimum data sets to collect. The development of
management and other specialized functions. Mainframe data standards is currently an active area of endeavor.
HI systems, which are designed to support larger and Examples are the American Society of Testing Materials
more complex institutions, typically provide richer func- (ASTM) standard for representing, storing, and transmit-
tions than do minicomputer-based systems. Due to the ting laboratory information; the American College of Ra-
difficulties of developing an HIS from scratch and the need diology and the National Electronic Manufacturers’ Asso-
for institutional control over information processing, ciation (ACR-NEMA) standard for transmission of digital
most new and replacement HI systems are “turnkey” radiologic imaging data; the Medical Information Bus
(ready to install) systems that have been tailored to ac- (MIB) standard for interconnecting patient monitors and
commodate the specific needs of the institution. other bedside devices; and the Health Level Seven (HL-7)
Data integration is critical to avoiding redundant data and Medical Data Interchange (MEDIX) standards for
entry and storage, and thus to promoting data consis- transmitting billing data, updating the census, and com-
tency among independent systems. Traditionally, infor- municating orders and results within hospital networks.
mation exchange has been accomplished through mag- In the coming years, the integration of myriad diverse
netic tape or on-line interfaces. With the emergence of computer systems will remain a challenge for health care
network communications technology, it became possible institutions and information systems vendors alike. In-
to exchange data electronically, avoiding the need to de- creasing pressure to provide high-quality health care at
velop and maintain cumbersome direct system interfaces. the lowest possible cost has fueled hospital needs to
Because of their ability to distribute processing to local relate costs to patient outcomes and to identify the most
users and to provide common access to shared resources cost-effective means of providing care. From a hospital
management perspective, the ability of an HIS to analyze
Local area
Network internal financial and clinical data, as well as comparative
information from external databases, may provide the
edge necessary for long-term survival. From a patient
care perspective, linkage of information systems in hospi-
tals, physicians offices, outpatient facilities, and other
ADT/Registration/MPI affiliated institutions will enhance continuity and consis-
Order Entry
Results Reporting tency of care across providers. Furthermore, an inte-
Nursing Care Plans
grated on-line medical record will support development
Payroll
Human Resources of guidelines for appropriate care, quality assurance ac-
General Ledger
Accounts Payable tivities, cost management, clinical research, and technol-
ogy assessment.
References
Networked
(>) Operating-room 1986. Blum, B. I. Clinical Information Systems. New York: Springer-
Pharmacy = System Verlag.
System
1987. Anderson, J. G. and Jay, S. J. (Eds.). Use and Impact of
Computers in Clinical Medicine. New York: Springer-Verlag.
1988. McDonald, C. J. (Ed.). “Computer-stored medical record
systems.” M.D. Computing, 5(5): 1-62.
1989. Orthner, H. F. and Blum, B. I. (Eds.). Implementing Health
Care Information Systems. New York: Springer-Verlag.
1990. Bakker, A. R. “An integrated hospital information system in
the Netherlands.” M.D. Computing, 7(2): 91-7.
1990. Miller, R. A. (Ed.). Proceedings of the Fourteenth Annual
Symposium on Computer Applications in Medical Care. Los
Alamitos, CA: IEEE Computer Society Press.
1990. Scherrer, J., et al. “An integrated hospital information sys-
FIG. 3. Compenents of a LAN-based HIS. The most common HIS tem in Geneva.” M.D. Computing, 7(2): 81-9.
model comtines a mainframe- or minicomputer-based system 1990. Shortliffe, E. H., Perreault, L. E., Wiederhold, G., and Fagan,
running central institutional applications with stand-alone sys- L. M. (Eds.). Medical Informatics: Computer Applications in
tems for ancillary management and other specialty applica- Health Care. Reading, MA: Addison-Wesley.
tions. Information exchange among independent systems may
be accomplished via network connections or direct interfaces.
LESuUE E. PERREAULT
HUMAN FACTORS INCOMPUTING 619
HOST SYSTEM human retention of operations over time. The poor de-
signs of the past are giving way to elegant systems. De-
For articles on related subjects see DISTRIBUTED SYSTEMS; scriptive taxonomies of users and tasks, predictive mod-
FILE SERVER; FRONT-END PROCESSOR; MICROPROGRAMMING; MUL els of performance, and explanatory theories are being
TIPROGRAMMING; and MULTITASKING. developed to guide designers and evaluators. Haphazard
and intuitive development strategies with argumentation
A host system or a host computer is the physical sys- about “user friendliness” is yielding to a more scientific
tem that interprets a program. The program is written on approach. Measurement of learning time, performance,
a logical machine, which is usually not the same as the errors, and subjective satisfaction is now a natural part of
physical machine (host system). These differences arise the design process.
because the physical system either does not possess or
does not allocate all features or resources directly re- Interaction Styles The central concern of designers
quested by the logical machine (program). The distinc- is the interaction style of a system. Each style has its
tion between host system and logical system is especially merits for particular user communities or sets of tasks.
notable in two areas: multiprogramming systems and Choosing a style or a combination of styles is a key step,
microprogrammed (emulated) systems. but within each there are numerous minute decisions that
In multiprogramming systems, the host system is determine the efficacy of the resulting system. The pri-
responsible for allocating storage and I/O resources to mary styles currently being applied are menu selection,
each of the logical machines (i.e. in effect, active pro- form fill-in, command language, and direct manipulation.
grams), which are usually called virtual machines, as they We will examine each in turn.
are required. This allows a number of virtual machines to
share the physical resources without logicak conflict (i.e. Menu Selection Users read a list of items, select the one
without any programmer intervention in the source pro- most appropriate to their task, type or point to indicate
grams) and at the same time more effectively use the their selection, verify that the selection is correct, initiate
resources of the physical host system. the action, and observe the effect. If the terminology and
In microprogrammed systems, the notion of host sys- meaning of the items are understandable and distinct, the
tem applies to the physical machine that interprets (emu- users can accomplish their tasks with little learning or
lates) the programs written in other machine languages. memorization and few keystrokes. The greatest benefit
The machine being emulated by the host machine is said may be that there is a clear structure to decision making,
to be the image machine (sometimes the term “virtual” is since only a few choices are presented at a time. This
also used to describe this situation). interaction style is appropriate for novice and intermit-
Another use of the term host system is in time sharing tent users. It can also be appealing to frequent users if the
or remote computing, where the Host is the central com- display and selection mechanisms are very rapid.
puter providing service to terminals or satellite comput- For designers, menu selection systems require care-
ers. ful task analysis to ensure that all functions are supported
conveniently and that terminology is chosen carefully and
MICHAEL J. FLYNN
used consistently. Dialogue management software tools
to support menu selection are an enormous benefit in
ensuring consistent screen design, validating complete-
HUMAN FACTORS IN ness, and supporting maintenance.
COMPUTING Form Fill-in When data entry is required, menu selec-
For articles on related subjects see INTERACTIVE INPUT DE- tion usually becomes cumbersome, and form fill-in (also
VICES; INTERACTIVE SYSTEM; USER INTERFACE; and WINDOW ENVI- called fill-in-the-blanks) is appropriate. Users see a dis-
RONMENTS. play of related fields, move a cursor among the fields, and
enter data where desired, much as they would with a
Introduction Satisfied users of interactive computer paper form for an invoice, personnel data sheet, or order
systems often experience a sense of competence, clarity, form. Seeing the full set of related fields on the screen at
and even power as they do their work. For many other one time in a familiar format is often very helpful.
users, however, frustration and anxiety are a part of daily Form fill-in interaction does require that users under-
life. They struggle to learn complex command languages stand the field labels, know the permissible values, are
or confusing menu selection systems that are supposed familiar with typing and editing fields, and are capable of
to help them do their jobs. Some users develop such responding to error messages. These demands imply that
serious cases of computer shock, terminal terror, or net- users must have some training or experience.
work neurosis that they go to great lengths to avoid
computers. With the proliferation of personal computers, Command Language For frequent users, command lan-
these electronic age maladies are growing more common, guages provide a strong feeling that they are in charge and
but help is on the way. that they are taking the initiative rather than responding
Proper design of the human-computer interface can to the computer. Command language users must learn the
make a substantial difference in training time, perfor- syntax, but they can often express complex possibilities
mance speed, error rates, user satisfaction, and the rapidly, without having to read distracting prompts. How-
620 HUMAN FACTORS IN COMPUTING
ever, error rates are typically high, training is necessary, editors that have the WYSIWYG property (what-you-see-
and retention may be poor. Error messages and on-line is-what-you-get).
assistance are hard to provide because of the diversity of By pointing at objects and actions, users can rapidly
possibilities and the complexity of relating tasks to com- carry out tasks, immediately observe the results, and, if
puter concepts and syntax. Command languages and » necessary, reverse the action. Keyboard entry of com-
lengthier query or programming languages are the do- mands or menu choices is replaced by cursor motion
main of the expert frequent users (“power users” - q.v.) devices, such as a lightpen, joystick, touchscreen, track-
who often derive great satisfaction from mastering a com- ball, or mouse (g.v.), to select from a visible set of objects
plex set of concepts and syntax. and actions. Direct manipulation is appealing to novices,
is easy to remember for intermittent users, encourages
Direct Manipulation When a clever designer can create exploration, and with careful design can be rapid for
a visual representation of the world of action, the users’ power users.
tasks can often be greatly simplified by allowing direct Fig. 1 offers a comparison of these four interaction
manipulation of the objects of interest. Examples include styles. Blending several styles may be appropriate when
painting programs such as MacPaint or PC Paintbrush, the required tasks and users are diverse. Commands may
electronic spreadsheets (g.v.), manufacturing or process lead the user to a form fill-in where data entry is required
contro] systems that show a schematic diagram of the or pop-up (or pull-down) menus may be used to control a
plant, air traffic control systems, some educational and direct manipulation environment when a suitable visual-
flight simulations, and video games. ization of operations cannot be found.
In the PacMan video game, the joystick is used to The hope that computers will respond properly to
move the PacMan icon through a maze to consume power arbitrary natural language sentences or phrases has en-
dots, avoid ghosts, and eat fruits. Another playful exam- gaged many researchers and system developers, but with
ple is the Music Construction Set, which enables the user limited success thus far. Natural language interaction usu-
to pick up notes, drag them onto a staff, and then play the ally provides little context for issuing the next command,
music. Several chemistry simulations allow the user to frequently requires “clarification dialog,” and may be
assemble laboratory equipment and run experiments just slower and more cumbersome than the alternatives. Still,
by touching the beakers, burners, and thermometers. A where users are knowledgeable about a task domain
popular application of direct manipulation is in display whose scope is limited and where intermittent use inhib-
its command language training, natural language inter- as IEH219H TRANS CTL ERROR are disruptive and annoy-
faces have their place (though form fill-in or direct manip- ing. In five experimental studies, merely altering diagnos-
ulation may be more attractive). tic messages led to measurable improvement in
Within each of the interaction styles, there are hun- performance and subjective satisfaction. Moreover, with
dreds of design decisions that critically affect the user’s specific, constructive, and positive messages such as
success. For menus and form fill-in, each screen title MONTHS RANGE FROM 1 TO 12 or PERMISSIBLE COM-
should guide the user, items should be familiar, distinc- MANDS ARE SAVE OR LOAD, users began to make fewer
tive, and arranged in a logical order, instructions should errors, since they were learning about the system in a
be comprehensible, error correction should be easy, re- relaxed supportive environment.
turn to previous menus or screens should be rapid, and Writing effective error messages is a reasonable
some mechanism should exist to enable frequent users to goal, but a more appealing strategy is to prevent users
speed traversal. from making errors. This seems natural in direct manip-
For command languages, each command name ulation systems where the syntax is eliminated and the
should be distinctive and meaningful. A regular and visual feedback guides the user. For example, when the
logical pattern of formation aids learning and retention. PacMan is against the right wall and the user moves
Symmetric pairs of instructions such as BACKWARD/FOR- the joystick to the right, error messages are unnecessary.
WARD or OPEN/CLOSE, instead of UP/NEXT or OPEN/RE- The user quickly recognizes the situation and soon
STORE, are also helpful. When a keyboard is used to enter chooses a different direction. In menu selection, simple
commands, a simple strategy of abbreviation (such as typographic errors can be avoided if instead of typing
truncation to the shortest unambiguous character string) a number or letter, the users simply point at items using
speeds the work of frequent users. ; their finger, a mouse, or other pointing device. Similarly,
With direct manipulation systems, the visual presen- selecting a command or file name from a list eliminates
tation should be comprehensible to users familiar with typing errors.
the task. Actions should be rapid, incremental, and re-
versible. Visual feedback after each action assures users Input Devices Input tasks range from open-ended
that they are making progress towards completing their word processing or painting programs to simple repeated
task. ENTER key presses for page turning in an electronic doc-
ument. While keyboards have been the standard com-
Response Time Critical to every interactive system puter input device, there are increasingly attractive
is the time it takes to complete a task. User expectations alternatives for many tasks. The mouse has gained prom-
are rising, and excessive delays are perceived as an an- inence in many environments because of the convenience
noying impediment. While novices may appreciate a in pointing, even though additional desk space is re-
slower speed, the desire for rapid response grows as quired. High-precision touchscreens have made this dura-
experience increases. Many researchers have demon- ble device more attractive for public access, home
strated a strong correlation between the computer's re- control, process control, and other applications. Joy-
sponse time and the user’s thinking time. With long sticks, trackballs, and data tablets with styluses with nu-
response times, users reflect carefully about each action, merous variations all have their devotees.
in part because they wish to reduce errors and the num- Human interface evaluations have demonstrated the
ber of interactions. With short response times, the pat- advantages of each device for certain tasks and have
tern of work changes and users will issue many brief led to refinements to reduce pointing time and increase
commands. In short, users respond to the pace of the accuracy. Speech input for voice mail and speech rec-
system. ognition for commands are effective, especially over the
When the task is cognitively challenging, error rates telephone and for the handicapped. Novel approaches
may increase with shorter response times. This is accept- using foot pointing devices, data gloves, eye tracking,
able in many tasks, because errors are apparent and and whole body motion are being explored in many
correction is simple. However, with life-critical or irre- laboratories.
versible operations, there may be an advantage in encour-
aging more careful consideration of the user’s actions by Output The output mechanisms must be successful in
slowing the pace. Too rapid a pace may increase stress. conveying to the user what the current state is and what
Since long response times can also increase frustration, actions are currently available. The CRT display has be-
empirical tests are necessary to determine a reasonable come the standard approach, but flat panel (LED, LCD,
pace. Users should be informed of progress during long plasma, electroluminescent, etc.) and hardcopy devices
response times. An open problem is to predict perfor- are alternatives. In recent years, the pressure has been
mance and error rates as a function of user experience, strong for larger and higher resolution devices (at least
task, and response time. 1,024 x 1,024 pixels) that accommodate graphics and
color. Higher-resolution displays can improve the read-
Error Messages With many contemporary menu se- ability of textual displays so that performance can match
lection and command languages, errors are common, that of typewritten documents.
even for frequent users. Harsh messages such as FATAL Within the display, there has been substantial re-
ERROR - RUN ABORTED, vague comments such as SYN- search on methods for organizing text, numerical data,
TAX ERROR or ILLEGAL DATA, or cryptic responses such choosing fonts, color, polarity (black on white vs. white
622 HUMAN FACTORS IN COMPUTING
on black), spacing, capitalization, scrolling vs. paging, and e Judiciously select and randomly assign subjects to
cursor movement. Multiple window displays have be- groups.
come common, and their benefits for complex tasks re- e Control for biasing factors.
quiring multiple sources of information have been stud- e Apply statistical methods to data analysis.
ied. There are many strategies for dealing with multiple
windows, and this is a topic of active research and exper- The classic experimental methods of psychology are
imentation. being applied to deal with the complex cognitive tasks of
Synthesized or digitized voice output is effective and human performance with information and computer sys-
economical, especially in telephone applications and for tems. The transformation from Aristotelian introspection
the handicapped. Voice mail systems that store and for- to Galilean experimentation that took two millenia in
ward digitized voice messages continue to grow in popu- physics is being accomplished in two decades in the
larity. study of human-computer interaction.
A reductionist approach required for controlled ex-
perimentation yields small but reliable results. Through
The Syntactic/Semantic Model Cognitive theo-
multiple replications with similar tasks, subjects, and ex-
ries and models of human behavior are being adapted to
perimental conditions, generality and validity can be en-
accommodate the complexities of human-computer inter-
hanced. Each small experimental result becomes a tile in
action. Most models present a multi-leveled view starting
the mosaic of human performance with computerized
from high-level tasks or intentions and going down to
information systems.
low-level details of which keystrokes or pointing actions
At the same time, holistic approaches of participant
the user must perform.
observation, also known as usability or action studies, are
The syntactic/semantic model separates task and
contributing insights that can be immediately applied to
computer concepts (semantics) from the syntax for car-
rying out the task. For example, the task of writing a designs and hypotheses that lead to controlled experi-
scientific journal article can be decomposed into the sub- ments. The simple notion of asking users to “think aloud”
tasks for writing the title page, the body, and the refer- as they use a computer system yields great benefits.
ences. Similarly, the title page might be decomposed into Videotapes of users struggling with a system make a
a unique title, one or more authors, an abstract, and strong impact on designers and identify at least some of
several keywords. To write a scientific article, the user the flaws in a design.
must understand these task semantics. Then, to use a Such research in industrial and academic centers
word processor, the user must learn about computer leads to practical guidelines for future developers. Empir-
semantics, such as directories, filenames, files, and the ical techniques are also beneficially applied for informal
structure of a file. Finally, the user must learn the syntax evaluations of early prototypes and rigorous acceptance
of the commands for opening a file, inserting text, editing, tests before delivery. User Interface Management Systems
and saving or printing the file. are emerging as powerful tools that not only reduce devel-
Novices often struggle to learn how to carry out opment effort, but also encourage exploratory prototyp-
their tasks on the computer and to remember the syn- ing.
tactic details. Once learned, the task and computer
semantics are relatively stable in human memory, but
Conclusion One vision of successful design is that
the syntactic details must be frequently rehearsed. A
computer-related idiosyncrasies vanish and users are
knowledgeable user of one word processor who wishes
free to concentrate on their task. Designers are seeking to
to learn a second one only needs to learn the new
reduce the burden of complex syntax and awkward com-
syntactic details.
puter concepts, but much work remains. Empirical stud-
The syntactic/semantic model is descriptive and is
helpful in design as well as training. It needs refinement to ies produce many important small results, provide the
make it predictive. The goal would be to allow designers basis for refining the emerging theories, and contribute to
to predict learning times, performance rates, error rates, practical guidelines. Commercial system designers apply
the guidelines and their intuition to create elegant sys-
subjective satisfaction, and human retention over time.
tems, but must thoroughly test their designs with real
users.
An Emerging Science and Technology Hu-
man engineering, which once was seen as the paint put on References
at the end of a project, is now more often becoming the
1987. Shneiderman, Ben. Designing the User Interface: Strategies
steel frame on which the structure is built. Academic and
for Effective Human-Computer Interaction. Reading, MA: Addi-
industrial researchers are rediscovering the power of the
son-Wesley Publishing Co.
traditional scientific method. They make sure that they: 1988. Brown, C. Marlin. Human-Computer Interface Design Guide-
lines. Norwood, NJ: Ablex Publishing Co.
e Begin with a lucid and testable hypothesis. 1988. Hartson, H. Rex and Hix, Deborah, (Eds.). Advances in
e Explicitly state the independent variables that are Human-Computer Interaction: Volume 2. Norwood, NJ: Ablex
altered. Publishing Co.
e Carefully choose the dependent variables to be
measured. BEN SHNEIDERMAN
HUMANITIES APPLICATIONS 623
HUMANITIES APPLICATIONS manities, the growth of text projects with remote access
features, and the wider sharing of electronic information.
For articles on related subjects see COMPUTER ANIMATION;
Some journals and newsletters began to appear in elec-
COMPUTER ART; COMPUTER Music; COMPUTERIZED DICTIONARIES;
tronic form; editors of the all-electronic journals accom-
DESKTOP PUBLISHING; HYPERTEXT; LANGUAGE TRANSLATION; NAT-
plished the processes of peer review, editing, and distri-
URAL LANGUAGE PROCESSING; and TEXT EDITING SYSTEMS.
bution in months instead of years. Some electronic
journals were never printed on paper; one scholar even
Historical Overview The rapid changes in the use of issued regular lists (distributed electronically of course)
computers in humanities research and instruction in re- of the current “e-journals.”
cent years parallel the evolution of computing itself.
While the computing humanist was still a rarity as late as Large Databases for Humanities Research As
1980, within a decade a sizable number of academic hu- computer capacity and speed rapidly increased and as
manists were using computers for writing, research, in- computer size and prices rapidly decreased, replaceable
struction, publication, communications, and project hard disks (qg.v.) and optical storage media began to mean
simulation. limitless capacity for humanists working with very large
At the lowest levels, computers became nearly uni- texts. The character-based monochrome monitor was re-
versally employed to compile bibliographies and to re placed by graphical color monitors of high resolution, and
place typewriters as a basic writing tool. Word processing for those who required them, advanced monitors were
(g.v.) became widely used in student writing courses, and available that could display an entire page of text or
drill-and-practice programs became common in foreign perhaps even two or more pages at one time. The graphi-
language instruction. Computer-aided projects abounded cal user interface (GUI), a luxury for some computing
in humanities research and professional activity in many humanists, came to be regarded as a necessity by others.
unpredicted ways. For those engaged in time-consuming processes, such as
In the 1970s, word processing meant a dedicated or downloading texts, multitasking (g.v.) made it possible to
proprietary computer with built-in software and printer conduct foreground and background operations simulta-
to imitate an electric typewriter. In the 1980s, however, neously. The humanist could purchase a desktop com-
word processing came to mean a software module usable puter at moderate cost that was more powerful than the
on a general-purpose computer connected to a laser minicomputers (g.v.) of a generation before. And the more
printer whose output is of book or studio quality. More- venturesome humanists could take notes while doing re-
over, many highly advanced features, some of them once search on site and write while traveling thanks to porta-
belonging to the provinces of artificial intelligence (g.v.), ble, laptop (g¢.v.), and notebook computers and a new
natural language processing, and typographic design, class of pocket and miniature note jotters.
were widely integrated and taken for granted in the lead- The economics of academic publishing were trans-
ing word processing packages: spelling checker (g.v.), formed by two new computer-assisted forms. Since many
thesaurus, grammar checking, arithmetic, laser fonts, humanists wrote using word processing software and had
page layout, graphical review, textbase, foreign language access to laser printing services, smaller humanities
character support for both Roman and non-Roman alpha- presses could request camera-ready copy from authors,
bets, internal macros and programming, outlining and thereby reducing their editorial and typesetting costs for
numbering, text format conversion, and support for aca- smaller scholarly editions. Meanwhile, the very high ca-
demic apparatus, including footnotes, table of contents, pacity, wide availability, microcomputer connectability,
and indexing. and relatively low mastering cost of the compact disk
If the 1970s was an era of mainframe computing and made it a natural candidate for high-volume electronic
the 1980s an era of desktop computing, the 1990s prom- text publishing. Single CD-ROM (q.v.) disks were used to
ised to reintroduce connectivity in the form of local area reissue entire encyclopedias, bookshelves of classics,
networks (LANs - g.v.), wide area networks (WANs), and massive bibliographies, major reference works, multiple
whole-site computer integration. A new class of work- volume dictionaries, and sweeping collections of literary
group and network-capable software appeared that ac- and historical texts.
knowledged the teamwork behind many humanistic en- But the printed texts that the humanist requires in
terprises (see GROUPWARE). New connectivity features the fields of literature, history, language, and philosophy
began to erase the difference between the mainframe are not hospitable to computer use until certain neces-
terminal and the microcomputer as stations to be used in sary steps are taken. A generation ago this required labo-
global remote access to such resources as library cata- rious re-keying and verifying, sometimes on machines
logs, periodical databases, dictionaries, thesauri, and that lacked lower case characters. Today there are ex-
other reference works, often without cost to the user. panding machine-readable libraries embracing many of
Many humanists enjoyed the increasing. integration of the hundreds of texts that constitute the working materi-
several information services, including computing cen- als of humanistic study and teaching. These computer-
ters, libraries, and special research projects that shared readable. texts, also called “electronic texts,” are grad-
the common goal of information literacy. Although long ually becoming more readily available, more convenient
available as e-mail (electronic mail - g.v.) electronic con- to use, and less expensive. Although scanning hardware
nectivity took on added life in the rise of dozens of spe- and software were showing considerable improvement in
cialist listservs (list servers) and newsgroups in the hu- handling standard or contemporary book and office fonts,
624 HUMANITIES APPLICATIONS
the new technology did not always serve the scholar sharing of information in standardized documents. Per-
interested in historical editions. haps it will begin to distribute CD-ROMs of museum hold-
Natural language research in the humanities has en- ings (think of the treasures from the Northwest Indians),
couraged efforts at automated language translation and at and thereby illustrate the immense benefits from linking
machine-assisted instruction. Although complete reliance all institutions that share a common goal.
on machine translation is still a vision for the future, The third technology of promise for humanists, after
partial processing by computer greatly speeds up the networking and holography, is multimedia—the interac-
work of organizations with enormous translation output, tive integration of text, images, and sound. A new genera-
such as the United Nations, where professional speakers tion of computer-controlled CD-ROMs permit the viewer
already use a vocabulary and syntax in their utterances both to hear the music and to interrogate the system
that is designed to resist the vagaries of the translation about aspects of it, such as the libretto of an opera (with
process. English translation, if necessary), the life of the composer,
The use of graphical databases has real promise for the structure of the music, other works by the same
art history, where it is now possible to integrate slides and composer, or similar works by other composers.
lecture notes in customized multimedia presentations. Although literary scholars are becoming more aware
Applied art, of course, follows the widespread introduc- through explorations of multimedia that documents are
tion of graphical computers for design, layout, and typog- physical artifacts (a consideration of prime importance
raphy. In the field of musicology, it is possible to use the with poets like Blake, who created unified works incorpo-
computer as copyist, performer, and editor—not to men- rating both illustrations and poetry), the area in which
tion its functions in the analysis and synthesis of sound success has been most visible is one that dates back to
wave forms. But humanities computing has often excelled the late Middle Ages, and has merely been upgraded
more in recent years in practical work than in theoretical technologically. An amazing number of concordances
breakthroughs. Although the statistical methods of the have been published in the last 25 years, using at first the
social sciences may have lured some pioneering scholars output from the primitive line printers of the 1960s and
into humanistic computing, fairly few reports have of- now capitalizing on the advantages of desktop publishing
fered convincing statistical evidence for reattributing dis- (q.v.). As soon as it became known that computers could
puted authorship or redating a writer’s work. sort verbal data, hundreds of these alphabetized keys to
literature were published, most of them as books, some
Applications of Networking, Holography, as microfiche. Unlike the hand-compiled concordances of
previous centuries, machine-generated ones could in-
and Multimedia As computers become more ac-
clude every word of the base text and supply all the lines
cepted as commonplace tools for academic research,
in which they appeared.
three technological advances—networking, holography,
and multimedia—provided special impetus to the nonver-
bal disciplines. For art historians, a major problem has Textual Analysis and Concordances The tradi-
been simply comparing large agglomerations of objects. tional limits of this heretofore laborious industry could be
With paintings, sculpture, and all the other subjects of expanded in several imaginative ways: concordances
their study scattered around the world in a multitude of were compiled for categories of literature, such as the
public and private collections, these scholars must rely Elizabethan sonnets, or for prose works previously con-
on published reproductions representing only a limited sidered too long, such as Moby Dick, which has been
selection of an artist’s work or of a genre. The growth of honored with no less than three of these reference works.
communications like the Museum Computer Network has Complexities were introduced like indicating for Paradise
overcome the inadequate budgets of art and science mu- Lost the speaker and location for each concorded word.
seums to create a scholarly link among all the extant Unique among these efforts is the monumental work of
collections in the world. A second technology, hologra- Father Roberto Busa and his Jesuit associates, who have
phy, may in the future allow any museum to possess produced, in many volumes, a multidimensional concor-
satisfactory simulacra of the art objects its visitors wish dance to the works of St. Thomas Aquinas and to all the
to view. In theory, any museum could be a museum of all authors who are cited in his writing.
the world’s art, not just the flower of industrial nations Textual indexes and concordances are no longer ex-
but also creativity from non-industrial parts of the world. otic things. Preparing a word count, long a standard exer-
The Canadian Heritage Information Network, a con- cise of beginners who study a programming language, is
sortium of 11 museums and research centers, suggests now also possible with software packages that require no
some of what such a network could provide globally. Its knowledge of programming. These packages can generate
listing of about 12 million objects is accessible to over 400 not only a count of each word but also an index giving the
museums and similar institutions in 22 countries and, of location and even a concordance that displays the sur-
course, to all parts of Canada. In addition to its databases, rounding text. They can also be used to inquire into the
the network provides collections management, electronic frequency with which a word is distributed in the several
mail, specialized training, and advice on information stan- parts of a text, the collocations of a given word and other
dards and new technology. With the participation of spe- words of interest, and other patterns of clustering or
cialists in the arts as well as the sciences, a constantly density. These functions, which once required mainframe
revised data dictionary defines data fields and supports programming, can now be done on a desktop computer
HUMANITIES APPLICATIONS 625
by someone with comparatively little computer experi- domain texts available electronically for the mere cost of
ence. duplication.
Text retrieval using an index or concordance program
can be either a simple matter of qualitative readings of the Specialized Databases Text corpora are databases
text (e.g. an author’s use of color words and the objects designed specifically for linguistic research. Generally
connected with them) or a highly complex matter of quan- modeling themselves after the one constructed for edited
titative analysis (e.g. statistical patterns of marked parts American English by W. Francis Nelson and Henry Kucera
of speech). Apart from stylistics, the retrieval of indexed of Brown University, a goodly number of these represent
texts makes it possible to do content analyses of how various categories of writing (sports writing, technical
authors treat political, social, religious, and philosophical writing, poetry, mystery novels, etc.) in samples propor-
ideas. In the humanities, of course, vocabularies of a given tionate to their quantity as published. Some of these
subject are rarely standardized, so the researcher in con- corpora are now being manually tagged with their parts
cepts must learn to use word groups (e.g. not just “liberty,” of speech, to provide a more definitive baseline for mea-
but also “freedom” and “independence” and perhaps even suring other samples. One unusual computer database of
“license” and “autonomy”). 20 million English words from different regions, nationali-
Around the world, major initiatives have been under- ties, and media, is the Cobuild Dictionary, jointly pro-
taken to employ the computer to compile various national duced by the University of Birmingham and Collins, the
dictionaries. Sometimes functioning as a governmental first dictionary based on an actual field study of English
effort to enhance the stature of specific languages (and phrases and idioms.
perhaps indirectly the economic competitiveness of its The Thesaurus Linguae Graecae (TLG), also designed
speakers), many of these dictionaries have appeared in from the outset as a database for computer investigation,
both conventional print and machine-readable formats. is avast undertaking directed by Theodore Brunner at the
So neatly do the data-handling and photocomposition ca- University of California, Irvine. Encompassing the entire
pabilities of computers mesh with the needs of lexicogra- body of Greek writing from the earliest days to about A.D.
phers that no dictionary today is produced by any other 600, when the dominance of this language in the Mediter-
means. Abbreviated dictionaries, spelling lists, and ranean Basin began to wane, this project provides access
traveller’s translation aids are casually bundled into hand- to not only a major literary resource but to the means of
held devices that are almost as cheap as pocket calcula- studying the economic, social, and cultural history of the
tors. The availability of the historic Oxford English Dictio- civilized world at that time. Requiring much larger fund-
nary on CD-ROM, providing access to the history of ing and management than are customary for humanities
English with examples, obviously holds great potential for projects, the TLG has become a model for a parallel
literary and linguistic scholarship. initiative in Latin undertaken by the Packard Humanities
The creation of textual databases for research, Foundation in Los Altos, California.
originally a byproduct of concordance projects, has begun Another humanistic application, emerging more re-
to develop as an independent operation. At first, efforts cently as the computer has been recognized as an on-line
were made (as at the Oxford Text Archive of Oxford Uni- storage device, has been the compilation of critical
versity) to create a scholarly collection of computer-read- databases. Among literary efforts, the Dante Project, dis-
able texts that had been produced for other purposes. tinguished by having been conceived from the beginning
Researchers at Rutgers and Georgetown Universities as- as an on-line resource, has updated a classic scholarly
sembled bibliographic information regarding computer- tool, the variorum edition, in which all significant com-
readable texts and text projects. An initiative at Rutgers mentary on a single work (in this case the Divine Comedy)
and Princeton led to the formation of the Center for Elec- is appended to the individual passages it pertains to. The
tronic Texts in the Humanities, to provide leadership and desirability of developing such a tool in an interactive
information on the collection and dissemination of texts. mode presages a number of similar efforts for other liter-
The huge verbal database—1,600 volumes spanning a cen- ary monuments.
tury and a half—created to support the French national Textual collation, once limited to the optical and
dictionary, the Tresor de la langue frangais, has been con- mechanical comparisons of the Hinman Collating Ma-
verted into a library available in Nancy and Chicago. chine for comparing the quartos and folios of Shakes-
Since almost all the computer-encoded material up peare, is now commonly done by computer. Once refer-
until now has been intended for another purpose— ence marks are set for lines or verse, the variant editions
namely, the production of a printed work according to the (even multiple variants) of a text are compared to a base
proprietary style rules of its publisher—little care was version, the “copy text.” The editor uses the computer to
taken to follow any standard encoding. To remedy this compare the versions, line by line, make a selection, com-
defect in future projects, the Text Encoding Initiative (TEI) ment when necessary, and then output everything (final
is developing and promulgating a uniform method of pre- text, variants and annotative apparatus) to a laser printer
senting and marking the contents of text materials. If this or typesetting device.
coding is universally adopted, the interchange of texts At present, several projects under development at
among many professional users will be greatly facilitated. major universities are capitalizing on the potential to
At the same time, the needs of the undergraduate student incorporate not only words but pictures and sound into
and general reader are being addressed by initiatives databases that might reveal aspects of the humanities
such as the Gutenberg Project, designed to make public that even the developers were not themselves aware of.
626 HYBRID COMPUTERS
expensive than an equivalent digital computer. In certain As shown in Fig. 1., the hybrid simulation laboratory
real-time applications demanding unusually high fre- is usually composed of a master stored program digital
quency performance, no single digital computer is capa- computer to which a variety of local and/or remote termi-
ble of the task. Also, standard multiprocessor systems nals are interfaced. The digital computer may include a
supported by appropriate software for real-time simulta- multiplicity of secondary digital processors, such as mini-
neous computation are still not available. Multiple CPU computers (qg.v.) or array processors to handle specific
systems beyond the complexity of two or three proces- tasks. A data and control interface is required for commu-
sors require a level of overhead for synchronization that nication between the digital computer and one or more
obviates the speed advantage. analog processors. This includes a multiplexed analog-to-
A new generation of automatic hybrid computing digital converter (ADC) and a set of digital-to-analog con-
multiprocessor systems called SIMSTAR was introduced verters (DAC). In many systems, the DACs are actually
in 1983 by Electronic Associates, Inc. of West Long digital-to-analog multiplying (DAM) devices that obtain
Branch, New Jersey. Over 40 of these multiprocessors are the analog product of an analog signal and a rapidly
presently in use throughout the world. Of course, during updated digital coefficient.
the same time period, there has been an explosion of The control] interface provides both communication
high-speed, low-cost digital processors that have en- of logical data and facilities for real-time synchronization
croached upon the previous hybrid computer application of the digital subsystems and the analog processors. In
areas. However, there are still a variety of high-frequency, some more sophisticated systems, logical control signals
real-time applications that can be handled only by hybrid from the analog processors can control the sequencing of
methods. data transfer through the interface directly to/from the
Hybrid computing methodology spans a continuum main memory, as well as independent control of special-
ranging from all-digital numerical analysis to all-analog ized digital processors such as those used for function
continuous electrical solution. Since all-digital and all-an- generation.
alog solution methodologies are covered in other articles, Analog processors, as used in SIMSTAR hybrid sys-
we will discuss only the techniques and the systems that tems, are automatically loaded from the digital computer.
have been developed to exploit the combined computa- Older analog computers required manual preparation of
tion schemes. a patchpanel, which was then inserted into the machine.
All control and monitoring functions available to the ana-
Architecture The modern hybrid computer is a digi- log computer user are now digitally controlled through a
tally-based system in which the users interact primarily terminal in the SIMSTAR system.
with the digital computer through alphanumeric and Finally, as shown in Fig. 1, this complex of processors
graphic terminals. All programs and data for the complete can be connected in real time to various test facilities and
hybrid programs are maintained as mass memory files to analog graphic devices through a trunking system. The
provide automatic program set-up and operation. The trunking system, in its simplest form, may be a set of
analog computer(s) serve as high-speed parallel comput- cables, while in multi-purpose laboratories, it is a pro-
ing devices under direct control of the master digital grammable interconnection system. Graphic devices in-
program. This is in contrast to earlier hybrid laboratories, clude CRTs, strip-chart recorders, and analog plotters.
where the digital computer was often used only as an Test facilities often require both parallel analog/logic sig-
adjunct to the analog computers to perform special com- nals and digital bus signals. Using the latest multipro-
putations. grammed operating systems, it is feasible to provide non-
REMOTE
TERMINAL
DATA BUS
ANALOG
PROCESSOR
| REAL-TIME
USER
TEST
TERMINAL
STORED FACILITIES
PROGRAM
OIGITAL
COMPUTER DATA
AND
CONTROL ANALOG
INTERFACE PROCESSOR
SYSTEM
TRUNKING
SLAVED CRT'S
DIGITAL &
PROCESSORS RECORDERS
FIG. 2. Grumman Aerospace Corporation of Bethpage, NY EAI HYSHARE 2000 computer for
dynamic systems simulation.
real-time user operation on terminals, while real-time sim- differential output amplifiers, a practical large-scale ma-
ulation studies are running on the test facilities. trix switch was constructed by EAI for the SIMSTAR
Fig. 2 shows a typical manual patch hybrid computer system.
of the 1970s, an EAI Hyshare 2000 installed at Grumman A second dimension to the implementation of the
Aerospace. This system was used for many studies, SIMSTAR automatic analog processor was to replace the
including the design of the X-29 Forward Swept-Wing patched logic and switching components of the earlier
fighter. analog/hybrid computer capability. Programmable logic
Electronic Associates, Inc., (EAI) of West Long arrays (PLAs) and logic signal matrix capability in the
Branch, N.J. is the last manufacturer of general-purpose form of high-speed memory elements were combined
hybrid computing systems as exemplified by the with logic storage elements (flip-flops and registers) in
SIMSTAR installations. In the past, other manufacturers the SIMSTAR hybrid system to meet this requirement.
were Applied Dynamics International (ADI) and Dornier This approach, set up from a digital computer, provides
in Germany. In addition, a number of small educational speeds comparable to wired components in earlier analog
analog computers are built by small companies like computers.
Comdyna, Inc., but these are seldom used in hybrid The architecture of the SIMSTAR processor is shown
configurations. in Fig. 3. The high-speed microprocessor controller acts
as a format converter between CPU floating-point data
The SIMSTAR Multiprocessor Since the early in memory and the multiplicity of fixed-point devices in
1960s, there have been studies and proposals to replace the various processing units. This interface translation
the manual patchpanel of analog computers with switch- also includes automatic optimization for the setup of
ing matrices. However, the many thousands of switching each analog computing element to insure maximum
contacts needed, coupled with the lack of an appropriate accuracy. The 16-bit control bus (g.v.) allows the micro-
switching element, had made the implementation of such processor to set up a block transfer between the main
a computer rather impractical except for small prototype memory and the various storage elements of the ana-
systems. A high-level compiler has always been consid- log/logic processor. The 30-bit counters/interval timers
ered an essential element of such an automatic system, have a built-in clock and buffer register so that a mul-
but this did not become available until the late 1970s. tiplicity of precisely timed sequences can be established.
Development of solid-state, high-accuracy analog Communication from the analog computing blocks to
switching elements in the late 1970s made the im- the logic subsystem is through a set of threshold com-
plementation of a matrix for analog processors an parators, while logic to analog switching control goes
economic and technical reality. These switching ele- directly from the outputs of the PLAs to the electronic
ments, using Complementary Metal Oxide Semiconduc- switches and mode control gating of the analog com-
tor (CMOS) technology, have been developed both as puting blocks.
multiplexers for analog-to-digital converters and as ma- A portion of the SIMSTAR Hybrid System installed at
trix elements for solid-state PBX systems. Combined in Martin Marietta Aerospace in Orlando, Florida is shown in
a three-stage matrix architecture with voltage following Fig. 4. This facility, which has six SIMSTAR PSP’s, is capa-
HYBRID COMPUTERS 629
TO DIGITAL PROCESSOR
uPROCESSOR
CONTROLLER
J} ~=—sREGISTERS
PROGRAMMABLE ANALOG
LOGIC ANALOG
COMPARATORS SIGNAL LOGIC COMPUTING => BLOCK
CONNECTION
MATRIX ARRAYS BLOCKS
MATRIX
ble of simultaneously performing three real-time, hard- 1. Time-critical CPU operation for hybrid closed-
ware-in-the-loop engineering simulations. loop operation.
2. Real-time data storage/retrieval for graphic dis-
Operating Systems Hybrid computation places play, forcing functions, iterative computation,
unique demands upon the digital computer operating curve fitting, etc.
system for both communication and sequence control. A 3. Non-real-time analog processor automatic itera-
variety of tasks must be handled with different timing tive control.
priorities: 4. Hybrid system interactive operation.
NA
FIG. 4. SIMSTAR facility at Martin Marietta Aerospace. (Courtesy of Martin Marietta).
630 HYBRID COMPUTERS
5. Loading and calibration of the analog processor. functions, however, special handling of the operating sys-
6. Diagnostic testing of the analog processor. tem traps is required. When the communication sequence
can be preprogrammed prior to real-time operation, time-
Of all these tasks, only the first demands true real-time critical operating system response is often not needed.
operation of the central processing/arithmetic units. In the SIMSTAR system, specialized processors (e.g.
Time-critical operation, which means that the CPU must function generators) and the SIMSTATION run-time dis-
perform a specified task within a given frame time, can be play also operate on a shared memory basis to avoid
defined on the basis of arepetitive frame time or arandom operating system overhead. Of course, the hybrid operat-
event basis. For dedicated single-task operation, the re- ing system must support the setup of these devices while
petitive frame time operation and appropriate multiframe run-time operation is performed directly by the user pro-
sequencing can be programmed by polling a real-time gram. The operating system is used to process any fail-
control signal. Interrupts (g.v.) could also be used, but ures. The remaining tasks require the operating system to
this is wasteful simply for synchronizing to real time. provide rather sophisticated data/logical communication
Most real-time data communication tasks, such as with the analog processor, but there are no special prior-
data storage/retrieval, can be preprogrammed for direct ity processing demands. For iterative control of the ana-
memory transfer during the analog processor run. log processor, the digital computer need only read the
For random events, as typified by exception condi- value of an objective function at the end of a run, charge
tions such as overflow or block transfer termination, in- appropriate parameters on the analog console, and initi-
terrupt-oriented operation is most efficient. In some ate another run. This type of operation is often nested in
cases, these interrupts do not need to be handled on a a real-time simulation to represent constrained motion or
time-critical basis, and the usual task activation proce- boundary conditions.
dure will suffice. In other situations, there is a maximum Finally, the digital processor must have full access to
interrupt response time requirement, and “directly con- all control and monitoring features of the parallel proces-
nected” vectored interrupts are required. In this case, the sor for user interactive operation, program loading, cali-
only operating system overhead permitted is for saving bration, and automatic diagnostics. This is most critical
and restoring of register stacks. for the SIMSTAR stored program hybrid computer since
The most demanding requirement is for time-critical the previous parallel access of the patchpanel is not avail-
processing in a multiprogramming (g.v.) environment. able.
However, this type of operation provides for the most
efficient system utilization and user access/convenience. Programming Languages Hybrid computers
Both repetitive frame time and random solution events have always been recognized as the fastest computation
demand directly connected interrupts. One of the compli- tool for solution of sets of differential equations. Prior to
cations for the time-critical processing of directly con- SIMSTAR, the manual programming procedures were
nected interrupts is the relative priority of I/O interrupts, much more difficult and specialized than corresponding
which usually have higher priority in operating systems procedures for digital computer programming. Using the
than the user interrupt levels. For buffered I/O devices STARTRAN programming environment with SIMSTAR, the
operating on a record basis, CPU processing is needed tasks of preparation and operation are very comparable
only between records and is not a time-critical function. to the use of real-time simulation languages on a digital
Therefore, the directly connected hybrid interrupts are system.
given a higher priority than I/O interrupts. Through the 1970s and early 1980s, Electronic Asso-
There are two basic methods for implementing an- ciates adapted the earlier APSE (Automatic Programming
alog/digital interprocessor communication. In a single- and Scaling of Equations) compiler for analog computers
user hybrid environment, the complete set of I/O to develop the present Parallel Translator (PTRAN). This
instructions for the analog processor can be executed work, which was started in England at the British Aircraft
directly in the user’s program since there are no ques- Company, was partially funded by the U. S. government.
tions about user program integrity. The problem with The source language is based upon ACSL (Advanced Con-
most digital processors and operating systems is that, tinuous Simulation Language), developed by Mitchell and
in this mode of communication, the operating system Gauthier Associates.
must allow the user to execute the entire set of I/O Programming the Digital Arithmetic Processor in
instructions. This can destroy other users’ programs if SIMSTAR is also done in the ACSL language, using a mod-
not the operating system itself. ified version of the ACSL compiler that supports real-time,
Implementation of hybrid computation in a multipro- interrupt-driven operation. With appropriate targeting
gramming environment requires that the basic hybrid statements and extended mathematical and logic opera-
communication be performed by resident routines as a tors, complete flexibility for a non-homogeneous multi-
part of the operating system. Users can then request processor solution is provided
allocation of resources and the operating system can All of these program elements are brought together
maintain integrity. A large portion of the analog processor under a sophisticated interactive executive called
set-up and control functions are not time-critical—the SIMRUN, which has access to the complete SIMSTAR sys-
extra time required to perform these functions through tem. Working with the generated programs, SIMRUN can
the operating system is not significant. For time-critical provide a flexible graphic display of solution results.
HYBRID COMPUTERS 631
Computing Methodology Most studies to which liquid-fueled rocket engines for space vehicles, such as
hybrid computers are applied include two fundamental the space shuttle and heavy launch vehicles. Faithful
elements: first, a mathematical model or analysis require- models of the engine dynamics in real time requires equiv-
ment and, second, an experimental procedure. For rela- alent computing speeds that exceed 300 MIPS. This is due
tively simple problems, this leads to a natural problem to the flow equations, which have time constants as low
split where the analog processor handles the mathemati- as 200 microseconds.
cal analysis and the stored program digital processor Hybrid computers were also used extensively for the
implements the experiment. The programming, setup, development of the space shuttle subsystems such as
and check-out of the analog processor are also performed hydraulics and flight control. Future development of the
by the digital computer. aerospace plane will also use hybrid simulation methods.
As seen from the digital computer, the analog proces- As shown in Fig. 5, hybrid computation has been used
sor is a very high speed processor to handle those parts in nearly all fields of engineering design and evaluation.
of a task that would consume an inordinate amount of There are hundreds of older active hybrid computing
CPU processing. But, as seen from the analog real-time laboratories throughout the world. SIMSTAR is presently
program, the digital processor looks like a set of real-time in use in over 25 installations in many different fields,
functions that are not available on the analog processor ranging from space vehicles and heavy machinery to ed-
or for which there are insufficient analog components. ucation. The powerful digital processors in many of these
Another way of using the hybrid scheme is to split the installations permit simulation of much more complex,
problem so that the lowest frequency (longest time con- high-performance systems than possible with earlier hy-
stant) components of a model are solved digitally while brid computers.
the highest frequency (stiff equations) are solved using
continuous parallel analog methods. Conclusions Combined digital and analog computing
methods have proven to be very effective for a range of
Applications Hybrid computers are used by an engi- engineering studies over the last 30 years. The newest
neer for the analysis of dynamic systems, much as an automatic hybrid multiprocessing systems have proven
oscilloscope or spectrum analyzer and a breadboard cir- to follow the tradition of being the fastest available tool
cuit implementation may be used. For system design and for real-time simulation of complex systems.
evaluation, an engineer needs to express the mathemati- As more powerful and economical digital processors
cal laws governing the system operation, test a set of become available, the hybrid computer will continue to-
design parameters and logical sequences, and observe ward more digital computation and smaller analog pro-
the results. This kind of symbiotic relationship between cessors will be needed. If new methods are developed for
the creative mind of the engineer and the realization of a employing multiple digital processors for these applica-
physical system as embodied in the computer model is tions, it is likely that analog processors will no longer be
very different from the structured business information needed by the year 2000. Of course, if the application
processing or statistical analysis functions of a typical requirements continue to be more demanding and if new,
data processing system. faster, and more accurate analog ICs are developed, we
A major class of application for hybrid computers may see a whole new hybrid product developed over the
has been and continues to be the design of controllable next 10 years.
Aerospace Electrical/Nuclear
Real-time missile system design/evaluation Nuclear power plant
Space vehicle stabilization ‘ Three-phase inverters/rectifiers
Space vehicle human factors analysis Electric car power conversion/storage
Helicopter dynamics Transmission line overvoltage transients
Shuttle hydraulics system design Communications system design
Shuttle mission evaluation
High-performance fighter aircraft human Automotive
factors Directional control/stability
Ride quality analysis
Rotating Machinery Microprocessor engine control
Turbine engine control Real-time off-highway vehicle simulator
Centrifugal compressor dynamics/control Crash data signal processing
Synchronous motor control Military tank human factor studies
Chemical Biomedical
Distillation column controller design Biomechanical studies for prosthetic design
Tubular reactor control/optimization Cardiovascular system simulation
Heat exchange analysis/control Pulmonary system modeling
References 5 cards and sometimes larger logical nodes are used that
match concepts (e.g. an article in this encyclopedia might
1974. Bennett, A. W. Introduction to Computer Simulation. New
be asingle node or possibly several related nodes). Other
York: West Publishing Co.
1977. Landauer, J. P. “Stored Program Hybrid Processing System,”
variations across systems deal with whether links should
Simulation 77, 127-191. have multiple types (indicating physical destinations,
1980. Holmes, W. M. and Hall, K. L. “MICOM’s Advanced Simula- such as a graphic or videodisc image, or logical destina-
tion Center and Digital Computer Boundness,” Symposium on tions, such as a map, biography, or book reference) and
Very High-Speed Computing Technology (September), I.3-1.18. how they should be shown on the screen (strategies
1988. Landauer, J. P. “Real-Time Simulation of the Space Shuttle include a standard link marker, such as a box, highlighted
Main Engine on the SIMSTAR Multiprocessor.” Long Branch, text, or author-defined graphic symbols).
NJ: Electronic Associates. As the field matures, researchers are more accurately
1989. SIMSTAR User Guide & Programming Manual, Long Branch,
recognizing which features support fact finding versus
NJ: Electronic Associates Publ. # 827.0123-1, March.
browsing in differing genres of writing. Hypertext is prov-
J. PAUL LANDAUER ing to be most effective when there is a large body of
information organized into numerous fragments, the frag-
ments relate to each other, and the user needs only a
small fraction of the information at any time.
HYPERTEXT Potential applications include:
For articles on related subjects see CD-ROM; DATABASE e Product catalogs and advertisements.
MANAGEMENT SYSTEM; INFORMATION RETRIEVAL; KNOWLEDGE e Organizational charts and policy manuals.
REPRESENTATION; and VIDEODISC. e Annual reports and orientation guides.
e Resumés and biographies.
Introduction Just as books have a linear logical e Contracts and wills.
structure (sequential chapters or alphabetically se- e Newsletters and news magazines.
quenced articles as in this encyclopedia) represented in
a physical structure (font size, margins, pages, binding,
etc.), hypertexts have network structures. There may be TABLE 1. Implementations
a logical structure of interrelated ideas (as in this encyclo-
pedia), high-level notions plus low-level details, concepts Commercial systems on personal computers:
with examples, expansions of knowledge frameworks,
tree-like procedures, and even sequentially related com- e Hypercard
ponents. The physical structures of hypertext include e Hyperties
nodes containing text, graphics, or videodisc images, and ¢ Guide
links to connect the nodes. Other physical hypertext
attributes include screen formats (margins, spacing, justi- Commercial systems on larger computers:
fication, fonts, etc.) and link markers with the accompany-
ing mechanism for following them (the look and feel of ¢ Knowledge Management System (KMS)
using the hypertext). ¢ NoteCards
Hypertext is a new way of writing and reading that e Augment
simultaneously offers opportunities and dangers. By re-
placing the largely linear format of printed materials with Research systems:
a computer-supported branching format, hypertext
enables authors to structure information in novel ways. ¢ XANADU
Effectively designed hypertexts can help readers rapidly ¢ Intermedia
locate specific facts, encourage felicitous browsing, read e Neptune
at multiple levels of detail, follow diagnostic, office, or e Writing Environment (WE)
cooking procedures, explore travel destinations, and pur-
sue multiple policy scenarios. However, the same branch- Special purpose applications:
ing format can lead to disorientation, lack of closure,
unpredictable behavior, and additional perceptual/cogni- e Navitext
tive/motor loads for the reader. The designers of e Superbook
hypertext software and the authors of hypertext data- ¢ NLM medical project
bases are developing appropriate strategies for creating
new works or converting existing ones to fit the hypertext Personal information managers:
medium.
Hypertext nodes can contain a single word or name, ¢ SearchExpress
a paragraph, an article with graphics, a videodisc image ¢ askSam
or segment, or a full book. The granularity of nodes varies ¢ IZE
depending on the system. Sometimes, nodes are used to ¢ Lotus Agenda
match physical structures, such as single screens or 3 X A arene ere se OR eg
HYPERTEXT 633
eee
for browsing, support for authoring, and system design annotations among multiple users and exportation
aspects. of portions of the database are useful features.
Links (typed vs. single type)—The essence of
hypertext is the link to jump to a new node. Some
User Interface for Browsing The key determi- systems pursue simplicity and have only one type
nants of success of a hypertext system and database are of link, while others emphasize the flexibility of
the user interface design and the browsing facility. Brows- having multiple link types to jump to a variety of
ing issues include: logical or physical destinations. Links may be repre-
sented by a standard icon, by highlighting text or
Node contents (e.g. text, graphics, video)—Hyper- graphic regions, or by user-defined buttons.
media designers often pursue the most advanced Selection mechanism (e.g. touch, mouse, keys)—While
media, such as video images, graphic animation,
touchscreens are the most rapid pointing device,
high fidelity stereo, or even environmental expe- the mouse (q.v.) is more widely available. Still more
riences, but many important projects can be ac- widely available are arrow keys, which can be quite
complished with simple monochrome textual rapid if the cursor can be made to jump among the
displays. links. Trackballs, tablets, and an on-screen stylus
Formatting capabilities—Flexibility in formatting can are also applicable.
contribute to more appealing and_ effective Structure of graph—Some hypertext systems limit in-
hypertext projects. Control over fonts, font sizes, formation structures to trees, while others encour-
boldface, underscore, italic, inverse, blinking, and age largely linear patterns with some links, but most
color is useful. Margin settings, justification, inden- hypertext systems allow arbitrary linking. While
tation, centering, and screen layout are also unlimited freedom is appreciated by users, there
important influences. Increasingly, hypertext de- can be a great benefit in restrictions that enhance
signers recognize the need to deal with full-screen modularity.
layouts, just as book or magazine designers con- Multiple tables of contents—An overview is often very
sider the physical limits of their media. Dynamic helpful in conveying the structure and scope of the
attributes such as scrolling, text replacement, pop- contents of a hypertext. Alphabetic lists, high-level
over windows, outlining strategies, and user con- overviews, conceptual indices, and detailed indices
trols (page turning or scroll bars) are very closely are available in many systems.
studied. Graphic vs. tabular overviews—Node-link diagrams
Screen resolution, size, and color—The physical can be used as a graphic overview but the appeal of
display devices are getting greater attention be- this approach fades as the size grows, since it is
cause designers are aware of the potential for difficult to deal with a large diagram. Tabular textual
substantial improvement over current devices. overviews in the form of tables of contents are an
Higher resolution displays or high-quality fonts effective alternative in many situations.
can improve readability, reduce eyestrain, and Indexing vs. keyword search—Instead of an author-
lessen fatigue. Larger displays (more pixels) can constructed table of contents, some systems pro-
reduce the need for distracting scrolling, page vide a lengthy, automatically generated index of
turning, and window manipulation. (See WINDOW terms (except for common words that are filtered
ENVIRONMENTS. ) out). Other systems enable users to type keywords
Window size and management—Since hypertext sys- and receive a list of nodes containing those key-
tems are predicated on traversal of multiple nodes, words.
it is natural that multiple window design issues are Path history and bookmarks—To help keep track of
frequently considered. Single window strategies are where the user has been, some systems provide
appreciated for their simplicity, but with larger dis- a history of the nodes visited or enable the user
plays the allure of multiple window strategies is to mark nodes so that they can be relocated easily.
great. While overlapped windows are visually at-
tractive, it may turn out that tiled strategies with Support for Authoring Authoring tools can speed
system-or user-controlled replacement are more ef- development and improve quality. Authors should be able
fective. to import, edit, export, and print either a single article, a
Response time and display rate—One of the pleasures subset of articles, or the entire database. Authoring pro-
of hypertext is the ability to explore and return cesses should be rapid, reliable, flexible, extendible, and
rapidly to previous nodes. Therefore, rapid re- secure. Maintenance of multiple versions is a benefit, as
sponse times (a few seconds for most nodes) and is implementation in a multiple-user, distributed network
high display rates (9,600 baud or higher) that fill environment that supports collaboration.
a screen in less than a second are especially
appreciated. System Design Aspects Although the browser
Annotation and exportation—Many hypertext users and author facilities are primary in the mind of most
are eager to record their reactions to retrieved people who consider hypertext, the underlying system
information or to export that information for print- structure must be effective. The data management system
ing or use in other electronic environments. Sharing must support very large information spaces with rapid
HYPERTEXT 635
BEN SHNEIDERMAN
i.
st te
PTT 5
7 te: dol nn oe
‘ pe Lies Y _ an « hm ~ E- , s@ ;
= ms ee : a ips
eae te i eate-) apbess ‘ \ it tet ripportgat &
dango: % a R idee Ce ; fe ia : harvia ge tieys at.bi/rregie, while!ach
Saat ine! wer : is (ie, ee , We te!
epg, | aayee e PE nd: nia it ae koa achitvarcyts
Dailies, “ty aite < rr ben tz apg mlated Hege
| Tress yn oe f i ane a ie ener heteaats
a en aN ae Mh a ‘
7 poet Rey = of ¥ = v
Oy Re A i ions ag a »
ati
y
a
dnl t
a8 j : eh AL | pom myinea ie sane
‘rms pion ’ * i
at, ow rent ox omelet
ox ee aye Ve eee Lin Eval, tae virile
Be =
cts im : 3 , Deng city nyaeeiaae
a an Nate
7 yee > %
e
, Ly,Bearinn : my
andes os " | y
i
+ alee Hoty . ‘nm
iw lar. i) a Dey Cee Ae
Pe vO DP St ja ‘Nevisvt
ae “yyytt fh * j a eo ns 1 serch ath
@ ion ty "> Ay ey a8
oni ett Samer af enntents, om
oN Sie Pees pre i ~ « _ ® wenn sen Cal 5
Rig 2 pas 7 ' '
in + operas dr
:
5
7
~
~~
ey
i
Ay
Ane
ve
Rife,
a ie
_
ee
a
tee,
a Mf,
,
ae!
i mf
‘ =
=
’
Ss.
| LJ ey
je2 08s
4 Cee
tree wale: tn
4 Seo Sak
y a ro : = . BP ree ond
: wy : wl 4 » } ne aye
petra ge Shiv raes
- . ery —— 2 d
(4 ‘ y
4 <— ue, 7 ” f, a!
. renee EN ead that bnoa
. : . ey st
ti
’ Pf
ee is Suathoring Ait n
pt 4 ry > ve as 7
i i dh! aod lesiph(iwe qoad
; SO ehprost ast pty
eet ap tail, ~Oe Dee axatig
Veco
peed 2 rag, yell
Se bicoiriteli et: =
pak
isbss eA ATI, gm tag e
} ‘ > witcaaarsit Cant faaienia} Shh
7 ia =
eM A
systent Ditegn
5 cer
srr warhor keer
ia who, orvias +
>
} i # 7
I/O BUS. See BUS. trol, add-to-storage decimal arithmetic, condition testing,
and branching operations. Indirect addressing (q.v.)
could be accomplished using any of three standard index
registers (q.v.).
I/O CHANNEL. See cuanne. The 1401 (Fig. 1) had an J/O interface that permitted
only one I/O operation at a time, regardless of the number
of devices on-line. I/O operations interlocked the central
processor, although some overlap of processing and I/O
operation could be gained by the addition of special
IBM 1400 SERIES features.
For articles on related subjects see DIGITAL COMPUTERS: Although a wide variety of peripheral devices was
HisTORY; and GENERATIONS, COMPUTER. available for the 1400 series, including MICR and optical
character readers, paper-tape readers, remote transmis-
The IBM 1400 series data processing systems, intro- sion devices, etc., the principal devices in use were:
duced in 1959, had a dramatic impact on the business
world. The first of the 1400 series machines, the 1401, 1402 Card Reader/Punch—This unit was capable of
rapidly made the older vacuum tube and electromechan- reading 800 cards per minute (cpm) and punching
ical unit record systems obsolete. The 1400 system en- 250 cpm.
joyed widespread use in data processing applications 1403 Chain Printer—This device had a maximum rated
from 1959 until “third-generation” equipment became speed of 1100 alphanumeric lines per minute (Ipm),
available in the mid-1960s. was reliable and comparatively quiet, and had ex-
The 1400 line consisted of five basic computers: 1401, ~ cellent print quality.
1440, 1460, 1410, and 7010. The basic mainframe, the 1401, 729 Magnetic Tape Units—Seven-track units with
was a second-generation, fully-transistorized machine speeds ranging from 15,000 to 62,000 characters per
with a magnetic core memory having original capacity second (cps), depending upon the model and the
options of 1.4K, 2K, 4K, 8K, 12K, and 16K characters. recording density, which could be 200, 556, or 800
Internally, data was represented in six-bit BCD (g.v.) code, characters per inch (cpi).
with additional parity check and word mark bits. The 7330 Magnetic Tape Units—These were relatively slow
memory cycle was 11.5 ys per character access. and inexpensive units (7,200 cps at 200 cpi density).
Instruction formats were variable from one to eight 1405 Disk Storage Units—These were fixed-disk units
characters, and data fields and records could be variable with 50,000 or 100,000 directly addressable 200-
length within the constraints of peripheral device charac- character records. Average access time was 600 ms.
teristics and memory size. Instruction and data fields 1311 Disk Storage Units—These replaced the 1405-type
were defined by the presence of a word-mark bit set units with modular disk-pack storage. Each pack
beneath the leftmost character of the instruction or data stored 2 million characters in the form of 20,000
field. 100-character records. Average access time was 250
The instruction format consisted of a single charac- ms per record.
ter op-code, two optional three-character addresses, and
an optional single character “d-modifier.” The instruction Several languages were available for the 1401. A basic
set provided for internal data transfer, input/output con- assembly language, SPS (Symbolic Programming System),
637
638 IBM SYSTEM 360/370/390
permitted the use of mnemonic operation codes, sym- set and, like the 1410, had a 1401 compatibility feature.
bolic addresses, and indirect addressing. A significantly The 7010 accessed two characters in parallel on each
enhanced version of SPS, called “Autocoder”—analogous 2.4 ys cycle. Four I/O channels could be installed. Mem-
to basic assembly language for third-generation comput- ory protection, an interval timer, and a program-level
ers—became the predominantly used language. Autoco- interrupt feature were available. All 1400 compatible I/O
der used SPS constructs and employed macroinstructions devices could be used on the 7010. Comparatively few of
for initiating I/O operations. Fortran and Cobol compilers these systems were installed, as the system was intro-
existed, but were not widely used because of either exces- duced shortly before the System 360 was announced.
sive compilation time or limited memory. Various Report There were approximately 14,000 of the 1401 systems
Program Generator (RPG) packages were available, as and over 1,000 of the 1410 systems installed. A typical
was a complete set of basic utility packages. Operating 1401 system rented for $8,000 per month and the range
systems were not used with the 1401, 1440, or 1460, but was from $4,000 to $12,000 per month. A typical 1410
many users developed monitors to permit a rudimentary system rented for $11,000 per month and the range was
form of job control. from $8,000 to $18,000 per month.
The 1440 system was initially a disk-oriented 1401 The high-speed card reading and tape and printing
with slower peripherals and lower cost. Internally, the ability of the 1401 systems ideally suited them for use as
1440 was, for all practical purposes, identical to the 1401 peripheral I/O systems to IBM 7000 series computers.
except that the memory cycle was 11.1 jus as compared to
11.5 for the 1401, and the printer and reader-punch buff- G. DAVID BAER
ers were relocatable in memory. The 1460 was also basi-
cally a 1401 except that it had a 6 ws memory expandable
to a 32K capacity.
The 1410 systems, while having the same basic IBM SYSTEM 360/370/390
architecture as the 1401, were significantly more power- For articles on related subjects see DiGrtAL COMPUTERS:
ful. Memory sizes were 10K, 20K, 40K, 60K, or 80K charac- History; IBM 1400 Series; and IBM PC and PC-CompPAaTIBLES.
ters. The memory cycle was 4.5 ys per character. The
instruction set was similar to the 1401, but included a The IBM System/360 and System/370 comprise an
table-lookup instruction and 64 different data-move in- architecture that has been the basis for all intermediate
structions. Fifteen index registers were available. The and large mainframe processors produced by IBM since
basic system had a single I/O channel, but a second could 1964. This architecture has also become the basis for
be installed. Like the 1401, the processor was interlocked machines produced by other manufacturers. Currently,
during any I/O operation, though special features were the IBM System/390 architecture is the upward compati-
available to provide limited overlap. Autocoder was the ble successor to IBM’s System/360 and System/370 sys-
predominantly used language, although Cobol and For- tems. These systems have been so widely used and so
tran were widely used. All peripheral equipment was the many of the features have been so widely imitated that it
same as that used in other 1400 series systems except for is important to describe the essential aspects of their
1301 and 1302 disk files, which were large fixed-disk units architecture and their hardware and software systems.
similar to the 350 units that had been used with the IBM During the past quarter century, IBM has introduced
305 RAMAC, an (incompatible) predecessor to the 1400 the System/360 (S/360) architecture, System/370 (S/370)
series. The 1410 could be operated in emulated 1401 architecture, System/370 Extended Architecture (370-XA),
mode, which provided almost total compatibility with Vector Extensions to S/370 and 370-XA architectures, En-
1401 programs. terprise System Architecture/370 (ESA/370), and, most re-
The 7010 system was functionally, although not archi- cently, the Enterprise Systems Architecture/390 (ESA/
tecturally, an advanced 1410. It used the 1410 instruction 390), also known as System/390 (S/390) architecture.
IBM SYSTEM 360/370/390 639
The architecture of a system defines its attributes as tral storage, and expanded storage. Central storage ca-
seen by the programmer, i.e. the conceptual structure and pacity in an ES/9000 multiprocessing complex can be up
functional behavior of the machine, as distinct from the to 1 billion bytes (1 gigabyte) and expanded storage can
organization of the data flow, the logical design, the be up to 8 gigabytes.
physical design, and the performance of any particular Main storage, which is directly addressable, provides
implementation (see COMPUTER ARCHITECTURE). Several dis- for high-speed processing of data by the CPUs and the
similar machine implementations may conform to a single channel subsystem. Main storage may include a faster-ac-
architecture. The current IBM implementation of the cess buffer storage, sometimes called a cache (q.v.), and
S/390 architecture is the Enterprise System/9000 each CPU may have an associated cache that is used to
(ES/9000) series of processors. improve performance. Expanded storage may be avail-
Logically, a system consists of main storage, one or able on some models. It can be accessed by all CPUs in
more central processors (CPUs - g.v.) operator facilities, the configuration by means of instructions that transfer
a channel subsystem, and I/O devices. I/O devices are 4K-byte blocks of data from expanded storage to main
attached to the channel subsystem through control units. storage or from main storage to expanded storage. Each
The communication between the channel subsystem and 4K-byte block in expanded storage is addressed by a
a control unit is called a channel path. A channel path 31-bit block number.
employs either a parallel-transmission protocol or a se- Certain models of the ES/9000 employ a two-level
rial-transmission protocol and, accordingly, is called a high-speed (cache) buffer design. Each processor in a
parallel or serial channel path. Expanded storage may multiprocessor configuration contains a 256 KByte first-
also be available in a system, and vector or coy plostaphic level high-speed buffer (HSB) divided into two indepen-
units or both may be included in a CPU. *, dent HSBs of 128 KBytes each. One holds instructions, the
The physical identity of the above fncuiges may other data. This design permits both instructions and
vary among implementations, called “models.” Specific data fetching to take place in the same machine cycle. A
processors may differ in their internal characteristics, the second-level HSB contains 4,096 KBytes of data and is
installed facilities, the number of subchannels, channel used to match the speed of the processor, including the
paths, and control units that can be attached to the chan- first-level HSB, with the speed of the processor storage
nel subsystem, the size of main and expanded storage, hierarchy to achieve better system-level performance.
and the operator facilities. Expanded storage is a logically separate storage
The basic unit of information in these systems is the under control of the operating system, providing perfor-
8-bit byte. Four bytes comprise a word. Some instructions mance up to 28 times faster than physical I/O to cached
operate on bytes, and others operate on half-words (2 direct access storage devices and up to 200 times faster
bytes), words, double words (8 bytes), and on strings of than physical I/O to non-cached direct access storage
bytes. An instruction or operand address is always a byte devices. It is designed for electronic block transfers of
address, the leftmost or most significant byte when a 4-KByte pages directly to and from central storage.
group consisting of more than 1 byte is being addressed. System/390 is designed to be used with a control
In the early S/360 and S/370 systems, a 24-bit address field program or interrupt-driven operating system that coor-
in index registers permitted the direct addressing of 2” or dinates the use of system resources and executes all I/O
16,777,216 bytes. In 1981, IBM announced a significant instructions, handles exceptional conditions, and super-
architecture change to System/370: the System/370 Ex- vises scheduling and execution of multiple programs.
tended Architecture (370-XA). This provided 31-bit ad- This was also the case for systems based on the earlier
dressability which extends the real and virtual address architectures. The system provides for automatic storage
space from the 16M bytes addressable with 24-bit ad- in main memory and for automatic loading from a differ-
dresses to 2 gigabytes (2%! or 2,147,483,648 bytes). Bi- ent area of main memory of the contents of essential
modal operation (S/370 or 370-XA mode) permits control registers in response to an interrupt. The con-
concurrent execution of programs using either 24-bit or tents of these control registers may be considered to form
31-bit addresses. a control word, which is referred to as the program status
word. The program status word contains the address of
Memory The magnetic core memories of the early the next instruction to permit resumption of a program
S/360s were severely limited in size, from a 64K-byte max- after an interrupt. It also contains interrupt masks, the
imum (K = 1024) on the Model 30 to a maximum of IM storage protection key, and a number of special control
bytes (M = 1,048,576) on the top-of-the-line Model 75. The fields and control bits. One of these control bits dis-
larger S/360 models could use auxiliary (though slower) tinguishes between system (or supervisor) state and
large-core memory of up to 8M bytes. Maximum memory problem state.
was gradually increased into the millions of bytes on even
the small S/370 models, and up to the 24-bit addressing Instruction Set The S/390 series has a large and var-
limit of 16M bytes on the larger ones. These large memo- ied instruction set made up of 229 instructions. Instruc-
ries became economical and practical with the use of tions fall into five classes: general, decimal, floating-point,
MOS large-scale integration memory technology on mod- control, and I/O instructions. Instructions may be one,
els of the S/370 introduced after 1972. Today’s S/390 pro- two or three half-words long. There are three types of
cessors employ an advanced three-level storage arithmetic: fixed point, floating point, and a special deci-
hierarchy comprised of a high-speed (cache) buffer, cen- mal arithmetic that uses strings of four-bit binary-coded
640 IBM SYSTEM 360/370/390
decimal digits as operands. There is a set of privileged for longer distance (up to 9 km) data transmissions be-
instructions (q.v.) that can be executed only in supervisor tween systems or to I/O devices. The largest water-cooled
state. systems can transfer data at 17 MBytes/second over even
A S/390 series computer has general-purpose regis- greater distances using channels with fiber optic media.
ters that serve as base registers (g.v.) and index registers IBM’s original lines of computers, the S/360 and S/370
(q.v.), and that also serve as fixed-point accumulators and models, were introduced in 1964 and 1970, respectively.
as temporary storage registers. The general registers are During the late 1970s and 1980s, IBM announced an in-
32 bits long, and the most significant 8 bits are ignored in creasingly powerful series of processors: the 303Xs; the
physical address calculations when 24-bit addressing is intermediate-sized, air-cooled 43XXs; and the large-scale
used. For 31-bit addressing, only the most significant bit water-cooled 308Xs and 3090s. The 43XX series included
is ignored. The use of the general registers as base and both uniprocessors and dyadic processors, while the
index registers permits the direct addressing of 308X and 3090 series included uniprocessors, dyadic and
16,777,216 bytes or 2,147,483,648 bytes, depending on triadic processors, and N-way multiprocessors.
whether 24-bit or 31-bit addressing is being used, without A Vector Facility was announced as an optional fea-
requiring that each instruction contain a 24-bit or 31-bit ture of the 3090 series, which included Vector Extensions
address field. This is illustrated by the RX (register-and- to the S/370 and 370-XA architectures. The Vector Facility
indexed-storage) instruction format, one of several in- is an extension of the central processor’s instruction and
struction formats used in the S/390. The RX format uses execution elements that allows the central processor to
two half-words as follows: execute vector arithmetic and logical operations on up to
128 sets of operands with a single instruction. The Vector
OP-code Rl X2 B2 D2
Facility, used for scientific and engineering applications
such as structural analysis and computational fluid
The &-bit op-code specifies the instruction. There are two dynamics, adds 191 new instructions and 16 vector regis-
operands. The first is in the general register, specified by ters, each containing 128 elements. The Vector Facility
the 4-bit field Rl. The second is in memory, at a location extends the power of the ES/9000 processors allowing
determined by adding the 12-bit displacement D2 to the high-performance processing of multiple pairs of
contents of the two general registers specified by B2 and operands (arrays of data). It operates as a compatible
X2. extension of the S/370, 370-XA, ESA/370, and S/390 archi-
In addition to the general-purpose registers, the tectures. Two IBM 3090 Model 600S processors with 12
S/360, S/370, and S/390 have four 64-bit floating-point reg- CPUs and 12 Vector Facilities are the base for Cornell
isters that can be coupled for expanded (128-bit) preci- University’s National Supercomputer Facility. Cornell’s
sion in floating-point operations. ESA/370 and ESA/390 National Supercomputer Facility is one of six super-
provided 16 access registers for fast access to hundreds computing centers (q.v.) established by the National
of different operand address spaces and allows programs Science Foundation’s Office of Advanced Scientific Com-
and data to reside in different address spaces. puting in 1986 to provide supercomputer access to re-
ES/9000 systems include multiple instruction execu- searchers.
tion units supporting arithmetic and logical operations, IBM's current processors conforming to the Sys-
I/O activity, systems management functions, and other tem/390 architecture are the Enterprise System/9000
tasks. The central processor has only very rudimentary (ES/9000) family of processors (see Fig. 1). This family
I/O instructions to start and stop I/O, and to determine the ranges from small systems for departmental computing to
status of an I/O operation that has been started or very large systems used for commercial applications,
stopped. Input and output can proceed simultaneously such as airlines reservations systems and engineering/sci-
with computing under control of channels that can di- entific applications requiring supercomputer power. The
rectly access main memory and which can execute chan-
nel programs. Block multiplexer channels control devices,
such as tapes and disks for fast, high-volume data trans-
fers. Byte multiplexer channels can control large numbers
of lower-speed devices.
ES/9000 systems include a channel I/O processor, an
independent instruction processing unit developed to off-
load I/O handling from central processing elements by
communicating directly with I/O devices. The channels,
using Reduced Instruction Set Computer (RISC) micropro-
cessors, Offload I/O instruction processing to the channel
subsystems for improved system throughput. Standard
high-speed (4.5 MBytes/second) parallel channels pro-
vide high bandwidth channel attachment capabilities and
complete compatibility with standard System/370 control
units for workstations, disks, tapes, and communications.
Serial channels using fiber optic (q.v.) links can deliver the
highest bandwidth (10 MBytes/second) channel capacity, FIG. 1.
IBM SYSTEM 360/370/390 641
entire family of processors from the smallest to the largest ment for DOS, VS1 (Virtual Storage 1), in which users
employ the same architecture, use the same operating shared a 16-megabyte address space, and MVS (Multiple
systems, and are completely upward compatible. The Virtual Storages), a more sophisticated system in which
ES/9000 family includes three series: the small, air-cooled each user had a 16-megabyte address space. Today, MVS,
rack-mounted 9221 series; the intermediate, air-cooled IBM’s largest and most functional operating system, pro-
frame 9121 series; and the large, water-cooled frame 9021 vides each user with a 2-gigabyte address space. The VM
series. Each series has a number of models with varying (Virtual Machine) system, a successor to the earlier CP-67
levels of performance. The largest ES/9000 Model 900 sys- system, provides the Conversational Monitor System
tem is a 6-way multiprocessor with six central processors (CMS), a widely used time-sharing system. The VM sys-
and up to six optional Vector Facilities, which can be tem also provides a virtual machine capability that per-
physically partitioned into two 3-way systems. mits users on the same hardware system to use different
A list of the current S/390 models and an estimate of operating systems concurrently, including, for example,
their relative performance is presented in Table 1, with an older and newer MVS system. This great flexibility is
the performance of the S/370 Model 158-3 taken as equal achieved at some cost in system overhead. Today’s sys-
to 1.0. The central processor speed of the Model 158-3 is tems offer a broad range of partitioning options, including
roughly estimated to be 1 million instructions per second physical and logical partitioning in addition to VM’s soft-
(1 MIPS). ware partitioning.
Physical partitioning enables a multiprocessor to be
Operating Systems The original S/360 concept as- divided and operated as two logically independent com-
sumed that only one major operating system. would be plexes. The resulting images can be asymmetric, with
required, which was given the name OS/360 (Operating each image controlling a different set of resources: pro-
System/360). It became apparent that many small- and cessors, channels, central and expanded storage, and
intermediate-sized S/360 systems needed a reasonably vector facilities. For logical partitioning, the Processor
sophisticated operating system, but could not afford the Resource/Systems Manager (PR/SM) feature provides
high memory space and processor overhead of OS/360. hardware support for partitioning of a uniprocessor or
This led to the early development of DOS (Disk Operating multiprocessor into multiple logical partitions or systems
System), which was very widely used. IBM also provided images. These logical partitions, designed as independent
an alternative system, CP-67, which ran on the S/360 systems images, can be defined with processor resources
Model 67. At that time, the Model 67 was unique in that it allocated as required according to workload require-
provided dynamic address translation hardware and was ments. Each of the partitions can run the same or dissim-
a virtual memory system (see VIRTUAL MEMORY). In 1972, ilar operating systems.
virtual storage became a standard feature of all S/370 and IBM’s current operating systems include MVS, VM,
future IBM systems. Another alternative was MTS (Michi- VSE, and AIX. AIX, the Advanced Interactive Executive, is
gan Terminal System), developed by the University of IBM’s implementation of Unix. Each of these operating
Michigan. systems has gone through an evolution in the form of
With the announcement of dynamic address transla- various versions over the past 25 years to support the
tion and virtual storage as standard for the S/370 line, IBM evolution in architectures.
introduced its VS (Virtual Storage) operating systems.
These include VSE (Virtual Storage Extended), a replace- NORMAN LAYER
cast sales of 250,000 units over five years. By the end of mode, in which it acts as a fast 8086. The AT came with
1983, the IBM-PC had become a de facto standard and had more memory on the system board, and today nearly
an installed base of a million machines. IBM eventually all PCs are sold with at least 640K. The AT also introduced
recognized the strategic importance of personal work- a high density 5 1/4-inch disk drive with 1.2 MB capacity,
Stations (g.v.), integrated the ESD into the marketing and hard disk sizes continued to grow. With the AT, IBM
mainstream of the corporation, and defined a System also introduced the EGA (extended graphics adapter)
Application Architecture (SAA) to integrate distributed video controller. EGA, a color controller that exceeded
computing (g.v.) and workstations. CGA in resolution and color palette, became widely used
and copied. EGA controllers are compatible with MDA
Evolution Since its introduction, the PC has under- and CGA software. (Tragically, Don Estridge was killed
gone three major upgrades (see Table 1). The first was the in a plane crash in 1985 just shortly after introduction
PC-XT. The XT was a response to the needs of business of the AT.)
and professional customers, who had clearly emerged as The AT was followed by the PS/2 line in 1987. The
the major market. With the XT, IBM added a hard disk and original line consisted of six models, using the 8086,
expanded the amount of memory on the system board. 80286, and 80386 CPUs. Models using the 80386 SX and the
Even before the introduction of the XT, they had upgraded 80486 CPU have been announced subsequently. The
the floppy disk drives to 360K by using both sides of the 80386 is upward compatible with the earlier CPUs, has
media and writing in a higher density (9-sector) format. 32-bit registers and instructions, and can address 4.3GB
The next major upgrade was the PC-AT. The AT used of memory. The 80386 SX is software-compatible with the
Intel’s 80286 CPU, as had Tandy in marketing the excellent 80386, but uses a multiplexed 16-bit data path. The 80386
but short-lived Tandy 2000. The 80286 was faster than the SX is to the 80386 as the 8088 was to the 8086. Intel
8088, and had a 16-bit data bus; therefore, the PC bus was predicts that the 80386 SX will eventually make the 80286
extended by adding additional data lines. The AT bus was obsolete. The 80486 is compatible with.the 80386, but it is
upward compatible with the PC bus, so PC and XT add-in faster due to a design that integrates previously off-chip
cards worked in the AT. The AT bus is also known as the functions and enhances internal caching and parallelism
ISA (industry standard architecture) bus. (see CACHE MEMORY).
The 80286 is capable of addressing 16MB of memory; The low-end (8086-based) PS/2 used the AT bus, but
however, to retain compatibility with commercially avail- the others used the new microchannel architecture
able software, it is almost always run in its limited “real” (MCA) bus. The 80386-SX- and 80286-based PS/2s used a
Bus” PC PC AT MCA
Bus data 8 8 16 16
bits 32
16-bit version of the MCA bus, and the 80386- and 80486- A number of companies marketed 8086-based com-
based PS/2s used a 32-bit version. The MCA bus was puters before IBM. These included small firms like Seattle
incompatible with the AT bus, but offered advantages, Computer Products and Godbout and large ones like Vic-
including greater speed and the ability to add cards with- tor Business Machines; however, the market did not take
out having to set switches. off until IBM entered and established a standard.
The PS/2s introduced 3 1/2-inch floppy disk drives There were several gaps in the original PC offering,
with 1.44MB capacity on all but the low-end model, which so IBM’s entry was followed almost immediately by a
used 760KB drives. The minimum hard disk for the PS/2 wave of add-in board makers. IBM used 16K-bit memory
was 20MB. chips at first, allowing companies using 64K-bit chips
Three new display controllers were also announced to compete effectively in memory upgrades. The value
for the PS/2 line. The MCGA (multicolor graphics array), of competitive memory cards was often augmented by
an enhanced version of the CGA adapter, was available on including additional I/O ports and calendar chips, making
the low-end model. Other models came with the VGA them far superior to IBM memory. The limitations of
(video graphics array)—a color graphic controller ex- the CGA and MDA display controllers created a niche
ceeding EGA resolution and color palette, VGA controllers filled by a higher-resolution, monochrome, graphic con-
use analog monitors and have displaced EGA as a stan- troller from Hercules Graphics. The Hercules controller
dard. They are compatible with EGA software. The 8514 is has become a widely emulated standard. Several com-
a higher resolution controller, but it has not enjoyed the panies also developed hard disk subsystems for the PC
success and emulation of VGA. before IBM did.
IBM and Microsoft also announced OS/2, a new oper- By 1982, several companies were marketing PC-com-
ating system, with the PS/2. OS/2 is not compatible with patible computers. One of these, Compaq, combined PC-
DOS, but adds features including multitasking, multiple compatibility with transportability (along the lines of the
threads, a graphical user interface, and extended file and Osborne CP/M-based computers), a high resolution dis-
communication management. OS/2 is designed for ma- play, and quality workmanship. Compaq, Zenith, and
chines with at least 2MB of memory, and IBM and Tandy have since emerged as major challengers to IBM in
Microsoft are committed to supporting both it and DOS
the personal computer market. Early PC-compatibles like
for the foreseeable future. Microsoft also markets Win-
the Compaq were soon joined by very low cost systems
dows, a DOS extension that adds a graphical user inter-
made possible by off-shore design and manufacturing.
face (GUD and limited multitasking. The product was only
The August 1991 issue of PC Magazine either discussed or
moderately successful until the windows 3.0 and 3.1 ver-
carried advertisements for no fewer than 50 different
sions suddenly became very popular in the early 1990s.
manufacturers of PC-compatible computers. Clearly, they
The machines described above were IBM’s main line,
cannot all survive, but the small companies receiving the
designed primarily for business and professional work.
most attention include Advanced Logic Research, Com-
There were also several less successful machines along
puAdd, Dell, Leading Edge, Northgate, Swan, TriStar, and
the way. These included the PCjr (which was targeted to
Zeos. More established companies still competing for a
the school and home market), a transportable PC, and a
share of the PC-compatible market include AT&T, Epson,
PC with add-in boards to emulate the IBM 370 mainframe
Hewlett-Packard, Hyundai, NEC, NCR, Packard-Bell,
instruction set. These have all been withdrawn from the
market. Panasonic, and Texas Instruments. It would appear that
one of the reasons IBM abandoned the PC and AT buses
in favor of the incompatible MCA bus was to avoid com-
The Competition IBM was able to bring the PC to petition with low-overhead producers of commodity com-
market quickly because they used commercially available puters. IBM protected MCA with many patents, and
components, rather than building their own. This also charges royalties for its use.
opened the way for competition.
In response, leading competitors, headed by Compaq
and Hewlett-Packard, banded together to define the EISA
(extended industry standard architecture) bus. EISA is a
32-bit bus that is compatible with the AT and not con-
trolled by IBM. The IBM PC set de facto standards that
enabled the personal computer market place to grow as
it has. In doing so, they attracted many competitors and
their market share has declined; however, they remain the
largest manufacturer of personal computers.
References
1990. Bradley, D. J. “The Creation of the IBM-PC,” Byte, 15, 9
(September) 414-420,
feotbadylydyhodelyt behrdidol sd
i = irrrrrr rrr
FIG. 1.
LAURENCE PRESS
IMAGE PROCESSING 645
availability of good, affordable cameras and image pro- involves corrections for rotational, translational, and
cessing hardware boards, a personal computer can be scale differences present in the images, a process called
converted into a complete image processing workstation image registration. Development of registration tech-
at a very affordable cost. These developments make it niques was mainly due to the satellite and aerial image
reasonable to expect further rapid growth of the image processing studies.
processing field.
In the early phases of its development, digital image Image Compression Transmission and storage of
processing was used primarily for image enhancement, digital images poses challenging problems due to the vast
restoration, and compression tasks. This period saw the amounts of data involved. Jmage compression deals with
development of some interesting and useful mathematical efficient encoding and decoding of digital images for ei-
approaches for solving these problems. More recently, ther transmission or storage (see DATA COMPRESSION AND
image processing is increasingly viewed as the front-end COMPACTION). The initial thrust for image compression
processing module of a complete machine vision system. studies came from the imaging requirements of the space
program in the early 1960s. Recently, after a low level of
Image Processing Approaches Image processing relevant research activity, there has been renewed inter-
methods can be classified in two groups: spatial domain est in this topic. There is a definite cost associated with
approaches and transform (or frequency) domain ap- the storage, processing, and transmission of the data.
proaches. The spatial domain techniques work directly on Images typically contain a significantly large amount of
the two-dimensional digital images, whereas the transform redundant information. In many applications, such redun-
domain techniques require an image to be transformed dant information can be eliminated without adversely
into another domain. Characteristics of these transformed affecting the original objective of an image processing
images are analyzed to accomplish a specific image pro- task. Image compression methods allow reduction of
cessing task. Linear systems theory had allowed treatment image storage, processing, and transmission require-
of one-dimensional signals in both time and frequency do- ments without sacrificing the image quality.
mains. This experience played a major role in developing Compression techniques are divided into two catego-
theories and techniques for processing two-dimensional ries: (1) reversible (or lossless) techniques, and (2) irrevers-
signals (i.e. images). For several important image process- ible (or lossy) techniques. One can achieve a much larger
ing functions, one can find an appropriate technique from compression ratio by using lossy methods as compared
either the spatial domain or the frequency domain. Typi- to the lossless methods. Two important types of compres-
cally, results of the spatial domain analysis are easier to sion, predictive and transform coding, use the high correla-
interpret than those of the frequency domain. Some of the
tion between the gray levels associated with neighboring
more commonly used transforms for image processing in-
pixels to achieve compression. Typically, predictive cod-
clude Fourier, cosine, Hadamard, Harr, and Walsh trans-
ing schemes are relatively simpler to implement but are
forms. Approaches based upon the Hough transform for
not robust (i.e. they suffer from high sensitivity to various
detection of specific types of structural details like lines,
statistical parameters). Transform coding schemes
circles, or curves are also finding increasing utility.
achieve higher compression ratios as compared to the
predictive approaches, but are more complex to imple-
Image Quantization and Sampling Quantiza- ment. Hybrid coding schemes combine the best features
tion and sampling deal with the issues underlying the of the predictive and transform coding approaches. In the
formation of a digital image that can be processed by a case of the compression of multiple frames of images
computer. Digital images are two-dimensional discrete (such as those involved in television transmission), one
representations. This digitization of the signals is per- can use the high correlation between the successive
formed to allow subsequent processing of these signals
frames to achieve compression.
by a digital computer. Conversion of the continuous ana-
log signals into their digital form involves two considera-
tions. First is the digitization of the amplitude of the Image Enhancement The goal of image enhance-
ignals, a process rGOVFOT TAS quantization, TheSecond ment, one of the most widely used image processing func-
is sampling, t imensional spatial tions, is to highlight or enhance a particular type of image
rid associated with an image. Typically, a uniform q feature. Suppression of image detail that is not of interest
tization SCHEME andSTecenBulle (or square) sampling for a particular task is also a part of the image enhance-
grid are used. ment process. These techniques are used in the following
types of problems:
Image Registration One of the important require-
ments in many image processing and analysis tasks is to 1. Object/background contrast stretching.
extract information from multiple image copies of the 2. Modification of the dynamic range of an image.
same scene. These copies could be acquired in different 3. Removal of false contours introduced through
wavelengths or at different times or from a slightly differ- inadequate quantization levels.
ent perspective or resolution. In order to perform a sys- 4. Reduction of additive, multiplicative, or “salt-
tematic analysis of such a data set, one requires an ability and-pepper” noise.
to match these copies accurately to a standardized grid 5. Enhancement of edge features (“edge sharpen-
so that the images are in perfect spatial registration. This ing”).
IMAGE PROCESSING 647
REACTOR |
6. Image smoothing (“image blurring”). FUEL
7. Display of image detail by pseudo-color (or “false ELEMENT 265
SEGMENT B
color”) enhancement.
“LEAST..SEVERELY. BLURRED.
PROM A SET OF 7 BLURRED IMAGES
FIG. 4. Example of restoration of a motion blurred image. Part (a) shows one of the seven im-
ages affected by motion blur. Part (b) shows the restored image. (Courtesy of Drs. D. Ghiglia
and G. Mastin, Sandia National Laboratory.)
(d) shows the uniform motion blur signature. The strong tion areas where the only practical way to acquire two-di-
intensity spikes located in a horizontal plane indicate the mensional or three-dimensional images of an object is by
blur direction. The spacing of these components is equal utilizing a set of image projections. For example, image
to twice the blur width and can be used to create a reconstruction is an important requirement in medical
transfer function describing horizontal motion. imaging, geophysical exploration, underwater explora-
Examples of image restoration of two images affected tion, and radio astronomy.
by motion blur are presented in Figs. 4 and 5. Fig. 4(a)
shows one of the seven images recorded with motion blur.
Fig. 4(b) shows the restored image. Details of the restora- Image Segmentation Segmentation deals with the
tion technique are described by Ghiglia (1984). Fig. 5(a) partitioning of an image into parts for further processing.
shows an image blurred by an object moving in a perspec- There are basically two types of approaches to accom-
tive plane. Fig. 5(b) presents the results of a linear Weiner plish image segmentation: edge-based and region-based.
restoration technique by first invoking a geometric trans- The edge-based segmentation approach utilizes proper-
formation to remove the perspective (Ghiglia and ties of dissimilarity between adjacent pixels to identify all
Jakowatz, 1985). edge pixels in an image. Various operators can be devel-
oped to detect such discontinuities in the properties of
the pixels. While developing such operators, issues such
Image Reconstruction This topic deals with the as accuracy in detection and localization are considered.
problem of reconstructing a digital image given a set of For each edge pixel, the strength of the edge (magnitude
image projections. There are several important applica- of the discontinuity value) and the direction of the edge
FIG. 5. Image with severe blurring from a van moving in a perspective plane (left). Image after
applying Weiner restoration to the perspective corrected image (right). Note that the station-
ary objects in the scene, such as trees and grass, are now blurred, while the van is deblurred.
(Courtesy of Drs. D. Ghiglia and G. Mastin, Sandia National Laboratory.)
IMAGE PROCESSING 649
are evaluated. Once edge pixels in an image are identified, ing, where a region is merged with its neighboring region
the task is to form boundaries that segment the image if they share some uniformity or homogeneity property.
into distinct regions. This task can be quite difficult for This can be considered a bottom-up approach, where one
most real-world images. Basically, it requires tracing of begins with individual pixels to form homogeneous re-
the global object contours based upon very localized gions. The second approach is known as segmentation by
information that is highly susceptible to error and inaccu- region splitting. One starts with a large region which is
racy. Such a boundary formation task can also involve then split into homogeneous subregions using a unifor-
complex computations. In situations where the bound- mity or homogeneity test. This can be considered a top-
aries are linear or of a specified parametric form, tech- down approach, where one begins with a large region and
niques such as Hough transforms have proved to be quite keeps splitting it into smaller homogeneous regions. Fi-
useful. nally, one can also develop a split-and-merge technique for
The region-based approach to segmentation utilizes segmentation, where one can use either a merge or split
properties of similarity among image pixels. There are decision at a given level to segment an image efficiently.
three different implementations of the basic region-based Region-based approaches have proved to be more effec-
approach. The first is called segmentation by region merg- tive in practical situations than edge-based approaches,
(b)
FIG. 6. Image segmentation: Part (a) shows a high-resolution aerial image of the Pentagon.
Part (b) shows the results of applying a region-growing algorithm to identify homogeneous re-
gions. Part (c) shows the results of applying an edge operator to identify the intensity dis-
continuities.
650 IMAGE PROCESSING
as they exhibit better noise immunity, and are more effi- Digital outputs generated by these devices are linearly
cient. There are also a number of studies where both the proportional to the intensity of the light falling on the
edge and region-based techniques are used in a comple- sensors. The image processing workstation utilizes a
mentary fashion. high-speed memory storage board (“frame grabber”) to
Examples of image segmentation are presented in acquire a full image frame for processing. Typically, the
Fig. 6. Fig. 6a shows a high resolution aerial image of size of these frames is 512 x 512 or 1,024 x 1,024, with a 64,
the Pentagon. Fig. 6b shows the results of applying a 128, or 256 gray- level dynamic range. The frame grabber
region-growing segmentation algorithm (Levine, 1985). acquires these frames at video rates (1/30 of a second per
The basic premise is to merge pixels belonging to the frame). The workstations also provide specialized func-
same statistical distribution in a region. From a percep- tions for performing common image processing opera-
tual psychology viewpoint, region-growing is based upon tions. In addition, algorithms can be programmed for the
two important criteria of perceptual grouping. The cri- general-purpose computer that forms part of each work-
terion of proximity is observed by evaluating each pixel station. For display, a high-resolution color graphics mon-
with pixels in its neighborhood, and the similarity crite- itor is used. Typically, these monitors can handle 1,000 x
rion is observed due to the fact that the above evaluation 1,000 color images and provide graphics overlay capabil-
requires comparison of a specified pixel property with ities. Most image processing development is accom-
that of its neighbors. If the pixels are judged to be plished in an interactive computing environment.
similar, they are merged; otherwise they are assigned
to different regions. In Fig. 6c, results of applying an References
edge operator are shown. A 5 x 5 kernel was used in
the edge operator, and a threshold was used to reject 1984. Ghiglia, D. C. “Space-Invariant Deblurring Given N Indepen-
weak edges. dent Blurred Images of a Common Object,” Journal of Optical
Society of America, 1, April, 398-402.
1985. Ghiglia, D. C., and Jakowatz, C. V. “Some Practical Aspects
Image Processing Hardware Efficient process- of Moving Object Deblurring in a Perspective Plane,” Applied
Optics, 24, 22, 15 November, 3830-3837.
ing of images requires specialized hardware for image
1985. Levine, M. D., Vision in Man and Machine. New York:
acquisition, storage, manipulation, and display. Advances
McGraw-Hill.
in image processing hardware are derived directly from 1989. Jain, A. K. Fundamentals of Digital Image Processing. Engle-
dramatic advances made in fields such as electro-optics, wood Cliffs, NJ: Prentice-Hall.
electronics, VLSI, and computers. There are several ways 1990. Trivedi, M. M. (Ed.). Selected Reprints on Digital Image
in which an image can be digitized. A scanning microden- Processing, Milestone Series, 17, Bellingham, WA: Optical Engi-
sitometer or a flying spot scanner can be used to digitize neering Press.
a photograph or a transparency. Devices using semicon- 1990. Kasturi, R. and Trivedi, M. M. (Ed.) Jmage Analysis Applica-
ductor technology represent the most popular image tions. New York: Marcel Dekker.
acquisition mechanism. They use charge-coupled devices
mounted in a rectangular array to sense a full image field. MOHAN M. Triveb!
Effective address
1. The address of the base of the vector (its first A simple one-address computer instruction contains
element) relative to the beginning of the program an operation code (op code) and an address that points
module. This address is known when the pro- to a location in memory. The contents of that location
gram is being written. may be the data required by the operation, or may be an
2. The memory address into which the program address that points to another location in memory. In this
module is loaded. This address is known at load latter case, the address in the instruction itself is called
time. an indirect address (or deferred address), since it refer-
3. The offset from the base of the vector, which ences data indirectly by pointing to the address of the
depends on the element that is currently being data rather than to the data itself.
added and which is known only at execution In some computers, the instruction itself contains a
time. control field (one bit per address is enough) that specifies
that the corresponding address is an indirect address. In
Index registers are normally involved with the last of the other computers, tag bits are associated with data words,
three parts of the address. and these tag bits determine whether the word is to be
The address computed with an index register is re- treated as data or is to be used as an address that points
ferred to as the effective address. The index register to data.
accomplishes its role of forming the effective address in Many systems support multilevel indirect addressing
one of two ways: Either the address is formed from a con- (see Fig. 1). The address retrieved in the memory word
stant in the address field of an instruction plus a changing may itself be an indirect address that points to another
offset in the index register, or the address as a whole is memory location, which in turn may be an indirect ad-
contained in the index register. In the former case, shown
in Fig. 1, the index register is used as a counter. Indirect
The number of index registers in a machine and the address
flag
number of index registers used in the formation of the
effective address and other attributes of the index regis-
ters are highly dependent on the particular architecture.
Thus, one finds machines with a single index register, one Instruction Address
code
index register and one dedicated base register, multiple
index registers and/or base registers, and machines in
which the general registers may be utilized for indexing
and base addressing. Taare
Index registers are also used as counters. In this role,
they are typically used as loop-control instructions that Indirect
address <
increment/decrement their values and test against a con- flag
stant (typically zero) to cause a conditional branch. Some
computers also possess the capability to increment or
decrement registers as a side effect of data access using ce coe
that register. In that case, the value by which the register
is incremented or decremented usually depends on the
byte-size of the operands being processed—1 for 8-bit
bytes (that typically hold characters), 2 for 16-bit inte-
gers, 4 for 32-bit integers, etc. (see GENERAL REGISTER).
Special care must be exercised in the use of index
registers when the computer possesses an indirect ad-
dressing mode. In this case, the index register can be used
either to compute the location of the indirect address FIG. 1. Two-level indirect addressing.
652 INFORMATION ACCESS
dress, etc. Computers that allow multilevel indirect ad- by the Depository Library Act of 1895 for the purpose of
dressing usually have a time-out interrupt facility that providing free public access to government information.
causes an interrupt to occur in the case of a non-terminat- The DLP provides access to federal agency publications
ing indirect addressing loop. through approximately 1,400 libraries across the U.S. The
There are many uses for indirect addressing. It has ‘libraries, in turn, maintain the documents and provide
been used most effectively in those systems that require public access free of charge. Public libraries and library
a longer address field than can be conveniently or reason- associations, such as the American Library Association
ably provided in each instruction. Many small computers and the Association of Research Libraries, work closely
use indirect addressing in this way, but it is also used on with the GPO and the DLP to promote public access to
many larger ones. Thus, the descriptors on large Bur- information.
roughs systems were indirect addresses in which the Many private firms also promote public access to
address word contains the origin and size of an array that government information, though on a cost basis. The
is addressed to permit an automatic check for out-of- Information Industry Association was established in 1968
bounds addressing. The Multics system used two-word to “promote the development of private enterprise in the
indirect addresses to permit the addressing of its very field of information and...gain recognition for information
large virtual memory. as a commercial product.” Its membership includes large
_ information companies, such as Dow Jones, McGraw-Hill,
SAUL ROSEN and Dun & Bradstreet, as well as smaller, newly formed
information companies and services. The information in-
dustry is one of the fastest growing industries in the U.S.
A 1986 Department of Commerce report estimated annual
INFORMATICS. See Computer SciENCE; EDUCA income for the 900 firms at about 2 billion dollars.
TION IN COMPUTER SCIENCE; and INFORMATION SCIENCE. The competing interests of the public information
providers and the private sector came to a head in 1985.
In that year, the Office of Management and Budget issued
Circular A-130, “Management of Federal Information Re-
INFORMATION ACCESS sources,” which recommended that federal agencies
For articles on related subjects see COMPUTERS IN SOCIETY; place “maximum feasible reliance” on the private sector
LEGAL ASPECTS OF COMPUTING; NETWORKS, COMPUTER; and So- in the dissemination of government information in elec-
CIAL SCIENCE APPLICATIONS. tronic formats. This policy was opposed by many library
organizations. They believed that the policy would dimin-
During the 1970s and 1980s, government agencies ish public access to government information and result in
across the U.S. computerized information systems. At the a gap between information haves and have-nots. As the
same time, public and academic libraries developed com- U.S. enters the 1990s, the appropriate roles of the public
puter networks to promote public access to information, and private sectors is still hotly debated.
and a new industry for electronic information services Another consequence of computerized record sys-
emerged. This rapid transformation of the nation’s infor- tems is the applicability of information laws, such as the
mation resources has raised new public policy questions Freedom of Information Act. This law requires that federal
about the dissemination of “electronic” information, the agencies provide public information upon request and is
future role of libraries, and the application of information designed to promote public access to the records of
laws, such as the Freedom of Information Act, to compu- government. The FOIA is often credited with uncovering
terized information. government waste and mismanagement, public health
The impact of computer technology on government hazards, and business fraud. The law was passed in 1966
record systems is far-reaching. According to a 1987 Office and strengthened significantly in 1974.
of Technology Assessment report, computer technology Some federal agencies contend that the Freedom of
is eliminating the distinctions between government re- Information Act does not require agencies to disclose
ports, publications, databases, and records. Computer information in electronic formats, since the law was en-
technology has also made possible the rapid dissemina- acted before the development of current record-keeping
tion of government information, in some instances at systems. Others say that the purpose of the law, to pro-
substantial cost savings. vide public access to the records of government activity,
This transformation of government information sys- does not change because the technology changes. This
tems creates new questions about the appropriate roles debate may be resolved in either the courts or the Con-
for the public and private sectors. Traditionally, the U.S. gress. The courts may be asked to decide how to apply
government encouraged the distribution of government current laws to new technologies. The Congress may be
publications at little or no cost to the general public asked to develop new laws specifically for new technolo-
through the Government Printing Office and the Deposi- gies. Both efforts are currently underway.
tory Library Program. At the same time, there is an oppor- At present, there are great opportunities to promote
tunity for private sector firms to develop information public access to information through the development
products. of computer systems and networks. Whether these op-
The Depository Library Program is administered by portunities are realized will depend largely on the ability
the Government Printing Office. The DLP was established of the various policy stakeholders to put aside short-term
INFORMATION AND DATA 653
concerns for institutional security and profitability and message mean? (3) What are the effects of the message on
consider the long-term opportunities that computer net- the recipient?
works provide. Problems at the first level are essentially attacked by
the use of Shannon’s information theory, which is con-
MARC ROTENBERG cerned primarily with the communication problem.
The semantic problem has been of interest for some
time. Early productive ideas were suggested by Carnap
and Bar-Hillel in 1952. Since then, many others have stud-
INFORMATION AND DATA ied this problem. More recently, for example, Winograd
(1972) and Woods (1978) and others have attacked the
For articles on related subjects see DATA MODELS; DATA problem of the meaning of transmitted symbols.
STRUCTURES; DATA TYPE; INFORMATION RETRIEVAL; INFORMATION And yet, ultimately, it is the level 3 consideration,
THEORY; KNOWLEDGE REPRESENTATION; SYMBOL MANIPULATION; namely how the message affects the behavior of the recip-
and SYNTAX, SEMANTICS, AND PRAGMATICS. ient with which information scientists and systems de-
signers are primarily concerned. That is, what is the
Although the layperson typically uses the terms infor- effectiveness of the information? This is a much more
mation and data interchangeably, to the information scien- difficult problem than the other two. It has been ap-
tist or the information systems designer, the distinction proached by MacKay (1969), Marschak (1964), and Yovits
between them is important. Among the several existing and colleagues (1969, 1981), as well as anumber of others.
points of view about this distinction, this article presents This third level may be said to deal with pragmatic infor-
one with considerable current and, more important, in- mation, or just pragmatics.
creasing support. a.
The term information has a number of different mean- Information and Data _ Even among professionals
ings and is used in a number of different contexts. It is one engaged in the design and use of computerized informa-
of the more overused words in our language, a word tion systems, there is a difference of opinion as to how to
considered to be synonymous with knowledge or intelli- define and categorize information and data, all generally
gence. Computer and information scientists and systems within the framework of equating information essentially
designers are broadly concerned with this meaning of the with knowledge or intelligence of some type. See, for
term. The same meaning is also implied when a layperson example, Langefors (1972). There are those who suggest
says, “May I have some information, please?” However, in that information is somehow connected with the way in
a scientific and engineering sense, it is desirable to estab- which data is displayed. It is suggested that the informa-
lish a somewhat more formal, useful, and precise defini- tion is a function of the ease with which the data can be
tion. comprehended by the user.
The word information is also frequently used rather Then there are those who suggest that information is
narrowly, specifically in the sense that Shannon (q.v.) and “smoothed” as opposed to “raw” data. This smoothing
Weaver (1949) have established in their treatment of infor- permits a user to make decisions more easily than might
mation theory. In this sense, the context of the message is be possible from the unsmoothed data. The suggestion
of no significance; instead, the theory is concerned with has been made that information consists of appropriate
the probability of the receipt of any particular message aggregation of data; or perhaps information can be de-
from among many for various conditions of the transmis- fined as the appropriate interconnection between various
sion system. While this interpretation may indeed be of pieces of data, thus making it possible to use the data
interest in designing information systems, it is certainly readily.
not the major, nor even a major, concern. Such a treat- ' Several common characteristics run through most of
ment does not consider the really important areas of these definitions. First, information is a subset of data or
interest, almost all of which involve the context, meaning, perhaps inferred from data. It is also generally either
and effectiveness of the message. explicitly stated or at least implied that the ultimate con-
Shannon and Weaver identify three levels of informa- cern is that somehow the information must eventually be
tion problems: used. Thus, a user is involved. Generally, the concern is
with the effectiveness with which the information is used.
1. The technical problem. (How accurately can the In other words, the general interest is with the problems
symbols of communication be transmitted?) of level 3—the pragmatics of the message. The value of
2. The semantic problem. (How precisely do the the information in a message is the important criterion.
transmitted symbols convey the desired mean-
ing?) Information: A Definition Many information sci-
3. The effectiveness (or behavioral).problem. (How entists accept the standard definition: /nformation is data
effectively does the received meaning affect con- which is used in decision-making (Yovits and Ernst, 1969;
duct in the desired way?) McDonough and Garrett, 1965). This definition has a num-
ber of significant derived implications. One is that infor-
These three levels of communication research are per- mation is a relative quantity—relative to the situation, to
haps most clearly and most simply described by these the time at which a decision is made, and to the decision
questions: (1) What is the message? (2) What does the maker and the decision maker’s background and history.
654 INFORMATION AND DATA
insky, H. P. (Ed.). People and Information. New York: Pergamon the output are elements of infinite-dimensional spaces. It
Press.
is a branch of computational complexity that studies the
1972. Langefors, B. Theoretical Analysis of Information Systems.
minimal computer resources (typically, time or space)
Philadelphia, PA: Auerbach (also Lund, Sweden: Student-
litteratur).
needed to solve a mathematically posed problem.
1972. Winograd, T. “Understanding Natural Language,” Cognitive
Psychology 3. Computational Complexity of Integration
1978. Woods, W. A. “Semantics and Quantification in Natural We illustrate some of the important ideas of information-
Language Question Answering,” in Yovits, M. C. (Ed.). Ad- based complexity with the example of integration.
vances in Computers. 17. New York: Academic Press. Consider the computation of Jof () dx. For “most” inte-
1981. Yovits, M. C., Foulk, C. R., and Rose, L. L. “Information Flow grands, this integral cannot be computed symbolically.
and Analysis: Theory, Simulation, and Experiments,” Journal Therefore, we must integrate numerically. The input to
of the American Society for Information Science, 32, 3, May, the integration problem is the function f(x). All we can
187-202. enter into the computer are some numbers that represent
1987. Yovits, M. C., de Korvin, A., Kleyle, R., and Mascarenhas, M. f(x). Often, the available information is the values of f at a
“External Documentation and Its Quantitative Relationship to
number of points. This information is partial because
the Internal Information State of a Decision Maker: The Infor-
there are many integrands that are indistinguishable
mation Profile,” Journal of the American Society for Information
Science, 38, 6, November, 405-419. using this information. If the information has errors (due,
for example, to roundoff errors), it is contaminated. It is
MARSHALL C. Yours clear that partial or contaminated information causes
uncertainty, say €, in the integral. This uncertainty is in-
trinsic and caused by the limited information. Further-
more, we assume that the information is priced.
INFORMATION-BASED To introduce computational complexity, we first de-
fine the model of computation. The model of computation
COMPLEXITY states which operations are permitted and how much
For articles on related subjects see COMPUTATIONAL COM- they cost. The model of computation is based on two
PLEXITY; and NP-COMPLETE PROBLEMS. assumptions:
A very simplified view of an important scientific par- 1. We can perform arithmetic operations and com-
adigm is as follows. A mathematical formulation of a parisons on real numbers at unit cost.
natural phenomenon is created. Computations stemming 2. We can evaluate a function fat any pointx at cost
from the mathematical formulations lead to understand- c, where c is independent of f and x.
ing and predictions. The relation between a real world
phenomenon, a mathematical formulation, and the com- We comment on these assumptions. The real number
putation are schematized in Fig. 1. model (Assumption 1) is used as an abstraction of the
Mathematical formulations of scientific problems are floating-point model typically used in scientific computa-
often infinite-dimensional and continuous. They are ex- tion. Except for the possible effect of roundoff errors and
pressed, for example, as systems of ordinary or partial numerical stability, complexity results will be the same in
differential equations (g.v.), integral equations, or optimi- these two models.
zation problems. The real number model should be contrasted with
Information-based complexity (IBC) studies the com- the Turing Machine (q.v.) model, typically used for dis-
putational complexity of infinite-dimensional continuous crete problems. The cost of an operation in a Turing
problems. These are problems where either the input or Machine model depends on the size of the operands. But
the cost of a floating-point operation is independent of
the size of the operands, which is why we use the real
Phenomenon (Real World) number model. Whether a real number or Turing Machine
model is used can make an enormous difference. For
example, Kachian showed that linear programming is
polynomial in the Turing Machine model. In 1981, Traub
and Wozniakowski showed that Kachian’s algorithm is
not polynomial in the real number model and conjectured
that linear programming is not polynomial in this model.
Mathematical Formulation (Mathematical World) This conjecture is still open.
It would be more realistic to replace Assumption 2 by
the assumption that the cost of a function evaluation
depends on for x or both, but this would complicate the
theory.
A quadrature algorithm is any procedure for approxi-
Computation (Computer World) mating the integral using the available information. Any
such algorithm must have error at least as large as the
intrinsic uncertainty. The computational complexity of the
FIG. 1. Three worlds.
656 INFORMATION-BASED COMPLEXITY
integration problem is the minimal cost of computing the 4. The worst case deterministic setting is the same
integral to within error é. as the one used in the theory of NP-complete
The concept of computational complexity permits us problems.
to introduce the fundamental concepts of optimal infor- 5. Since we have an exponential lower bound, these
mation and optimal algorithm. Information and an algo- problems are provably intractable. This may be
rithm that uses the information are called optimal contrasted with the theory of NP-complete prob-
information and an optimal algorithm if the error of the lems, whose intractability is conjectured.
approximation is at most the intrinsic uncertainty and the 6. Because the information is partial, we are able to
cost of computing the approximation equals the compu- obtain lower bounds on a problem’s computa-
tational complexity. tional complexity, using adversary arguments at
the information level. That is why this branch of
computational complexity is called information-
General Formulation We have used the integra- based complexity.
tion example to introduce basic concepts of IBC. Gener-
7. Even for rather small values of d, the problem
ally, IBC is characterized by three assumptions, namely
may be very hard. For example, let ¢ = 10°°
that information is partial, contaminated, and priced. A
(single-precision), r= 1,d = 3. Then the complex-
general formulation and extensive bibliography may be
ity is proportional to 10”. Take the units to be
found in Traub, Wasilkowski, and Wozniakowski (1988).
function evaluations. No digital computer now or
IBC has been used for numerous applications, includ-
in the future can perform 10” function evalua-
ing partial differential equations, ordinary differential
tions in a reasonable amount of time.
equations, integral equations, approximation, nonlinear
optimization, control theory, computer vision (g.v.), and
Very high dimensional problems occur in super-
edge detection.
computing and in the foundations of physics. For exam-
Although the focus has been on infinite-dimensional
ple, computational chemistry, computational design of
problems, there has been some work on finite-dimen-
pharmaceuticals, and computational metallurgy involve
sional problems. Examples are large linear systems and
computation with huge numbers of particles. Since the
eigenvalue problems, as well as the discrete problem of
specification of each particle in classical physics requires
synchronizing clocks in a distributed system (g.v.).
six dimensions and in quantum physics requires three
more dimensions, this leads to very high dimensional
Intractable Problems In applications, the inputs problems. Economic modeling can involve a large number
are often multivariate functions. For example, we might of variables. Path integrals, which are of great importance
want to integrate a function of d variables. Let the smooth- in physics, are infinite-dimensional, and therefore invite
ness of the class of inputs be r. Then to guarantee an error high-dimensional approximations.
of at most ¢€, This motivates our interest in breaking the exponen-
tial dependence of complexity on dimension. Since this is
comp“ (6) = O (Ye) ary, a complexity result, we cannot get around it by a clever
algorithm; we must change the setting. We might break
The symbol on the left-hand side indicates this is the intractability by permitting randomization or by settling
complexity in the worst case deterministic setting. Worst for an average case assurance. We consider these in turn.
case means that we guarantee an error of at most ¢€ for
every input in a class of inputs. Deterministic means that Randomization The first significant use of random-
we do not toss coins. The capital theta notation means
ization was the Monte Carlo method (q.v.), introduced in
that the upper and lower bounds on the computational
the 1940s. As indicated above, multivariate integration is
complexity differ by at most a constant.
exponential in dimension if coin tossing is not permitted,
We comment on this result:
even if the integrand is evaluated at optimal points. How-
ever, if the integrand is sampled at random points,
1. It holds for many problems, including integra-
tion, approximation, nonlinear optimization, sys- comp” =0(47) ;
tems of nonlinear equations, linear elliptic
differential equations, and Fredholm integral Hence, the symbol on the left-hand side indicates this is
equations of the second kind. the complexity in the worst case randomized setting.
2. Fore and rfixed, the complexity is exponential in This is a truly remarkable result. If one evaluates at
d. random rather than at optimal deterministic points, the
3. Hence, any problem with this complexity is in- complexity is independent of the number of variables d!
tractable. We can regard the dimension as the Furthermore, this holds even if the class of integrands
size of the input. (The number of variables and consists of functions that are only continuous (i.e. r = 0).
dimension are used interchangeably.) This may For this class, comp”“* (¢) = 0,
be contrasted with discrete problems, where the Thus, randomization can be very powerful for contin-
size of the input is typically the number of uous problems, just as for discrete problems (see COMPU-
objects. TATIONAL COMPLEXITY). Not all intractable problems can be
INFORMATION HIDING 657
Computational Complexity
ness, Recursive Functions and Universal Machines.” Bulletin
AMS 21, 1-46.
1991. Traub, J. F. and Wozniakowski, H. Theory and Applications
discrete continuous of Information-Based Complexity. Lectures in Complex Sys-
tems, Santa Fe Institute Studies in the Sciences of Complexity,
Lect. Vol. Ill (L. Nadel and D. Stern, Eds.). Reading, MA: Addi-
son-Wesley.
paritial information (IBC) 1991. Werschulz, A. G. The Computational Complexity of Differen-
complete information
tial and Integral Equations. Oxford: Oxford University Press.
FIG. 2. Structure of computational complexity. 1991. Wozniakowski, H. “Average Case Complexity of Multivariate
Integration.” Bulletin AMS 24, 185-194.
JOSEPH F. TRAUB
broken by using randomization. It is an open question to
characterize the class of problems for which intractabil-
ity is broken by randomization.
INFORMATION HIDING
Average Case Another way we can try to break in- For articles on related subjects see ABSTRACT DATA TYPE;
tractability is to settle for an average case assurance. ENCAPSULATION; MODULAR PROGRAMMING; OBJECT-ORIENTED
That is, we consider error and cost averaged over a set of PROGRAMMING; and TRANSPARENCY.
inputs.
Recall that for multivariate integration Three major problems in developing complex soft-
ware systems are:
comp”o<* (e) = e(% yar ).
ment, analogous to a black box that has a set of switches abstract data types. The secret of the abstract data type is
that the user may operate and a set of dials that the user the representation of the data and the way that operations
may observe. The device can be used without knowing on the data are implemented. The stack may be consid-
how its internals operate. Much as the owner of a wrist- ered to be an abstract data type whose representation is
watch need not know how the watch’s mechanism oper- hidden and whose operations are PUSH, POP, TOP, and
ates to read or set it, the user of the services of an DEPTH.
information-hiding module need not know how those ser- A number of programming languages provide sup-
vices are programmed to use them. In the stack example, port for creating and using information-hiding modules
the stack module need only provide to its users an inter- and their interfaces. Prominent examples include pack-
face that allows them to push items onto the stack, pop ages in Ada (q.v.), modules in Modula-2 (q.v.), and objects
items from the stack, read the top item on the stack, and in Smalltalk. In each case, the language separates the
determine how many items are on the stack. specification of the syntax of invocation of a module’s
Because information-hiding modules have indepen- operations from the specification of their implementa-
dently changeable implementations, their internal struc- tion. Unfortunately, few languages provide any support
tures are independently understandable and verifiable. for specifying the semantics of the module’s services in
The internal structure of a module can be understood and other than comment form. The difficult task of creating
verified without considering the implementation details those specifications and checking them for consistency
of other modules. Limiting the information required to and completeness is left to the developers and users of
understand the implementation simplifies program verifi- the software. No special language is needed to apply
cation (g.v.) and makes the software easier to understand information hiding; early examples were done in Fortran.
and change. For the stack, the verifier must show that the Although organizing software using information hid-
implementation obeys the specification for the stack— ing has the benefits of encouraging the developer to de-
e.g. that it obeys the characteristic behavior of a stack sign software that is changeable and understandable one
(i.e. that a push followed by a pop does not change the part at a time, there are also potential drawbacks to its
state of the stack). use. Preserving the secret of a module requires that its
Because modules are work assignments, the assump- services be available only through its interface. Progress
tions that the programmer of one module may make about through a computation may require the use of the ser-
another module form the interface between the two. vices of many different modules. When procedures or
Those assumptions may be embodied in a variety of subroutines are used as the only interface mechanism,
mechanisms, such as procedures that a user may call, considerable overhead may be incurred in switching
signals that the module may send, or macros that users among different modules. The solution generally sug-
may include in their own programs. Guidelines for gested to this problem is to use inline procedures or
designing such interfaces, and example specifications macros rather than closed subroutines as the interface
may be found in Britton ef al., 1981. For the stack, the mechanism.
module may offer to its users procedures or macros called Where the number of modules in a system is large, it
PUSH, POP, TOP, and DEPTH. pays to introduce a hierarchical structure—for organizing
The specification of a module’s interface must in- them (Clements etal., 1984). The relation defining the hier-
clude the complete set of assumptions that the module’s archy is “part of’—i.e. lower-level modules are part of
users need to make about it. Such assumptions include higher level modules, or, equivalently, higher-level mod-
both the syntax used to invoke the module’s services and ules are the union of their submodules (Parnas, 1984). The
the semantics of those services. The semantics includes “part of” relation defines a design decomposition. Put an-
the externally visible effects on the module of invoking its other way, the information hidden by a higher-level mod-
services (including undesired events that may result), ule is distributed among lower-level modules. For
and specifications for the types of input and output data example, a module whose secret is the representation of
supplied to and by the module. data structures could be decomposed into submodules,
Although the use of information hiding may be seen one of which has as its secret the representation of stacks.
in the design of many software systems since the advent The hierarchy provides a roadmap that guides developers
of electronic digital computers, the earliest description of and maintainers when they make changes to the software.
the principle was given in Parnas (1972). A more detailed Although an_ information-hiding decomposition
explanation of its systematic use in the design of complex makes clear what decisions are easy to change, it should
systems may be found in Clements et al. (1984). not be considered a complete design description. Con-
Much of the current activity in developing software cerns such as the run-time operation of a system, the
design methods relies on the use of the information-hiding organization of a system into subsets, or the flow of
principle. It is the basis for object-oriented programming data through a system are better addressed by examining
design methods, wherein software is organized into ob- other design structures.
jects that perform services for each other without being Information hiding is another view of two other soft-
dependent on each other’s implementations. Each object ware design principles. It is one way to separate concerns,
may be considered an implementation of an information- so that developers and maintainers may concentrate on
hiding module; many objects of the same type may be one concern at a time, and it is a means for achieving
implementations of the same module. The principle is also abstraction, since an information-hiding module provides
the basis for organizing the data used by a program into its users with an abstraction of the decision that it hides.
INFORMATION PROCESSING 659
binary switching operations (see SEARCHING). Suppose we nal equation, then subtracting 2X from both sides, and
have a store of 64 records. Since 64 = 2°, we can use strings then dividing the resulting equation through by 3, we
of 6 binary digits each (e.g. 100110) to provide distinct obtain the final result, X = 4/3, without any search what-
addresses for the 64 records. An appropriate switching soever. This was accomplished by comparing the given
device would have to perform six switching operations— equation with the form of the desired solution, and taking
one for each digit—to select a desired record. With sucha specific actions to bring it into the desired form based on
system, the number of switching operations required to the specific differences noted. Thus, when the constant 3
select a record increases only with the logarithm of the is found on the left side, where no constant is wanted, it
number of records—6 binary operations, as we have seen, is removed by subtracting 3 from both sides.
for 64 records; 10 operations for 1,024 records; and 20 At each step, specific information extracted from the
operations for more than a million records. problem expression is used to choose a specific action
An unindexed book (or a non-alphabetized encyclo- that will alter the expression in the desired way. Since all
pedia) frustrates human information processors because the required selectivity is provided by the information
it provides no means to find a desired item of information embedded in the given symbolic expression, no search is
without linear search. Thick books are proportionately required to find the answer. The safe can be opened, so to
more frustrating in this respect than thin books. A good speak, by reading off the correct combination, rather than
index converts the book into an addressable, direct ac- by spinning the dials to try different settings. Simple as it
cess store. The cost of retrieving an item can now be is, this example is a prototype for the most sophisticated
expected to increase only with the logarithm of the size of artificial intelligence systems, and contains in rudimen-
the book. tary form the information processes needed for carrying
out means-ends analysis. (Means-ends analysis involves
Problem Solving To illustrate how information per- deleting one or more differences between an actual and a
mits selectivity in solving problems, we will examine a desired situation and then applying operators to reduce
trivially simple example. one or more of the remaining differences as described in
How do we use an information processor to solve the the algebra example above.)
algebraic equation A basic reason, then, why we refer to computers as
information processors is that they have not only to pro-
SX +3 =2X+7 vide us with information—by performing a numerical
computation, retrieving data from a store, or in some
for X. other way—but also to respond to new information, en-
If we depended only on the processor’s speed, we abling them to substitute a high degree of selectivity for
might try a simple generate-and-test method: Generate brute force search speed as a means of solving problems.
various values of X and substitute them in the equation;
then test whether the two sides are equal. The futility of References
this approach is evident as soon as we ask, “Over what
1972. Newell, Allen and Simon, Herbert A. Human Problem Solving.
class of values shall we generate—integers, rational num- Englewood Cliffs, NJ: Prentice-Hall, Chap. 4. (This work dis-
bers, real numbers—and in what order?” Of course, a very cusses selective search, and describes a number of general
fast computer might solve such problems in a reasonable search methods, including means-ends analysis and their
time, if only problems involving small numbers were pre- properties.)
sented and possible solutions involving fractions with 1972. Simon, Herbert A. and Sikl6ssy, Laurent (Eds.). Representa-
small numerators and denominators were generated first. tion and Meaning. Englewood Cliffs, NJ: Prentice-Hall. (Further
A second approach might be to write the equation as examples of sophisticated search in information processing
systems that use information to guide search in sophisticated
ways.)
5X +3 — 2X —7=0.
1989. Posner, Michael I. (Ed.). Foundations of Cognitive Science.
Cambridge, MA: The M.L.T. Press.
Then we could generate a possible solution and test to
find if it gave a positive or negative value to the left side.
HERBERT A. SIMON
If the values were positive, this information, communi-
cated to the generator, could cause it to next generate a
smaller possible solution or, if the values were negative, a
larger solution. In this way, the feedback of information
could guide the generator to the correct solution by a INFORMATION RETRIEVAL
process of successive approximations. Computational al- For articles on related subjects see CD-ROM; CURRENT
gorithms that employ successive approximations use in- AWARENESS SYSTEM; DATABASE MANAGEMENT SYSTEM; DATA SE-
formation in this general way to reduce the amount of CURITY; DATA STRUCTURES; INFORMATION AND DATA; INFORMATION
search. SCIENCE; INFORMATION SYSTEMS; LIBRARY AUTOMATION; MANAGE-
Of course, a far more effective way to solve the origi- MENT INFORMATION SYSTEM; MEDLARS / MEDLINE; NATURAL LAN-
nal equation is to observe that the solution is an expres- GUAGE PROCESSING; and SEARCHING.
sion of the form X = K, with no constant on the left side,
no term in X on the right side, and X having unity as its Information retrieval (IR) is concerned with the struc-
coefficient. By subtracting 3 from both sides of the origi- ture, analysis, organization, storage, searching, and dis-
INFORMATION RETRIEVAL 661
results equivalent to, or exceeding in effectiveness, those An equally small storage overhead may be incurred
now obtainable in manual systems. in the computed-access or scatter storage files, where the
Instead of using ordinary index terms for the repre- stored information is grouped into sets of items mathe-
sentation of document content, it is also possible to de- matically related in some way. In this case, a computation
scribe bibliographic items by using lists of bibliographic is performed on the set of terms used for accessing, and
citations related to the particular item to be described. the hashed result of the computation is transformed into
The citations may consist of the reference lists that nor- one or more storage addresses corresponding to the loca-
mally appear at the end of a given technical article or tions where the requested information may be stored.
book. Alternatively, the citations may comprise outside The search time is very small for computed access files,
documents.that themselves cite the particular item under and no directories may be needed in addition to the main
consideration. A citation index can be used to identify the file. However, it is difficult in practice to construct good
lists of outside documents that all refer to a given docu- hashing functions that produce few collisions between
ment. An example is shown in Fig. 2. The representation distinct items mapping into the same storage address (see
of document content through the use of citations is indi- SEARCHING).
rect: A document dealing with toxicity is described by Chained files are characterized by the fact that all
citing other toxicity-related documents from the litera- items exhibiting a given common identifier are “chained”
ture. together by appropriate links, or pointers; a directory
normally provides access to the first item in each chain,
File Organization and Search Strategies Sev- and the file is searched by following the pointers within
eral classes of file organizations are commonly used, the the individual chains. Chained files provide faster access
simplest of which is the serial file. Here, no subsets of the than do serial files, but considerable storage overhead
file are defined, no directories are provided affording may be incurred to store pointers and directories, and a
access to any subsections of the file, and no particular file problem arises when the chain lengths become excessive
order is specified. A search is then performed by a se- for certain terms.
quential comparison of the query with the identifiers of The best known and most universally used file orga-
all stored items. Such a serial file organization is most nization in information retrieval is the so-called inverted
economical in storage space, since no overhead is in- file, where a large inverted directory is used to store for
curred for the storage of directories or links between each applicable keyword or content identifier the corre-
items. Furthermore, access is equally convenient with sponding set of document or item identifications and
respect to all keyword classes such as document authors, locations. The file is thus partitioned into sets of items
dates of publication, or content indicators. Unfortunately, with common keywords, and a search in the document file
a sequential search operation is time consuming and is is replaced by the directory search. To identify the docu-
thus unusable if search output is expected rapidly. ments indexed by term A as well as term B, it is sufficient
opie nosbee|
author author year year ||
to retrieve from the inverted directory the list of docu- query formulations. Such feedback operations are partic-
ment identifications appearing under term A as well as ularly helpful in obtaining more effective retrieval output.
term B. References contained on both lists represent the A typical on-line search protocol is given in Fig. 4.
answers to the query. Since only small portions of the Retrieval failures may be due to the analysis and
directory need to be accessed for any given query, ac- indexing policy—i.e. the assignment of too many, or too
ceptable search times are generally obtainable. For this few, or of anumber of incorrect content indicators—or to
reason, inverted files are currently used with almost all the indexing language itself (i.e. to the type of vocabulary
operational on-line retrieval systems. available for assignment to queries and stored informa-
Inverted file organizations are advantageous in a tion items); or to the search strategy used; or, finally, to
static environment where the set of terms usable for problems arising during user-system interaction. The use
content identification is not subject to many changes, and of natural language indexing systems may ease some of
where access to the complete term set pertaining to a the restrictions inherent in a controlled indexing lan-
given stored item is not normally required. In a dynamic guage in that it creates many diverse avenues for obtain-
situation where changes are made to the content indica- ing access to the stored information. On the other hand,
tors attached to queries and documents, a clustered file new problems may be introduced by ambiguous or non-
organization may be preferable. In a clustered file, items standard uses of the vocabulary. Many of the retrieval
that exhibit similar sets of content identifiers are auto- problems arising in standard systems from the lack of
matically grouped into common classes, or clusters, and appropriate user-system interaction are eliminated in
a search is performed by looking only at those clusters modern real-time search systems.
that exhibit close similarity with the corresponding query In addition, networks of information systems which are
identifiers. A clustered file produces fast search output, starting to be created may relieve the inadequacy of local
and the file-updating operations are relatively easy to data banks, provide access to a greater variety of ser-
implement. vices, and furnish economy and improved use of techni-
cal competence.
The question of information privacy, involving the
Retrieval Operations In many conventional re-
right of individuals to obtain access to a given piece of
trieval situations, a search request is constructed by
information under specified conditions, is most complex,
choosing appropriate keywords and content terms and
and no solution acceptable to all user classes is likely to
appropriately interconnecting them by boolean connec-
emerge soon. On the other hand, it is relatively easy, at
tions (and, or, nof) to express the intent of the requestor.
least conceptually, to provide file security by implement-
For example, a request covering “tissue culture studies of
ing any given set of privacy decisions. Elaborate systems
human breast cancer” may then be transformed into the
of user authentication by means of special passwords and
statement shown in Fig. 3.
of monitoring devices designed to detect unauthorized
Searches may be conducted off line, in which case a
access are now in use in most installations.
sequential file search may be used to obtain responses
within several days, or weeks, from the time of query
submission; alternatively, an on-line search can be carried
Retrieval Applications The most common type of
retrieval situation is exemplified by a reference retrieval
out directly from a terminal device using an inverted file
system performing “on demand” searches submitted by a
organization. If an on-line console search is used, various
given user population. Normally, only the bibliographic
optional displays may be available to help the user in
information is stored for each item, including authors’
obtaining acceptable search output. Thus, tutorial se-
names, titles, journals or places of publication, dates, and
quences may be included to inform the operator about
applicable keywords and content identifiers. Often, only
the features of the system; displays of the available term
the keywords are usable for search purposes. Sometimes,
vocabulary may be used during the generation of the
the words of the document titles can also be searched.
query statement; finally, displays of previously retrieved
Less commonly, more extended text portions such as
information—i.e. titles or abstracts of items retrieved
abstracts, summaries, or even full texts may be stored, in
earlier—may help the user in constructing improved
which case a text search (as opposed to a simple keyword
search) becomes possible.
Human In any case, the responses provided by the system
Breast neoplasm or not consist of references to the bibliographic items that
or and (any term match the user queries. In most conventional situations,
Carcinoma, ductal indicating the retrieved information is submitted to the users in no
animal or particular order of importance. An ordering in decreasing
disease) query-document similarity can, however, be obtained in
the more advanced systems, which can then be used
Tissue culture advantageously for search negotiation and feedback pur-
or poses. A sample search output in decreasing query-docu-
and Culture media and English ment similarity order is shown in Fig. 5.
or In a standard reference retrieval system, a search is
Chick embryo conducted only when a user actually submits a search
request. However, systems also exist which permanently
FIG. 3. Typical boolean query formulation.
664 — INFORMATION RETRIEVAL
eee ee USER::
FIND INFORMATION RETRIEVAL
++++CONIT:
S1B WHERE
Your SEARCH HAS BEEN NAMED $1 WHICH CONIT, Witt GET BY DOING: COMBINE $1A AND
S1A = FIND INFORM:
$1B = FINO RETRIEV:
RESPONSE NOT YET RECEIVED FROM RETRIEVAL SYSTEM.
SHouLp CONIT walt FOR A RESPONSE ANY LONGER? (Answer YES or NO)
eeee «USER::
YES
SEARCH S1A (FIND INFORM: ) FOUND 15867 DOCUMENTS.
Note THAT CONIT ORDINARILY SEARCHES EACH WORD IN YOUR SEARCH
SEPARATELY AS INDICATED BY THE COMBINE COMMAND FOR THE SEPARATE
SUB-SEARCHES.
Note ALSO THAT CONIT ORDINARILY SEARCHES FOR ALL tenms BEGINNING
WITH YOUR SEARCH WORDS AS INDICATED BY THE TRUNCATION SYMBOL (:).
USUALLY, THIS KIND OF SEARCHING GIVES THE BEST RESULTS.
FOR INFORMATION ON OTHER TYPES OF MORE EXACT SEARCHING, TYPE:
E EXACT
RESPONSE NOT YET RECEIVED FROM RETRIEVAL SYSTEM.
SHOULD CONIT walt FOR A RESPONSE ANY LONGER? (ANSweR YES or NO)
eeseeUSER::
YES
SEARCH $18 (FIND RETRIEV:) FOUND 1464 DOCUMENTS.
SEARCH S1 (COMBINE 1A AND 1B) FOUND 1093 DOCUMENTS.
TO SEE REFERENCES TO THE FIRST 5 DOCUMENTS TYPE:
SHOW
eee USER::
SHOW
-1 e
store (and update) user “interest profiles” (i.e. dummy ingly, to delete or downgrade) the respective terms from
queries that express the principal areas of interest for a the profiles.
given user population). Any new information items com- The rapid development of SDI systems is due in large
ing into the system are then periodically matched against part to the production and availability of a variety of
the stored interest profiles, and the relevant output is databases containing titles, references, and sometimes
supplied directly to each individual on a dependable, index terms of the published information in various fields.
continuous schedule. Data management, or management information sys-
Some of the operational systems for such a selective tems normally provide general file processing capabilities
dissemination of information (SDI) use responses submit- together with user interface methods to simplify the
ted by the user population following receipt of a retrieved manipulation and analysis of the stored data. In general,
document to update automatically the stored user pro- such systems include simple record-keeping provisions,
files. Thus, as users become more or less interested in together with exception reporting, and output-generating
some areas, the positive or negative responses of the capabilities based on the use of statistical packages and
recipients are used to add or upgrade (or, correspond- plotting facilities.
INFORMATION SCIENCE 665
Science Information Service through which the Founda- ogy). Some, however, have realized early that significant
tion “shall (1) provide, or arrange for the provision of, progress in the social mission of information science may
indexing, abstracting, translating, and other services depend on its ability to develop a natural science branch
leading to a more effective dissemination of scientific of the discipline to be devoted to basic research on the
information, and (2) undertake programs to develop new nature and properties of “information” as a fundamental
or improved methods, including mechanized systems, for phenomenon, and on primitive information processes.
making scientific information available.” Such a realization motivated the establishment of aca-
In the 1960s, the thrust of information science was demic departments of information science in colleges of
applied rather than theoretical, focusing primarily on science and engineering (in contrast to librarianship-affil-
the handling of bibliographic records and textual infor- iated departments in colleges of arts and humanities), the
mation. Two major foci of effort received considerable first of which opened in 1963 at the Georgia Institute of
attention: the study of communication processes in the Technology, under sponsorship of the National Science
communities of science and industry; and the develop- Foundation. Exemplary of the perceived need for a theory
ment of computer-aided techniques and systems for of the field was the 1979 research agenda of the NSF
more efficient organization, storage, and dissemination Division of Information Science and Technology (later
of recorded scientific information. France coined for amalgamated into the Directorate of Information and
these two areas of activity the term informatique, pop- Computer Sciences).
ularized after its adoption by the Soviet bloc. (Since As a basic science, information science has only
then, informatics has come to designate, in Western and begun its search for content and structure. One early
Eastern Europe as well as in the Orient, the broadest direction of this incipient effort in the U.S., the (former)
domain of intellectual activity that the U.S. increasingly USSR, and western Europe is that of empirical semiotics,
refers to as computer science - q.v.) the study of sign phenomena. (Signs are entities that
Subsequently, the preoccupation of applied informa- signify some other thing, called the “object” of the sign,
tion science with the control of recorded information and and can be interpreted by a sign interpreter.) This direc-
communication in the scientific sector has been broad- tion includes investigations of the static structure of
ened to encompass concern with information handling signs—as represented by fields such as-semantics, infor-
in other professions as well: management, education, mation theory, and complexity theory—and the study of
medicine and health care, government, law, the military, dynamic sign processes (semiosis) that transfer or trans-
and others. The initial premise of applied information port sign phenomena. In this setting, information science
science—that the cost effectiveness of scientific and engi- is of metadisciplinary import, due to the semiotic nature
neering work can be raised by improving the communica- of the non-physical sciences (linguistics, psychology, so-
tion among its practitioners—has been formulated into a ciology, history, and others) in which the essential phe-
broader assumption that the cost-effectiveness of the nomena studied are sign phenomena.
human information processes that characterize these Another direction of current research in basic in-
professions (e.g. problem solving, decision making, learn- formation science attempts to explicate the nature of
ing) can be significantly improved through their formal- information through empirical studies of various infor-
ization and gradual delegation to symbol processing mation-based phenomena and processes. This effort has
machines. already led to formulations of various laws, theories,
From this assumption, present-day information sci- and hypotheses. Nevertheless, there is agreement that
ence and its professions derive their current social mis- as yet a scientific basis for a general science of infor-
sion and long-term objective: the design of information mation remains wanting.
processing systems that augment the human mind and
purposeful activities. The significance of the social mis- References
sion of information science lies in its extending the his-
1980. Slamecka, V. and Borko, H. (Eds.). Planning and Organization
toric human concern with the efficiency and effectiveness of National Research Programs in Information Science. New
of physical processes into the domain of the symbolic York: Pergamon Press.
processes of the human mind. So formulated and interpre- 1983. Machlup, F. and Mansfield, U. (Eds.). The Study of Informa-
ted, information science subsumes or provides linkages tion: Interdisciplinary Messages. New York: John Wiley & Sons.
among directions and aspects of other disciplines and 1989. Heilprin, L. B. and Williams, M. E. “Foundations of Informa-
professions, including those of applied computer science. tion Science Reexamined,” in Williams, M. E. (Ed.). Annual
Indeed, to the extent that both computer science and Review of Information Science and Technology, 343-372. Am-
information science share these logical aspects of an en- sterdam: Elsevier Science Publishers.
gineering discipline (an interest in the design and use of
information processing engines and systems), they are VLADIMIR SLAMECKA AND CHARLS PEARSON
considered by many to be synonymous.
As reflected in its principal review publication (An-
nual Review of Information Science and Technology) and
the programs of its professional societies (in the U.S., the
INFORMATION SYSTEM
American Society for Information Science), the dominant For articles on related subjects see ADMINISTRATIVE APPLICA
character of recent information science has been that of TIONS; BULLETIN BOARD; COMPUTER INTEGRATED MANUFAC-
a social science and/or an engineering science (technol- TURING; DATABASE MANAGEMENT SYSTEM; DATA PROCESSING;
INFORMATION SYSTEM 667
DISTRIBUTED SYSTEMS; DISTRIBUTED SYSTEMS; ELECTRONIC MAIL; and software constitute the computer system or computer
KNOWLEDGE REPRESENTATION; MANAGEMENT INFORMATION SYS- platform. In addition, there are programs specially pre-
TEM; MEDLARS/MEDLINE; and SYSTEMS ANALYST. pared for the particular system, frequently known as ap-
plication software, which are prepared in some high-level
An information system is a collection of people, pro- programming language or acquired from other sources.
cedures, and equipment designed, built, operated, and The data stored in and maintained by the system is called
maintained to collect, record, process, store, retrieve, the database and is stored on auxiliary memory devices
and display information. such as disks and tapes. In some systems, a distinction is
In practice, the term information system is used in a made between data, applications software, and knowl-
very general sense, both in technical literature and in edge. In these systems, there may be a knowledge base
general publications. For example, in Computing Reviews, separate from the “facts” database and a software pack-
information systems is a major category that has sub- age known as the inference engine. Even in a computer-
categories: models and principles, database manage- based information system, the processing is usually
ment, information storage and retrieval, and information supplemented by manual (non-computerized) proce-
systems applications. Computerworld (1990) contains a dures. Interaction between the system and its users is
list of the most effective users of information systems. provided through an organizational interface.
Sometimes the term information processing system is used
when the focus is on the “processing” of information Classification of Information Systems _Infor-
rather than on its use. The term data processing system is mation systems may be classified in different ways for
frequently used synonymously with information process- different purposes. One method of classification is by the
ing system. A difference arises when an attempt is made to application area, such as manufacturing, payroll, voter
distinguish between data and information. One journal registration, accounting, and airline reservation. There is
concentrating on the latter is Jnformation Systems. no standard, generally accepted taxonomy for this type of
An information system may utilize various technolo- classification. Another classification is by type of service
gies; Sage (1968) describes the historical development of rendered, where the following categories are typical:
information systems in organizations from Babylonian
times. Systems that contain digital computers as integral 1. Computing service systems that provide a general
parts are sometimes called computer-based information computing service to a number of users. Com-
systems (CBIS) to distinguish them from earlier (i.e. man- mon examples are university computing centers,
ual) systems. computing centers in research institutions, and
commercial time-sharing services.
Structure Aninformation system itself may be viewed 2. Information storage and retrieval systems de-
as shown in Fig. 1. Information systems accept (as input), signed to store data (or documents) and retrieve
store (in files or a database), and display (as output) it in response to queries. Examples are the med-
strings of symbols that are grouped in various ways (dig- ical information retrieval system MEDLARS
its, alphabetical characters, special symbols). Users of (g.v.), various services providing financial data,
the information systems attribute some value or meaning and services providing bulletin boards (q.v.).
to the string of symbols. In this article, the emphasis is on 3. Command and control systems built to monitor
the characteristics of systems rather than on the meaning some given situation and provide a signal when
attached to the output. predefined conditions occur. Examples are vari-
One component is machines, or hardware, of which ous military systems, systems built by NASA for
the most important is the CPU (central processing unit) space programs, and the Federal Aviation Admin-
and various input and output devices, such as terminals, istration system for air traffic control.
personal computers, workstations, readers, printers, etc. 4. Transaction processing (q.v.) systems designed to
In distributed systems, the hardware also includes com- process predefined transactions and produce
munication equipment. Next is a set of system software predefined outputs, as well as maintain the nec-
(hard software), including operating systems, utility pro- essary database. Examples are order-entry bill-
grams, database management systems, etc. The hardware ing systems and airline reservation systems.
Outputs
Inputs
5. Message switching systems such as electronic job has been started, it is processed completely
mail (¢.v.). through to the final result. All the necessary files in
6. Process control systems designed to control phys- the database are updated.
ical processes by monitoring the conditions and Interactive—The user communicates with the comput-
signaling appropriate action to the machines. ing facility via termjnals or personal computers,
Common examples are systems to control chem- and requests are processed as they arrive. The user
ical processes and oil refineries. gets quick responses, which may be used to prepare
the next input. In order to accomplish this, it is
A summary of the inputs, database contents, and outputs usually necessary to provide some method of time
for these six types of systems is given in Table 1. sharing (g.v.) unless the system is dedicated to.a
Information systems may also be classified by the single user.
type and degree of interaction with the user and/or the Real time, or on-line—When a request is received, it is
environment in which the system is embedded. acted on as soon as possible, so as to provide a
response within a given time period.
Batch or sequential processing—Requests are grouped
into batches on the basis of common processing Each of the types of systems has certain characteris-
requirements, and each batch is processed as a tics that affect its structure, the measures of performance
unit, often at a predetermined time. The individual that are appropriate, and the process of designing, build-
user therefore gets results at the conclusion of all ing, and operating the system. Many systems are mixtures
operations on the batch in which the request is of the basic types; some examples are:
included.
Store and forward—Each resource in the system has a Business data processing systems—These are basi-
queue, consisting of the jobs that require that cally transaction processing systems, but usu-
resource. When a job is finished at that resource, it ally are designed to serve users distributed over
is sent to the queue at the next resource needed, a geographical area; hence, they include commu-
and the next job in the queue is processed. The user nication and message-switching capabilities.
gets results when all the operations on a job have Management information systems (MIS)—These are
been performed. a combination of information storage and re-
In-line or random processing—Jobs are selected for pro- trieval systems and command and control sys-
cessing according to some priority scheme; once a tems. They usually draw a substantial part of
Computing service Both programs and Created by individual Specified by users for
data supplied by users for their own their own purposes.
users. purposes. System
maintains minimal
database for control
and allocating
charges.
Information storage Determined by system Contains all input Produced in answer to
and retrieval designers on basis of received. user inquiries.
what is relevant to
inquiries to be
answered.
Command and control Obtained from sensors Built up from data Warning and action
and monitors. received by inputs; notices obtained by
contains system periodic processing
state. of inputs and system
state.
Transaction Predefined Contains all data Specified by system
processing transactions. necessary to process designer to
transactions and accomplish system
produce outputs. objectives.
Message switching Messages. Minimal. Contains Messages sent to
data on status of specified location.
nodes in network.
Process control Obtained from sensors Status of all processes Signals to control
and monitors. under control of operator of physical
system. devices.
————————————————
e —— ee
INFORMATION SYSTEMS METHODOLOGY 669
their data from business data processing sys- tions with the machine, and of the communica-
tems. These systems may include subsystems tion among the various units of the machine.
that are termed decision support systems (DSS) Therefore, documentation is an important as-
or executive information systems (EIS). pect.
Computer-integrated manufacturing systems (CIMs)— 6. The uses of the systems and the technology on
These systems integrate business data process- which the systems are developed are continu-
ing, manufacturing control, and factory floor ously changing, as are the organizations using
control systems. them; consequently, the systems themselves are
Computer networks (q.v.) and distributed systems— seldom if ever static.
These provide computing service and message
switching over a geographical area. They may Information systems are expensive to develop and oper-
also provide transaction processing capability. ate; consequently, analyses to determine whether they
The users of systems may be geographically dis- are serving the desired needs of users, as well as the
tant from the physical hardware. Users initiate measurement of their performance, continue to receive
different types of requests or jobs to be pro- considerable attention. Performance evaluation must be
cessed. The system has a number of different considered at a number of levels. At the top level, the
types of resources, and may have more than one value of the output of the system to the organization that
of each type. Any given request or job may need supports it must be determined. Once these specific out-
more than one type of resource, possibly given puts have been justified, the performance of the physical
in some order. There are different ways of organ- system in achieving these outputs must be measured.
izing the resources to accomplish the requests, This performance is a combination of the performance of
and systems may therefore be classified by the programs, software, and the hardware equipment itself.
- type of system organization. The process of developing user requirements and
designing systems to achieve them effectively is known as
systems analysis and design.
Common Features of Information Systems
The various classifications described above are useful in
References
identifying common features of systems that may appear
in more than one type. All information systems have 1968. Sage, S. M. “Information Systems: A Brief Look into History,”
certain characteristics in common: Datamation, 63-69 (November).
1971. Benjamin, R. I. Control of the Information System Develop-
ment Cycle. New York: John Wiley & Sons.
1. Information systems are human-made; i.e. they
1982. Blank, J. and Krijger, M. (Eds.). “Evaluation of Methods and
have to be designed, constructed, operated, and Techniques for the Analysis, Design and Implementation of
maintained. This is a nontrivial task and has led Information Systems,” Dutch Computer Society (NGI), Aca-
to the need for methods of system development, demic Service.
operation, and maintenance often called system 1990. Computerworld. “The Premier 100 Most Effective Uses of
development methodologies. An introduction to Information Systems,” 8 October, Section 2.
the topic is given by Benjamin (1971); an evalua-
DANIEL TEICHROEW
tion of a number of methodologies is given by
Blank and Krijger (1982). The process of system
development is being formalized through the dis-
cipline of software engineering (g.v.). Informa- INFORMATION SYSTEMS
tion systems to support software engineering
have been given the acronym CASE (computer-
METHODOLOGY
aided software engineering - g.v.). For articles on related subjects see DATABASE MANAGEMENT
2. Inthe development and operation of information SYSTEM; INFORMATION SYSTEM; MANAGEMENT INFORMATION SYS-
systems, both the software and the database are TEM; and SOFTWARE ENGINEERING.
important.
3. Because of the large cost involved in developing Information System Theterm information system is
information systems, there is an economic need used in many branches of computer science, with signifi-
for systems to share hardware, files, and soft- cantly different meanings. In the world of commercial
ware. data processing, an information system is a system, typi-
4. The systems tend to be large and costly to de- cally but not necessarily computerized, that provides
velop, operate, and maintain. This arises be- information to persons working in an enterprise. Such
cause of economies of scale involved in larger persons may be managers on various levels whose infor-
hardware and in economies of scale involved in mation needs are varied and unpredefinable in specific
operation and maintenance of systems. terms. At the other end of the spectrum, a user of an
5. The systems involve human-machine communi- information system may require the same kind of informa-
cation at various levels, and problems of design tion with intense regularity several times per minute. An
and operation include both problems of com- example of such a user is an information operator in a
munication among individuals, of communica- telephone company.
670 INFORMATION SYSTEMS METHODOLOGY
An information system may be wholly computerized is possible to subdivide the business area for more de-
such that it performs a set of predefined operations on a tailed analysis.
regular basis. Examples of such information systems in- The business analysis stage is the one in which the
clude a payroll system and an invoicing system. Alterna- business is analyzed in detail to determine which busi-
tively, an information system may be assisting users by hess activities are performed and the detailed informa-
keeping track of a large mass of data and presenting it in tion requirements of each. Business analysis is more
different forms at different times on request. Examples of concerned with the business than with considerations of
such systems are those for seat reservations at theaters computer hardware and software.
and on airlines. The differences separating system design and con-
struction design are as follows. System design covers the
Information Systems and Software Software is specification of the external features of the system (the
a necessary part of any computerized information sys- users’ view). It is independent of any considerations at-
tem. However, many argue about the significance of its tributable to the construction tools (DBMS, dictionary
role. The view that designing computer programs is the system, programming language) that are to be used to
major task in information systems design is slowly losing build the system. In some situations, construction tools
acceptance. On the other hand, for many people, the term may not be selected until the system design is completed.
“software” and the term “system” are treated as essen- Construction design, on the other hand, is concerned
tially synonymous. with the system internals (which the users do not see).
In this article, a broader view of the concept of infor- Furthermore, construction design depends heavily on the
mation system is adopted. An information system com- construction tools to be used.
prises the hardware, communications networks, systems The term construction is used in preference to pro-
software, applications software, and human procedures gramming because, with recent advances in technology,
required to provide the information necessary to support programming is only one of a number of alternative ways
the business activities in a given business area. of constructing the computerized part of an information
system. It is already commercially viable for a system to
Information Systems Life Cycle Incommon with be constructed automatically from the system design
other complex artifacts, an information system goes specifications.
through a life cycle. While the life cycle view is widely The evolution stage is being recognized as of increas-
accepted, there are varying opinions about the break- ing importance, and various distinct approaches exist for
down of this life cycle into stages (or phases). changing a system after it has been in the operational
One example of an information system life cycle stage for some time. Typical distinct approaches are re-
breakdown has been given by an international task group ferred to as restructuring, re-engineering, and reverse
of IFIP Working Group 8.1 (Design and Evaluation of Infor- engineering.
mation Systems). Their life cycle has the following 12
stages.
Information Systems Methodology Just as
. Strategic study. there are many different views of the information systems
. Information systems planning. life cycle, there are also many different views on how one
. Business analysis. should progress through the life cycle towards an opera-
tional information system. Many approaches have been
. System design.
the subject of considerable formalization (usually not in
. Construction design.
the mathematical sense). The term methodology is used to
. Construction and workbench test. refer to such an approach. It is noted that this term is
. Installation. etymologically incorrect, since “methodology,” strictly
=
Wh
th . Test of installed system.
oOonnn speaking, means “a study of methods.” For this reason,
. Operation. some approaches carry the name “method,” but the ma-
. Evolution. jority prefer “methodology.”
. Phase out. Most methodologies cover only a few stages in the
—
tt
Ow!
Noe. Post mortem. information systems life cycle. The stages in the above
information systems life cycle that have received the
It should be noted that terms such as “development” and most attention from methodology designers are the fol-
“implementation” are not used in this breakdown. Devel- lowing:
opment covers roughly the stages from 3 to 6. Im-
plementation covers either the stages 5 and 6 or else 7 and 1. Business analysis.
8, depending on the use of the term. 2. System design.
A Strategic study is the preliminary stage in which it is 3. Construction design.
determined whether new information systems are needed
at this time and, if so, how to proceed. /nformation systems However, the information systems planning stage and
planning is a stage that covers a large business area (pos- the evolution stage are also supported in some method-
sibly the whole enterprise) and includes a broad analysis ologies.
of information requirements. On the basis of this stage, it Each information system methodology uses a num-
INFORMATION THEORY 671
ber of what are here called techniques. Examples of tech- tic or probabilistic in nature. He defines a quantity called
niques are data flow diagramming and data structure entropy, which is a measure of the unpredictability of
diagramming. It should be noted that the term “method- messages from the source. Entropy can be expressed in
ology” is occasionally applied to a single technique. terms of bits per symbol, bits per message, or bits per
Many methodologies are referred to as system devel- second. He gives formulas for entropy in terms of joint
opment methodologies. This usually indicates that the probabilities.
methodology covers the construction design stage and Shannon deals with continuous signals through use
an activity preceding that which is often labelled “require- of the sampling theorem. A signal of bandwidth B can be
ments definition.” This view of the life cycle either com- exactly and recoverably represented by 2B numbers per
bines or fails to differentiate between the business second, each giving an instantaneous amplitude of the
analysis stage and the system design stage. signal. To avoid an infinite entropy for completely undis-
Information systems methodologies have their ori- torted continuous signals (audio waveforms or TV sig-
gins is different aspects of data processing technology. nals, for example), Shannon uses a fidelity criterion.
Some methodologies spring from a programming lan- Information from a message source is transmitted
guage background and emphasize the processing that over a communication channel. For actual channels, there
needs to do be carried out by the computerized informa- is always some noise or uncertainty, some random
tion system. Others have evolved from the use and mis- difference between what goes into and what comes out
use of database management systems and focus more of the channel. Despite errors or noisiness in transmis-
heavily on the data used in the business area and on a sion, communication channels have a channel capacity
database that is central to the design of the system. More measured in bits per character or bits per second.
recently, there have been claims that the events that can Shannon gives formulas for the capacities of various
happen in the business area and the events fhat happen channels in terms of either probabilities of errors in
in the computerized system are critical to a successful transmitting characters, or in terms of signal power,
methodology. noise, and bandwidth. The historic Shannon formula for
These various views are now converging and it is the channel capacity C of a channel of bandwidth B
increasingly recognized that a good methodology should with a signal power P and added gaussian noise power
be able to support the three perspectives of data, pro- N is
cess, and event.
C=B log, (1 + P/N) bits per second
Reference
1991. Olle, T. W., Hagelstein, J., Macdonald, I. G., Rolland, C., Sol, Shannon’s crucial theorem is that if the entropy of a
H. G., van Assche F. J. M., Verrijin-Stuart, A. A., Information message source is less than the channel capacity of a
Systems Methodologies: A Framework for Understanding (2nd noisy channel, messages from the source can be transmit-
ed.) Reading, MA: Addison-Wesley.
ted over the channel with less than any assignable error
T. WILLIAM OLLE rate through the use of error correcting codes.
The equation for channel capacity can be used to
find the absolute minimum power needed to send one
bit of information. The noise power JN is considered to
INFORMATION THEORY be the unavoidable thermal noise power k7B associated
with a source of temperature T degrees Kelvin (degrees
For article on related subjects see BANDWIDTH; ERROR-COR-
above absolute zero); k is Boltzmann’s constant; and
RECTING CODE; and SHANNON, CLAUDE E.
the bandwidth B is made very large. Then the minimum
energy needed for transmission is RT /In2 = .95 X 16"?
Information theory entered the world of engineering,
T joules per bit. The superbly engineered microwave
science, and mathematics through the paper, A Mathemat- links from spacecraft such as Voyager and Galileo come
ical Theory of Communication, published by Claude El very close to this.
wood Shannon in the Bell System Technical Journal in
1948, and, together with material by Warren Weaver, re- References
published in a book of the same name by the University
of Illinois Press in 1949. The book is still in print and gives 1949. Shannon, C. and Weaver, W. A Mathematical Theory of Com-
munication. Urbana, Illinois: U. of Illinois Press.
an excellent presentation of Shannon’s revolutionary
1977. McEliece, R. J. The Theory of Information and Coding. Read-
ideas.
ing , MA: Addison-Wesley.
According to Shannon, communication resolves un-
certainty. If we toss an honest coin, communicating the JOHN R. PIERCE
outcome takes one bit (binary digit) of information: a
heads or tails, a yes or no, a 1 or a 0. But with a biased coin
for which heads comes up more often than tails, the
sequence of heads and tails is redundant and can be en-
coded in less than one bit per toss.
A message source may produce text, speech, or other INHERITANCE. See Ossect-OriENTED PROGRAM-
messages. Shannon models a message source as stochas- MING.
672 INPUT-OUTPUT CONTROL SYSTEM (IOCS)
Get the next record. Deblock the next record. If buffer empty, get next buffer. Deliver next block
If no more buffers and file not ended, get the next from device.
series of file blocks.
Find a record ina Request index tracks. Search index to find block of record. Deliver index tracks.
randomly accessed file. Request block of record. Deliver requested track,
Find record and deliver to calling program.
Store a new record ina Add new record to proper block if there is space. Write updated block.
randomly accessed indexed file. Otherwise, write new record in a separate area. Write a new record.
Update the index to reflect the new data values. Fetch index blocks and
write index blocks.
eee
Hn
INPUT-OUTPUT CONTROL SYSTEM (IOCS) 673
ample, a request to read a file that has not yet been nance, control error handling and recovery, sense end-of-
opened might cause an error condition or simply cause file and other exceptional conditions, etc., depending on
the open request to be generated by the interpreter. Sim- the characteristics associated with a given logical unit.
ilarly, requests to write on a read-only device such as an Clearly, logical IOCS will communicate with physical IOCS
optical disk can be trapped at this level. when transfer of data is necessary. Table 1 illustrates the
division between logical and physical IOCS for several I/O
Execution of I/O Requests Execution of I/O requests requests.
involves various tasks:
Tables for Logical IOCS and Physical IOCS The infor-
1. Maintenance of correspondences between logi- mation that is particular to a given I/O unit is usually
cal and physical devices. organized into a table. The table (or more precisely, a
2. Generation of physical I/O commands based on pointer to it) is then passed to the particular IOCS routine
requests. as a parameter. Two types of tables may be distinguished:
3. Coordination of peripheral activities and mainte- logical device tables and physical device tables.
‘ nance of status information. Physical Device Tables
Following the usual distinction between logical and phys- Each physical I/O unit (device) will have an associated
ical units, it is convenient to divide the portion of the IOCS table containing information such as the following:
that is directly concerned with I/O transfers into two
1. The device type and an indication of the data
parts—logical IOCS and physical IOCS. Logical IOCS will
paths that may be used to transfer data to or
contain routines for managing data on logical units, while
from the device.
physical IOCS will perform analogous functions with re-
2. Status information concerning whether the de-
spect to physical units. Thus, physical IOCS will contain
vice is busy, which data path is being used if the
routines for every physical I/O device attached to the
device is indeed busy, and whether the device is
computing system (actually, these routines may be
reserved though perhaps not busy.
shared among devices that are all of the same type, such
as all disk drives). These routines will handle interrupts 3. The I/O operation currently pending on this de-
vice.
from the device and control the execution of I/O transfers
without regard for the logical content, format, or organi- 4. If the device contains storage that can be allo-
zation of the data being transferred. Physical IOCS will cated and freed (e.g. the device is a disk), an
also contain routines for handling errors and exceptional indication of which areas are available.
conditions received from the device. Extensive re-try 5. The address of the routine that can construct
schemes are often included to mask failures from higher commands for initiation of I/O transfers for this
levels of the system. device.
The logical IOCS contains routines that perform func- 6. The address of the routine that handles inter-
tions associated with the logical unit, as declared by the rupts from the device.
programmer (or as predefined by the system). Thus, the 7. The address of the routine that processes errors
logical IOCS will contain routines to handle space alloca- from the device.
tion and freeing, blocking and deblocking, index mainte- 8. Pointers to logical device tables associated with
Explanation:
Driver name: Name of subroutine that issues physical 1/0 commands.
Inst: Current physical I/O instruction being executed by the driver.
Entry count: Counts the number of requests on this device. '
Primary-Alternate channels: Naming of channels that can be used in
i Fog
conjunction with this device.
Head 1-2 positions: Status information on read/write head positioning.
FIG. 1. A portion of a physical device table. (Adapted from SCOPE 3.1 Manual, Control Data
Corp.)
674 INPUT-OUTPUT CONTROL SYSTEM (IOCS)
this physical device, with an indication of the . The symbolic name of the logical unit.
currently active logical device. 2. The logical device type and name of the file cur-
9. Pointers to other physical device tables that rently attached to this logical device.
share a data path with this physical device. . The logical I/O request currently pending on this
logical device.
Fig. 1 gives an annotated version of a portion of a physical
. A pointer to the buffer(s) associated with the
device table.
logical device, with indications of each buffer’s
Logical Device Tables status.
. The address of the routine used for transferring
The logical device table is used to keep track of informa-
data to and from buffers.
tion pertaining to an I/O operation on a logical device.
. The address of the routine that can process inter-
Since several logical devices may share a single physical
rupts, errors, and exceptional conditions for this
device (e.g. a disk), there may be several I/O operations
logical device.
outstanding on a given physical device. The current oper-
ation on the physical device is, of course, contained in the . An indication of which data areas on a shared
physical device table (see Fig. 1). The information con- device belong to this logical device (if appropri-
cerning the various logical device I/O operations will re- ate).
side in the logical device table. A logical device table will . A pointer to the physical device table for this
contain information as follows: logical device.
Bits 59 47 35 23 17 0
a)
Teen
Fine 1 les iLIMITa
FNT pointer record block size {Physical record
unit size
itis
i suMING toreOe GAIT Ne Gauge
akeca 1wat1
(magnetic tape) U BC MLRS
(mass storage) record request/return information
5
record
ae
index length index address
number
edition
number
Explanation:
1. Name of the file and information concerning its corresponding
physical device.
2. Buffer pointers for circular buffering.
3. Information concerning blocking factors for blocking/deblocking
operations.
4 . Indications of index locations for indexed sequential file
organization.
5. Label information for verification and future mount requests.
FIG. 2. Annotated logical device table. (Adapted from SCOPE 3.0 Manual 60189400, Rev. 1, Con-
trol Data Corp.)
INPUT-OUTPUT CONTROL SYSTEM (IOCS) 675
9. Status information concerning the “current” ad- it is possible to discover the physical device associated
dress or position of the logical device, the “cur- with a given logical device. Moreover, a change in logi-
rent” record number processed, the number of cal/physical device correspondence is easily accom-
records in a buffer, etc. plished by changing a pointer in the logical device table.
LDT [- OT faaDT
v OT ae)DT
disks, which involve movable read/write heads. Requests indicates an error, and an appropriate message will be
for data near the current head position can be serviced issued.
more quickly than requests that require considerable If the storage area resides on a disk or other sharable
head movement. Thus, in the scheduling of I/O opera- device, a somewhat different kind of location function
tions, it is not unusual for physical IOCS to have as part of usually takes place. There will generally exist a directory
its status information an indication of current read/write (g.v.) or catalog of all files that have been created in the
head position. Using this information, it can attempt to system, and a request to attach a logical device to one of
optimize requests serviced per unit time (or some similar these files will trigger a search of this catalog. The catalog
measure) by scheduling I/O operations based on “near- will indicate on which disk pack(s) the storage area has
ness” of data to the heads. Note also that the chain of been allocated. Each disk pack will typically have a table
physical device tables in Fig. 3 defines an ordering of of contents, which is essentially a collection of file labels
physical devices that can be used for deciding which of a for files on this pack. By searching this table of contents,
number of devices will be started first when more than the file is located.
one device could be started.
Initialization Once the data have been located, the ini-
Location of the Data and Initialization of Transfer Pa- tialization function can be executed. In order for I/O re-
rameters Before I/O requests can be interpreted and quests to be executed, various entries in the logical and
executed, the storage area that contains or will contain physical device tables must be filled in. These parameters
the data must be located and made accessible to the IOCS. may be specified on a system control card or by the
Moreover, various parameters in the logical and physical programmer during execution, but in certain cases they
device tables must be specified. The location and initial- may reside with the data itself, usually as part of the file
ization functions are responsible for these tasks. label. Thus, if it is appropriate, the initialization routines
The location function involves routines for finding will move a copy of these parameters to the appropriate
the physical devices on which the storage area to be table entries.
processed resides. This storage area may or may not be When the file is no longer needed, a final set of IOCS
directly accessible, depending on the particular com- routines will restore the file to a state in which it can be
puter system involved. If, for example, the programmer used at a later time. This will involve such things as
has attached a logical device to a tape drive on which a marking the end of a tape, rewinding it, and informing the
specified tape is to be mounted, then the IOCS must make operator that it may be dismounted, or updating the table
sure that the tape is indeed mounted. This will typically of contents for a file on a disk.
involve a request to the computer system operator to
mount the specified tape. It also usually involves a label Recent Trends In recent years, the trend has been
verification routine. In order to check that the operator ' for I/O control systems to become even more sophisti-
has indeed mounted the correct tape, a tape label in a cated. This is necessary primarily because the rate at
prespecified format will usually exist on the first record of which central processing units can process data is in-
the tape. The label will contain information that identifies creasing, while the rate at which I/O devices can access
the tape, and the label verification routine will match the and transfer data (while also increasing) is not keeping
identification on the tape with the identification informa- pace. This implies that more sophisticated buffering strat-
tion given on the request for tape mount. Lack of a match egies will have to be incorporated into the IOCS in order
Channel 1 Channel 2
y |YT
Device 2 Device 3 Device 4
that the data be ready when needed by the processor. One tary models of the logical structure of an I/O setup are
approach is to have the IOCS anticipate what data a presented. The models used here are purely logical; i.e. in
program will need (based on an analysis of reference any actual computer organization, some of the units to be
patterns) and transfer this data to a higher-speed storage mentioned may be physically non-existent, with their
device in order to reduce access time when the data is function being integrated into the other existing units.
actually referenced. The extra processing power to do This will not change the description of the I/O procedures
this reference analysis is often placed in an enhanced and operations that will be presented in this article.
channel. The program within the enhanced channel can In Fig. 1, we present the first of the two models, the
be regarded as a portion of the IOCS that has been moved channel model. The central processor and its memory are
to a special IOCS processor. The effect is to improve connected to channels. The number of possible channels
performance with minimal impact on the rest of the oper- is variable. Each has an identifying name (i.e. number).
ating system and allow other functions such as reorgani- Each channel can accommodate a number of peripheral
zation of the data for increased efficiency to be device controllers. Each controller will contro] one or
performed, with the main processor not becoming in- more identical, or very similar, devices such as line print-
volved. ers of different speeds, disks, and drums.
Another recent trend is to duplicate data to enhance In the area of I/O processing, the distinction between
reliability. This technique, called mirroring or shadowing, hardware and software is extremely vague. In certain
allows systems to continue operation in spite of media, cases, vendors of computing equipment include in their
controller, or channel failure. Sophisticated systems also hardware manuals a description of 1/O instructions, which
take advantage of the extra I/O path to enhance through- in reality are parameters to subroutines that incorporate
put. On-line reconstruction (“re-mirroring”) of.a new sec- the actual hardware ]/O instructions. The questions of the
ond copy when one of the original two is lost is also physical existence of channels and controllers must be
common. kept in mind when trying to apply the following discussion
to an actual computer.
References
1974. Madnick, S. E. and Donovan, J. J. Operating Systems. New Nomenclature The sequence of I/O operations
York: McGraw-Hill, 337-373. needed to perform an actual data transfer will be called
1974. Tsichritzis, D. C. and Bernstein, P. A. Operating Systems. New an I/O procedure. In an I/O procedure, all devices present
York: Academic Press, 123-145.
in the I/O setup (i.e. the central processor, the channels,
ROBERT W. TAYLOR
and the controllers) take part. They operate as indepen-
dent processors, each performing its own type of opera-
tion. We distinguish between I/O instructions performed
by central processing units, I/O commands performed by
INPUT-OUTPUT INSTRUCTIONS the channel, and I/O orders performed by the controllers.
The degree of independency and concurrency of these
For articles on related subjects see CENTRAL PROCESSING operations will be dealt with later.
UNIT; CHANNEL; DIRECT ACCESS; INPUT-OUTPUT CONTROL SyS-
TEM; INSTRUCTION SET; and MEMORY-MAPPED I/O.
I/O Operations 1/O operations are of two classes:
Input-output (1/O) instructions cause transfer of data control operations and data transfer operations. Control
between peripheral devices and main memory, and en- operations perform the following tasks:
able the central processing unit (CPU) to control the
peripheral devices connected to it. 1. Establish the data path between the main mem-
In order to discuss such instructions, two rudimen- ory and the peripheral device.
Central processor
and its memory
Channel 1
Groner]
}Controller 1 |. .--[-Controller m, Controller 1}. - -{ Controller Mm,
2. Check to verify that the path is legally estab- READ BACKWARD (in the case of magnetic tape), MOVE (the
lished and that all devices in the path are opera- recording) HEADS (in the case of disks), etc.
tional. The flags and options are usually short fields, some-
3. Diagnose the success or failure of all data trans- times as short as one bit, indicating specific demands and
fer and control operations. conditions. These may include indications of the course
of action to be taken on normal or abnormal completion
Data transfer operations initiate and terminate the actual of the channel command, additional information needed
data transfer through the preestablished path. to support some opcodes, enabling or disabling options
like command and data chaining (see below), modes of
I/O Instructions These are regular machine instruc- automatic character conversion (if applicable), etc.
tions in one of the formats acceptable to the computer. The starting address and count serve to identify the
They are decoded and performed by the central proces- data on which the operation is to be performed. In certain
sor in the same manner as any other instruction, such as cases, where the amount of information is limited by the
an arithmetic instruction. Examples of such instructions nature of the device (i.e. the length of the line on a line
are: START 1/0 (e.g. on the IBM/3000 series), which initiates printer), it is enough to indicate the beginning of the
a channel operation; TEST 1/0, which returns status infor- information.
mation about the conditions on an I/O path; HALT 1/0, etc. Once the channel is started, it processes its own
The number of basic I/O instructions is usually low, but commands which cause the transfer of data to and from
there are many variants, which may have different mean- the peripheral device controllers. This data, in turn, can
ings for different devices. These variants are usually de- be interpreted by the controller, either as an actual data
fined by the address fields of the instruction or deferred item or as an order to the peripheral device controller.
to the channel command (see below). The distinction between data and order can be done in
While performing these instructions, the whole cen- different ways. The transferred item may have identifying
tral processor is tied up, in the same way that any other information associated with it, or the sequence of arrival
type of instruction ties up the CPU. of the items will define them to be either orders or actual
data.
Channel Commands Channel commands, some-
times referred to as channel control words, or I/O descrip-
tors, are bit strings that contain control information for I/O Orders Orders to controllers may be: START, STOP,
the channel. They are interpreted by the channel, which TRANSFER status information, GET a data item, MOVE HEADS,
can therefore be viewed as an independent processor REWIND, etc. The orders obviously must reflect the nature
whose instructions are the channel commands, and of the controlled device.
which is operating in parallel to the central processor. Each step in the sequence instruction-command-
From such a description of the channel, it is clear why the order causes, in addition to its normal operation, the
role of the channel can, in certain configurations, be per- creation and storage of status information. This informa-
formed by the central processing unit. tion is usually of two types. One is the setting of the
The channel commands can be contained either in condition codes or status bits of the central processor
arbitrary or fixed memory locations (as in most large-and itself, as expected after each CPU instruction. The other
medium-scale computers), or in special registers (as in is the creation of a channel status word, sometimes also
most minicomputers and microcomputers). In each case, referred to as a result descriptor. Whereas the condition
the channel operation is initiated by a central processor codes describe the state of the CPU, the channel status
instruction that passes the location of the channel com- words describe the control information that is presented
mands to the channel, or that notifies the channel to start to the channel by the controller (together with data spec-
under the assumption that the channel commands are ifying the device itself), and the status of the channel
already resident in a predefined, fixed memory location or itself.
in predefined registers. The structure of the result descriptors varies widely
The structure of channel commands is very similar to among manufacturers. The reader is advised to consult
the structure of regular machine instructions. Fig. 2 con- the manual of any particular computer of interest.
tains a particular example of channel commands, taken The various status information items are used to
from IBM. The meaning of the various fields is almost determine the success, or failure, of the I/O process. In the
self-explanatory. The code (or “opcode”) is the actual case of failure, the program that initiated that I/O opera-
operation to be performed by the channel: READ, WRITE, tion can take either corrective or merely diagnostic steps.
<
FIG, 2. Channel commands for an IBM/3000 series computer. Field lengths are given in bits.
INPUT-OUTPUT INSTRUCTIONS 679
A complete I/O procedure will therefore consist of question of channels the vendors supply factory
the following steps. microprogrammable channels which, on one hand, have
the advantage of programmable computers, but on the
1. Prepare a set of channel commands that will other hand do not burden the user with software mainte-
cause the proper set of orders for the device to nance.
be activated.
2. Issue instructions that will activate the channel. Memory-Mapped I/O The second I/O model that
In this sequence of instructions, one should first we Shall present is called memory-mapped I/O (q.v.). We
check to see if the channel is available, i.e. not
shall describe two variants and compare it to the channel
busy with previous operations or physically dis- model, limiting the comparison to the question of I/O
abled. instructions and I/O procedures.
3. After completion of the I/O operation, check for In the purest form (Fig. 3), memory-mapped I/O maps
success and take necessary steps incase of fail- all data that is present in the peripheral devices to a single
ure. memory space, a one-level memory. This is usually done
dynamically, only for those items in peripheral memory
Procedures of this type are sometimes called //O drivers. that are of interest at the moment. Note that one can map
In an actual I/O process, it may be desirable to per- also some “write only” devices as printers and plotters.
form a whole program built from channel commands. The Although it is not necessarily visible on the user level,
sequencing through the program can be driven by the end such methodology is used, for example, in the IBM AS/400
of each command, or by the exhaustion of the data to be machines. I/O procedures and instructions are therefore
transferred, without the command being actually fin- not visible at the user level, as they are subsumed below
ished. These two methods of sequencing channel com- the level of the operating system (g.v.). Some types of
mands are called command chaining and data chaining, peripheral memory (cached disks) have a memory inter-
respectively. Not all computers possess this capability. face built into them, and are therefore easy candidates for
When present, this option is controlled by the flag and incorporation into single-memory systems.
option fields of the channel command. In the more widely used memory-mapped I/O—im-
In actual computer systems, the channels are some- plemented, for example, in the Motorola 68000 series or
times physically integrated into the CPU. It also happens in the Digital VAX system—all the control] part of the
more and more frequently that the controllers are inte- devices, such as control, command, and status registers
grated into the devices themselves. This by no means are mapped onto memory locations (Fig. 4). Therefore,
changes the description of the I/O procedures. The chan- there are no I/O instructions per se—their function is
nel commands merely turn into computer instructions. performed by a combination of regular instructions such
The actual transfer of data, made by the channel, will be as moves and tests (see INSTRUCTION SET) and the values
done by the central processor hardware. Whether this that are set into the dedicated memory locations for each
process will or will not tie up the computer is dependent device.
on the sophistication of the hardware. The memory locations for each device can be loosely
There exist computer configurations in which not divided into four categories: command, control, status,
only are the channels not integrated into the CPU, but (as and data.
in the CDC Cyber 170 series) are turned into full-fledged The command and control locations parallel the op-
computers. In this case, one needs a whole layer of soft- eration of the channel command. They provide the func-
ware in these computers to interpret the I/O request tion to be performed and the variants of each function. As
posted by the central processor. In other solutions to the opposed to channel commands, there are no predefined
ee
"Main" Device 1 Device 2
FIG. 4. Memory mapped I/O device control, status and data pointer map.
680 INSTITUTE FOR CERTIFICATION OF COMPUTER PROFESSIONALS (ICCP)
Merton R. Walker, CDP 1979-1980 cialty examinations of CCP, CDP, or CSP not cho-
Roland D. Spaniol, CDP, CSP 1981-1982 sen as the certification designation) that further
Robert P. Campbell, CDP 1983-1984 tests specialized skills gained in the computer
Thomas W. Briggs II, CCP, CDP, CSP 1985-1986 industry.
James R. Shackleford III, CCP, CDP, CSP 1987
Mike Maier, CDP, CSP 1988-1989 For example, to obtain designation as a Certified Data
Anderson H. Vaughan, CDP, CSP 1990-1991 Processor, one would need to take the core examination,
Michael R. Fitzpatrick, CDP 1992- plus the specialty examination required for CDP, plus one
additional specialty examination. All three examinations
Organizational Structure The Institute is gov- must be completed within 24 months or four testing ses-
erned by a Board of Directors to which each member sions, whichever comes first, from initial test date.
society designates two directors. Officers of the Institute The ICCP certification programs are directed to se-
are elected from the Board at its annual meeting and nior level personnel in the information processing indus-
include a president, vice-president, secretary, and trea- try. Any person may take any examination. However, they
surer. The officers constitute an Executive Committee, will not receive a certificate and be entitled to the use of
which may act for the Board between its regularly sched- the corresponding designation until the following experi-
uled meetings. Standing committees advise the Board and ence requirement is met.
assist in the management of the Institute, while ad hoc
committees are established from time to time to investi- Experience A candidate must have at least 60 months of
gate, evaluate, and recommend action on potential pro- full-time (or part-time equivalent) direct experience in
grams. Md computer-based information systems. The 60 months
As programs are authorized by the Institute, councils need not be consecutive or in a single position. Accept-
with appropriate technical and professional expertise are able forms of experience include that in data processing
established to oversee them and to provide the compe- systems, programming, management, and teaching com-
tence necessary to ensure high standards. Councils have puter-based information systems. Systems and program-
policy-making powers as well as responsibility for quality ming experience gained while employed by computer
equipment manufacturers, service centers, management
control, within the domain of their programs. Presently,
there are four certification councils: General Certifica- consulting firms, or educational institutions may be ap-
tion, Information Systems Test Management, Technical plied toward this requirement. Clerical, data entry, or
Specialties Test Management, and Languages Test Man- experience gained in connection with formal classwork
agement, which have jurisdiction over the testing and will not be considered acceptable.
certification programs described in the next section.
Academic and Other Certification Alternatives Candi-
dates having less than 60 months work experience may
Programs of the Institute The Institute’s highest substitute post-secondary academic work for up to 24
priority is the improvement of existing certification pro- months of experience on the following basis, provided
grams and the establishment of new examinations for official transcripts of academic work are submitted to
various specialties. In 1974, the Institute acquired the IGCE:
testing and certification programs of the DPMA, including
the Certificate in Data Processing (CDP) examination, 24 months—Bachelor’s degree or graduate degree in
which the DPMA began in 1962. Additional programs have information systems or computer science.
subsequently been established to meet professional and 24 months—Any candidate who holds the Certified
industry needs. Computer Programmer (CCP) certificate or passes
The Institute has recently modified and updated its the Associate Computer Professional (ACP) Exami-
examinations to reflect more accurately the changing na- nation.
ture of the computer profession. The new examination 18 months—Bachelor’s or graduate degree in related
structure for experienced professionals consists of three area, including accounting, business, engineering,
parts: mathematics, sciences, or statistics.
12 months—Bachelor’s or graduate degree in non-re-
1. Amandatory core examination that tests general lated areas.
knowledge and expertise. Question topics range 12 months—Associate degree or diploma (2-year pro-
from management science and systems concepts gram) in information systems or computer science.
to data architecture and statistics.
2. The choice of one of three specialty examina- The maximum credit for academic alternatives toward
tions that best reflects career expertise, and that the experience requirement shall not exceed 24 months.
determines the professional: designation: Certi-
fied Computer Programmer (CCP), Certified Data Professional Qualifications Each candidate is required
Processor (CDP), or Certified Systems Profes- to obtain the signature of a responsible person who can
sional (CSP). verify both the candidate’s work experience and profes-
3. A choice of one of eight additional specialty ex- sional qualifications through personal knowledge or ac-
aminations (including those of the three spe cess to the necessary information. An ICCP certificate
682 INSTITUTE OF ELECTRICAL AND ELECTRONIC ENGINEERS—COMPUTER SOCIETY (IEEE-CS)
holder is to make this verification whenever possible. The interest groups. The Computer Society, with over 100,000
candidate’s immediate supervisor may be accepted as an members, is one of these special interest groups. The
alternative when an ICCP certificate holder is not in a IEEE-CS headquarters address is 1730 Massachusetts Ave.
position to provide the required verification. NW, Washington, DC 20036-1903.
ICCP also provides the Associate Computer Profes-
sional (ACP) Examination, an examination program that Organizational Structure The IEEE Computer So-
measures qualifications of entry-level personnel. The ACP ciety has a Governing Board consisting of amaximum of 24
program is designed for students or recent graduates of voting members, including the President, two Vice-Presi-
computer programs within one-, two- and four-year col- dents, the Junior Past-President, and 20 elected members
leges; graduates of technical computer institutions; and of the Board. The Society membership annually elects the
individuals who have been working in the computer field President and two Vice-Presidents. The President-elect
only a short period of time. appoints three additional Vice-Presidents, a Secretary,
The American Council on Education (ACE) has evalu- and a Treasurer for a one-year term coextensive with his
ated and approved the awarding of college credit for or her term. The President, under direction of the Board,
successful candidates who pass ICCP examinations with has general supervision of the affairs of the Society.
a minimum 68% passing score. Successful candidates may
earn up to 24 credit hours. Through 1991, the ICCP has Technical Program Members of the IEEE Computer
certified 45,000 persons. Society receive Computer magazine, “the voice of the com-
The ICCP historically tests on the second Saturday of puter systems design profession,” which contains tutorial
May and the second Saturday of November. For further and survey articles, practical applications ideas for the
information contact ICCP Headquarters, 2200 E. Devon computer professional, and various other pertinent de-
Ave., Suite 268, Des Plaines, IL 60018, call 708-299-4227, or partments. In addition, they have the choice of receiving
fax 708-299-4280. the Transactions on Computers, which contains papers of
archival quality on the theory, design, and practices re-
FRED H. HARRIS
lated to digital and analog computation and information
processing; the Transactions on Software Engineering,
which contains archival research papers on all aspects of
INSTITUTE OF ELECTRICAL the specification, development, management, test, main-
to use six-bit strings to represent symbols, but it became (occasionally even a particular bit) in storage, and a word
clear that this was too restrictive, and in recent years is treated explicitly as a multiple of the byte length. In-
eight-bit strings have become standard. The 7-bit ASCII structions may vary in length also, depending on the
characters are usually embedded in &bit fields in contem- number of addresses they need to reference. This is to be
porary computers, so that the 128-character ASCII code ’ contrasted with the fixed-word-length machine, where all
can be expanded to a 256-character set in the future. The addresses typically had to fit into the word, but where
alternative EBCDIC (g.v.) character set already uses &-bit many bits were wasted if fewer addresses were needed in
strings. The term byte is used in referring to a bit string particular instructions.
that is of the size corresponding to the symbol represen-
tation in a particular system. Thus, there are older com- Reference
puters with six-bit “bytes,” but eight-bit bytes are now the
1969. Rosen, S. “Electronic Computers: A Historical Survey,” Com-
norm. puting Reviews 1, 1: 7-36 (March).
We have seen that a string of bits can have more than
one interpretation, so that 01000001 might represent the BERNARD A. GALLER
letter A or the binary form of the decimal integer 65. Yet
another interpretation of a string of bits may be as a
computer instruction. In this case, some of the bits in the
string are interpreted in the control unit of the system as INSTRUCTION COUNTER. see Procram
a code for the operation to be performed. The remaining COUNTER.
bits might be used to indicate registers (either special
registers or storage locations), whose contents are to be
used as input to the operation, or that are to receive the
results of the operation as new contents. Several formats
INSTRUCTION SET
of instructions from typical computers are shown in Fig. 1. For articles on related subjects see ADDRESSING; BOOLEAN
Some early computers had separate storage for in- ALGEBRA; COMPUTERS, MULTIPLE ADDRESS; GENERAL REGISTER;
structions and for data, but this did not last long because INPUT-OUTPUT INSTRUCTIONS; INTERRUPT; MACHINE AND ASSEM-
it proved costly to provide separate arithmetic proces- BLY LANGUAGE PROGRAMMING; MASKING; MICROPROGRAMMING;
sors for two kinds of storage, especially when many oper- OPERAND; PRIVILEGED INSTRUCTION; RISC ARCHITECTURE; and
ations involved with modifying instructions were so SHIFTING.
similar to ordinary arithmetic operations. However, the
development of microprogramming (q.v.) and read-only A machine instruction is a string of digits in the base
memory (ROM - g.v.) has somewhat restored separation in which the machine operates which, when interpreted
of instructions and data. by the hardware, causes a unique and well-defined change
Once separate storage for instructions and data was in the state of the computer.
abandoned, it became necessary to find ways to store and Most computers are based on the binary system. For
access any kind of information from any part of storage. most cases, therefore, the “string of digits” will be a string
Very often, storage was divided into fixed-length strings of bits, each having the value 0 or 1. In what follows, we
called words, usually from 32 to 64 bits long.* Each word will refer only to bit-oriented instructions, although we
would contain one or more instructions or numbers in will express those bits using hexadecimal notation.
fixed- or floating-point form such that the word length was In the definition given, the words “interpreted by the
always a multiple of the byte length of the instruction(s) hardware” really mean “used by the hardware.” The
or number(s) packed into the word. Addresses in such change in state of the machine is, in fact, a change in the
computers usually specified individual words, and one .contents of various registers or memory locations. The
could access separate bytes only by shifting (¢.v.) or changed registers may be those explicitly or implicitly
masking operations (q.v.). referred to by the instruction, or they may be some inter-
Computers intended for commercial applications, on nal registers not directly known to the user. For example:
the other hand, were typically designed to facilitate oper- The 16-bit string 1010000100100001 (hexadecimal Al21),
ations on variable-length strings of characters, since so when interpreted by the hardware of one of the IBM
much of their data exhibited this variability. Thus, one ES/3000 computers, causes the contents of general regis-
found computers in which both instructions and data ter 1 to be added to general register 2, the result replacing
were of variable length, with an address specifying the the previous contents of register 1. In this case, the
beginning of a string of characters, and a special word change of state is apparent to the user of the machine. On
mark symbol signaling the end of a string. the other hand, on the same machine, the bit string
Recently, computers have been designed to try to 0000011111110001 (hexadecimal 07F1) causes an inacces-
reflect both kinds of needs: fixed-length words to repre- sible internal register, the program counter (q.v.), to set its
sent numbers, and variable-length strings of characters. value to that of general register 1, thus causing the next
In these cases, addresses usually specify a particular byte instruction that has to be interpreted by the hardware to
be taken from the location whose address is the contents
*Smaller computers, particularly minicomputers and microcom- of register 1. Thus, a bit string such as 07F1 acts asa jump
puters often intended for applications in which long numbers are or branch instruction.
not needed, usually have from 8-32 bits in a word. Each computer model possesses its own unique in-
INSTRUCTION SET 685
struction set. The same bit string may mean completely ginning of this article. Fig. 1 gives the structure of most
different things on two different computers, even if the ES/3000 instructions, and from it we can gain some pre-
number of bits needed for expressing an instruction is the liminary insight into the actual structure of a machine
same on the two machines. For example, the bit string instruction. Thus, in our example, the first eight bits (i.e.
A121 (hexadecimal), which we used as an example on the hexadecimal A1) are the actual operation code and the
IBM ES/3000, caused addition of the contents of two reg- last eight bits (i.e. hexadecimal 21) are the address field.
isters. But when interpreted by a Data General Corpora- In this particular instruction, the address field specifies
tion MV computer, the same bit string will decrement by register 2 with the first four bits and register 1 in the last
one the contents of the memory location whose address four bits. On a Data General Corporation MV computer,
is in location 18 and skip the next instruction if the result the instruction for the same task has the hexadecimal
is zero. This different interpretation for the same bit code CE10. Not only is the code different, but the break-
string makes it clear that bit strings are not a good basis down of the instruction into fields is also completely
for classification of machine instructions. We will there- different.
fore introduce categories based on other criteria in order
to be able to find some patterns in the multitude of Logical Operations The logical operations usually in-
instructions available on various computers. volve boolean operations on the bit values of the oper-
ands. Although there are 16 possible boolean operations
Classification of Machine Instructions There between two operands, usually only a subset of these
is usually a simple relation between the length of the (typically AND, OR, and NOT) is available. This subset is
computer word or addressable unit and the instruction sufficient to reproduce all other boolean operations.
length. Thus, we find up to four instructions per word in Boolean operations are used for the manipulation of
the B5500 and CDC Cyber series, but one instruction per parts of words, for decision processes, and for nonnumer-
word in most minicomputers and microcomputers. ical processing. As an example, consider the following
The length of the instruction need not be fixed. For problem: Given a data item in a register, isolate the last six
example, in the IBM ES/3000 we find instructions whose bits of it. By inspecting the AND operation truth table, one
length is 16, 32, or 48 bits. In most minicomputers we have finds that the result of an AND with 0 is always zero,
single-length (i.e. one word) instructions and double- whereas the result of an AND with 1 reproduces the oper-
length instructions. and. Thus, an AND operation between the given data item
The bit string representing a machine instruction is and an operand that has 0 in all places except in the last
generally divided into two major fields: the operation (or six bits (all of which are one) will isolate the last six bits
“op-code”) field and the operand(s) field, usually referred of the given data item. Thus:
to as the address field(s). Note that this is completely
analogous to the way a mathematician denotes a function; Given data item: Arbitrary bit string
i.e. g (x, y, Z) means the function (operation) g on the Second operand: 0...0111111
variables (operands) x, y, z. The number of operands Result of AND: 0...0 6 last bits of given
available in each instruction is generally different, not data item.
only between different machines but also in the same
machine between different operation types. However, nei- Operations like this are called masking operations. Note
ther the question of the number of operands nor the that the bit string representing the instruction is com-
question of the way they are addressed will be discussed pletely independent of the actual data. On an IBM
here. The interested reader is referred to the articles ES/3000, assuming that the first operand is in register 3
ADDRESSING; and COMPUTERS, MULTIPLE ADDRESS. This article and the second in register 4, the instruction will be hexa-
concentrates on the operation field only. decimal 1434.
The types of operations available on contemporary In the logical operations, one also usually includes
machines are roughly divided into arithmetic, logical, the various possible shift instructions, although, in some
data move, and control operations. classifications, these form a category of their own. Shift-
ing operations, as their names implies, shift the bits in a
Arithmetic Operations Arithmetic operations are usu- word to the left or right. The differences between types of
ally confined to the four basic ones (plus, minus, multiply, shifts affects what happens to the bits being shifted out
and divide) and to the “compare” operation, which serves
to record status information about the relative magnitude
8 bits 8 or 24 or 48 bits
of operands compared. These arithmetic operations may
operate on different types of operands, such as integers Address fields
and floating-point numbers with different precision (half-,
single-, or double-word length numbers). The operands All op codes starting with 00 have an 8-bit address field.
All op codes starting with 01 or 10 have a 24-bit address field.
may assume various bases. Binary is usual, but decimal is
All op codes starting with 11 have a 48-bit address field.
also common. In specialized machines, one may find For every length, the structure of the addressing is fixed.
arithmetic operations of a more sophisticated nature,
such as exponentiation or square root, but this is rare.
An example of an arithmetic operation is the IBM FIG. 1. Typical structure of a vertical instruction set (BM
ES/3000 instruction A121 (hexadecimal) used at the be- ES/3000).
686 INSTRUCTION SET
of a word and what bits are shifted in. For example, in ing or writing to memory. Similar to the instruction reper-
logical shifts, the bits shifted out are lost and the bits toire, the variety of condition codes differs among com-
shifted in are zeros. In an instruction that will shift two puters. There is also a difference in the way that condition
places to the left logically, the leftmost two bits of a data codes are used. In some computers they are incorporated
item are lost, and the last vacated two positions are filled ~ directly in the instructions, especially conditional
with zeros (see SHIFTING). branches (like BRANCH ON OVERFLOW), and in others they
can be transferred into registers and then manipulated as
Data Move Operations The data move instructions in- data.
clude moves (copying) of data between memory locations
and registers, and the input/output instructions neces- Machine Language and Instruction Formats
sary for communication between the central processor The instruction repertoire or command set of a computer is
and peripheral devices. Examples of the former opera- defined to be the set of all possible operations that the
tions are instructions to load and store a register and to computer can perform. In a computer of the type dis-
move data from one location in memory to another. The cussed previously, the instruction repertoire boils down
input/output operations are of such a complexity that no to the set of all possible operation codes (op codes).
useful example can be given without an extensive expla- There are, however, other types of computers such as
nation; see INPUT-OUTPUT INSTRUCTIONS. Some data move tagged architecture machines in which the operation code
operations may be quite complex, in particular those that does not fully describe the operation to be done. In such
were designed to support graphics operations. a computer, part of the operation performed is defined by
the type of the operand. For example, there is only one ADD
Control Operations The control instructions include operation, and this is done in floating-point or integer
those operations that are necessary for the proper se- mode depending on the type of the operand. The instruc-
quencing of the instructions so that the programmed task tion repertoire of such a computer is still the set of all
can be performed correctly. These include conditional possible operations. However, it is now defined not just
and unconditional branches, test instructions, and status- by the set of all op codes, but by both op codes and
changing instructions. operand tags. A coherent program consisting of a se-
As an example of this category of instructions, there quence of such operations is said to be written in machine
may be instructions like BRANCH (or JUMP) to a given ad- language.
dress (to begin a new sequence of instructions) when the We now go further into the question of the format of
result of the last operation is negative, or if there was an the instruction, but again without treating addressing in
arithmetic overflow. There are also instructions that swap any detail. A machine instruction can be written, using
the contents of the user accessible registers with internal mathematical notation, as g(x,, X,,..., X,) =g(x), whereg is
registers, thus causing a change in the state of the com- the operation performed on the n operands:
puter; in particular, this may cause execution of a com-
pletely different sequence of instructions. Note also that Nighi HX
program flow can be affected not only by explicit control
instructions issued by the programmer, but also by spe- The natural question to ask is: Can we have multiple
cial conditions known as interrupts (q.v.). operation instructions in the form
This rough division of instructions into types is not 811) 82%) 83%3)---,0%,) @)
necessarily mutually exclusive. Referring to an earlier
example, the MV bit string hexadecimal A121 will perform where the operations g, are performed on the operands Xx;
both an arithmetic operation (decrement; i.e. subtract 1) and the operand sets are either identical, partially over-
and a control operation (skip the next instruction if the lapping, or distinct from each other? The answer is that
result is zero). machines with such instruction sets do, in fact, exist.
Different instruction types usually possess different Roughly speaking, we can divide instruction sets into
numbers of operands. Whereas arithmetic operations vertical and horizontal. Vertical instructions are those of
usually refer to three operands (two for the data locations the type g(x), where a single operation (or a time-ordered
and one for the result location), either explicitly or im- series of a fixed number and type of operations) is per-
plicitly, certain control instructions may have one or no formed on a single set of operands. Vertical instructions
operands at all. For example, an unconditional BRANCH has are usually highly coded (see below).
one operand, but a HALT instruction has none. In addition Horizontal instructions are those of the form (1). Here
to the operands involved in the instruction execution, the functions g, are independent and are performed on the
there are also condition codes involved. Generally speak- respective operands in parallel or in a well-defined time
ing, condition codes are indicators, usually one-bit long, sequence.
which describe the properties of the results and the valid- The instruction set of an IBM ES/3000 computer is an
ity of the operation performed. example of a vertical instruction set (see Fig. 1). Vertical
Examples of condition codes are explicit indications instructions are found in most machines today. Horizon-
of (1) the sign of the result, (2) whether or not an overflow tal instructions are mainly found in microprogrammed
has occurred, (3) what the relative magnitudes of the machines and are rare outside them.
operands are, (4) whether there is a parity error in read- The structure of the operation code itself (i.e. the
INTEGRATED CIRCUITRY 687
structure of the contents of the operation field) is also of case of addition of vector instructions to large-scale ma-
interest. In principle, if one wants a certain number of chines.
instructions, it seems sufficient to associate a function
with each number expressible in the operation field. The General Remarks This article has described single
operation then is determined by all the digits (in the machine instructions according to their length, operation
binary case, the bits) in the field. By inspecting a part of type, the degree of parallelism in the specification of the
that field, we generally have no meaningful information operation, the number of operations specified, and, fi-
about the operation. We call such an arrangement a highly nally, the degree of coding. We conclude with some gen-
coded one. In the highly coded arrangement, the number eral remarks on the capabilities of machine instruction
of possible instructions is equal to the total information sets. The emergence of single-chip processors, with both
contents of the field. In a field of 2 bits, this means a total their promise and limitations, the shift to high-level lan-
of 2" possible instructions. guages, which distanced the programmer from the details
On the other hand, one can envision a completely of the instruction sets, and, finally, the change in the
different situation in which each part of the instruction speed ratios of processor and memory cycles, caused the
code conveys some information about the type of the price/performance/utility consideration of various in-
operation. For instance, the first bit in the field may struction sets to shift from their established 1960s and
determine if the instruction is arithmetical or non-arith- 1970s values. In general, this shift was toward simpler
metical. The second bit may determine the length of instruction sets (see REDUCED INSTRUCTION SET COMPUTER
the operands; the third, the arithmetic mode (real or (RISC)). At the same time, success of machines like the
integer); etc. In this case we speak about a low level of IBM AS/400 and the need for vector machines emphasized
coding. The number of instructions expressible in this the utility of large, complex structures; these opposing
case is smaller than the total information content of the trends are too intricate to cover here.
op code field, since some of the combinations may be
unused. For example, if the instruction is logical, the GIDEON FRIEDER
arithmetic mode may be irrelevant. The low decoding
level needed for this type of instruction and the strict
interpretation of the various bits enable a high degree INTEGRATED CIRCUITRY
of parallelism in the decision process that the hardware
has to go through in order to decide which instruction For articles on related subjects see COMPUTER CIRCUITRY;
has to be performed. Locic DESIGN; MICROCOMPUTER CHIP; MICROPROCESSORS AND
Up to this point we have assumed that the operation MICROCOMPUTERS; and SUPERCONDUCTING DEVICES.
field is of fixed length and, in the case of a low decoding
level, the bits have fixed meaning. Neither of these as- Introduction On 29 December 1939, William Shock-
sumptions is necessary. ley wrote in his notebook, “It has today occurred to me
Coding theory teaches that it may be advisable to that an amplifier using semiconductors rather than vac-
have codes of different Jengths, utilizing short ones for uum is in principle possible.” It has been a long and
the more frequently used combinations and long ones for exciting journey since the time that this statement was
the least used. Indeed, one can design a “tree-structured” written, a time that has witnessed an unprecedented num-
instruction code—i.e. the operation field is divided into ber of applications of the transistor and the integrated
parts and each part is interpreted in sequence, with the circuit (IC) chip. In the opinion of the present authors,
meaning attached to it dependent on the results of inter- two technological events will go down in the history of
pretation of the preceding parts. This not only solves the the twentieth century as the most profound and far reach-
problem of meaningless bit settings that we encountered ing, having revolutionized the way of life on this planet:
in the low decoding level combinations, but it also en- mass production of the automobile, and the design and
ables us to terminate the op code interpretation at a manufacturing of the integrated chip. The latter is truly
different point for different instructions. the catalyst that led from the birth of the information
With the advent of very large memories, the attrac- processing industry to become the driving force which
tiveness of this coding scheme, which conserves memory fueled its growth and evolution. The genesis of the IC is
but is more time consuming, has diminished. It is cur- described herein, along with its evolutionary progress,
rently used mainly as a mechanism for extending an technological aspects, and processing details.
instruction set. Instructions sets can be expanded, en- IC history began with John Bardeen, Walter Brittain,
hanced, and augmented by different methods. One of and William Shockley of AT&T Bell Laboratories, who did
those is the addition of an augmenting prefix. For exam- the pioneering work that led to the invention of the point-
ple, in the Intel 80x86 instruction set, one finds a repeat contact transistor, the basic building block of the IC, in
prefix, which causes the next instruction.to be iterated 1947. In recognition of their invention, the team was
several times. awarded the Nobel Prize in Physics in 1956. What made
The other most prevalent method for instruction set the first transistor possible was a semiconductor mate-
extension is the addition of co-processors which have rial, the element germanium. Unlike metals, which con-
instructions not present in the original set. These may be duct electricity with relative ease, and insulators, which
single chip (in the case of floating-point operations in almost always block any motion of electrons (the univer-
single-chip processors) or can be quite complex, as in the sal carriers of electricity), semiconductors can conduct or
688 INTEGRATED CIRCUITRY
insulate, and there are a variety of ways these conductive purities in the atmosphere. For example, an individual
properties can be controlled and exploited. At first, the transistor used on a PCB board actually consists of a
introduction of the transistor elicited very little excite- protective capsule containing the transistor proper, with
ment outside the electronics industry. Throughout the its leads connected to the external leads on the capsule.
1950s, transistors were refined and simply used as re- Hybrid ICs, on the other hand, use bare elements wherein
placement devices for vacuum tubes in everything from the whole package is assembled first and then the entire
hearing aids to radar systems. But in 1958 and 1959 came unit is encapsulated in a protective polymer material. Due
the developments that truly launched the IC age. Within a to longer wiring distances between circuit elements, the
few months of each other, Jack Kilby of Texas Instruments realized signal transmission speeds in hybrid ICs are low,
and Robert Noyce of Fairchild invented different versions although higher than those achieved in PCBs. Conse-
of the IC. Both inventors filed for patents in 1959, and quently, hybrid circuits have limited applications in digi-
Texas Instruments and Fairchild were each offering ICs tal electronics, and their use is mostly limited to analog
commercially by 1961. circuitry.
As Kilby tells it, he sought to make resistors, capaci- In a monolithic circuit, which is the major IC in a
tors, and diodes—all elements of electronic circuits—out modern computer, the circuit elements are formed on a
of the same material as transistors, namely germanium. At silicon monolith using advanced materials and sophisti-
that time, germanium was easier to work with than sili- cated fabrication and lithography equipment and tech-
con, the semiconductor material that is presently the niques. In this case, the silicon substrate serves not only
material of choice for ICs. He placed the components ona as a support for the circuit elements, but also as one of
single holder, called a substrate, to make the device that is the materials that forms the components of the circuit.
generally credited as being the first IC. The trouble with The nature of processing allows the arranging of circuit
Kilby’s invention was that it was cumbersome and costly elements in close proximity, thereby reducing the wiring
to produce in large quantities. Workers had to solder the lengths by orders of magnitude as compared to a hybrid
circuits by hand with tiny gold wires, used for electrical IC. As a result, monolithic ICs offer higher signal speeds
connections. Four months after Kilby built his germanium than hybrid or PCB assemblies. The remainder of this
IC, Noyce found a way to join the circuits by printing the article will focus on the basics, design, and fabrication of
circuit board using lithography. He used a silicon sub- monolithic ICs.
strate. The commercial devices that followed showed the Monolithic ICs are thus silicon-based, and the key to
advantages of silicon over germanium in the integration IC formation is the proper treatment of silicon in such a
of multiple components in a single chip. The ease with way as to form the desired circuit components. The basic
which conductivity was controlled in different compo- notion is that selected impurities, when introduced into a
nents and the concomitant ease with which interconnec- pure polycrystalline silicon matrix in a precisely con-
tions were traced between components in a silicon chip trolled manner using a process called doping, can appre-
resulted in the final triumph of silicon over germanium. ciably alter its electrical properties in a pre-designed way.
The fabrication techniques developed by Noyce are the These impurities actually settle in the silicon matrix and
forerunner of current IC fabrication technologies. lead, in the case of elements such as arsenic or phospho-
Primitive as they were, those initial chips truly rus, to an excess of electrons within the matrix, thus
launched a revolution. Over the last three decades, ICs yielding what is known as n-type silicon. The introduction
have pervaded almost all aspects of our daily lives, from of elements such as boron, on the other hand, causes a
television sets and wristwatches to rockets and the ubiq- deficit of electrons, thus producing p-type silicon. Conse-
uitous computer in various flavors. “Very few things have quently, although pure silicon is a semiconductor, the
changed the world as dramatically as the IC,” said Robert conductivity of n- and p-type silicons can be made to vary
N. White, President of the Academy of Engineering, when over a wide range of conductivities, with the latter being
he announced in 1990 that Kilby and Noyce would receive an increasing function of impurity concentration (known
the academy’s top prize in recognition of their accom- as the doping level). The physics of current motion and
plishments. the nature of the charge carriers is different for the two
types of silicon. In the case of n-type silicon, electrons
Integrated Circuits: Basic Principles An inte- (which possess negative charge) are considered as the
grated circuit is a functioning assembly of various ele- main contributors to the motion of flowing charge. Alter-
ments or “devices”—transistors, resistors, capacitors, natively, because of the deficit of electrons in p-type sili-
diodes, etc.—all electrically connected and packaged to con, holes (which are positively charged and are caused
form a completely functioning circuit with a specific func- by the absence of electrons) are considered as the major
tion. ICs fall into two major categories: hybrid circuits and charge carriers.
monolithic circuits. The presence of the two types of charge carriers is
In a hybrid circuit, all the IC elements are wired fundamental to the design and function of ICs because
together on a ceramic substrate, somewhat similar to a important physical phenomena occur when n- and p-type
printed circuit board (PCB), and are packaged and sold as semiconductors are placed in contact with each other to
a single functioning unit with input/output (1/0) leads. In form a p-n junction, the simplest semiconductor struc-
essence, a hybrid circuit is a miniaturized version of the ture. In this case, the completed junction is formed of
PCB. However, the elements used in PCB assemblies are three distinct semiconductor regions, as shown in Fig.
pre-encapsulated for protection from moisture and im- 1(a): a p-type region, a depletion region, and an n-type
INTEGRATED CIRCUITRY 689
Depletion Region
which depends on the physical phenomena occurring
close to the surfaces. The bipolar transistor is basically
an n-p-n (or p-n-p) junction as shown in Figure 2. Its
(a)
operation is based on exploiting the voltage of the base
(the p-type region) to control the flow of current between
the collector and the emitter (the two n-type regions). For
electron e)
instance, if the collector is made more positive than the
Vv emitter, no current will flow because of the diode effect
+ =
between the base and the collector unless the base is also
I made more positive than the emitter, in which case cur-
rent will flow from the base to the emitter and, subse-
(b)
quently, from the collector to the base. The device is
called bipolar because both electrons and holes, and con-
sequently two polarities (positive and negative), are in-
volved in the flow of current.
The operation of the FET transistor, shown in Fig. 3,
Forward Bias is also based on exploiting the voltage of the gate with
respect to the source. For instance, if the drain is made
I(mA) more positive than the source, no current will flow be-
cause of the diode effect between the drain and the
teh Ec ath de ito =
'
Gate
_ <i— Metal
~<q— Insulator
O Drain
Source O
(a)
Source Gate
Silicon substrate
(b)
known as a PMOS transistor. Historically, PMOS transis- the high density requirements of memory circuits, inno-
tors were used initially because of ease in manufacturing vations in FET devices have traditionally led many tech-
and impurity contro]. However, present technology em- nological breakthroughs. Although the bipolar ICs, not as
ploys NMOS transistors because of their inherently densely wired, have inherently higher speeds than
higher speed than PMOS devices. MOSFETs, it is projected that some of the advanced CMOS
At present, bipolar devices are the mainstay of the (complementary MOS) devices will begin to encroach
high-speed computer logic circuits, while FET-based tran- significantly upon the bipolar territories by the year 2000.
sistors are used largely in memory components. Due to For example, in 1986, the ratio of bipolar to MOSFET ICs
sold was 45% to 55%. This ratio is expected to be 32% to TABLE 2. Generations of IC Families
68% by the mid-1990s.
IC Generation Size, Bits
IC Devices and Families. Evolution of IC Inte-
SSI—Small-scale integration 1-107
gration The prevalent device and circuit technologies
MSI—Medium-scale integration 107-10°
used in ICs at present are summarized in Table 1. MOSFET LS]—Large-scale integration 107-10°
devices, as pointed out earlier, are the pacesetter and VLSI—Very large scale integration 10°-10°
barometer for technological innovations and develop- ULSI—Ultra-large scale integration 10°-10°
ment. The number of circuit elements that can be inte- GSI—Giga-scale integration > 10°
grated on a chip and the minimum lithographically
definable dimensions are often employed as an indicator
of progress in technological evolution. This measure is
TABLE 3. Emerging Microelectronic Technologies
used for two reasons: (1) higher circuit densities per chip
lead to smaller wiring lengths between elements and,
Technology (4m) 0.6 0.4 0.3 0.2 0.15
subsequently, faster signal propagation (faster devices),
Expected 1991 1994 1997 2001 2005
and (2) improved resolution capabilities of patterning Development
technologies allow denser circuit elements per chip. DRAM (size, bits) 16M 64M 256M 1024M 4096M
Fig. 4 displays the evolution of memory circuits, the
MOSFET/DRAM, since the time of the invention of the
MOS transistor in 1960. The various generations of cir-
cuits shown in the figure are classified according to the Due to the high complexity and level of integration of
degree of integration, or number of bits (there are tradi- these circuits, quality control on incoming materials, pro-
tionally 10 bits per basic functional unit), and are summa- cess control, and equipment cleanliness are critical if
rized in Tables 2 and 3 in terms of, respectively, bit size acceptable levels of product yield are to be realized. Some
and physical dimensions per basic functional unit of the major steps used in the present IC fabrication
(Rymaszewski, 1989; Schumay, 1989, Larrabee and process are discussed briefly in what follows. However,
Chatterjee, 1991). The key ingredient and leverage in the requirements for emerging submicron technologies in
semiconductor technology is that each generation of the 1990s and early 2000s are dramatically redefining the
smaller scale devices defines the materials and processes materials and reshaping the processes that constitute the
required and, subsequently, drives the research and de- building blocks of electronic devices and are thus ex-
velopment efforts to provide the fabrication, lithography, pected to lead to radically different R&D and manufactur-
and other manufacturing techniques needed. ing strategies and approaches from those described
herein.
IC Fabrication Processes Present integrated cir- A flowchart of a process used in the fabrication of
cuit fabrication involves a large array of advanced mate- the NMOS/FET transistor, a key constituent of RAM and
rials, complex processes, and sophisticated equipment. ROM circuits and its derivatives, is shown in Fig. 5. The
processing principles also apply to other fabrication
technologies. Fabrication begins with two components:
A pure silicon wafer and a set of photolithographic
patterns known as masks. The silicon wafer is a thin,
about 0.5-1 mm thick, disc of a single crystal of silicon
that.is doped (with boron in the example given herein).
Wafers expanded from 25-50 mm in diameter in the
early days of IC manufacturing, to 150-200 mm at pres-
ent, a size that could reach 300 mm in the next few
years. The masks define the areas within the wafer that
need to be treated (e.g. etched or implanted) and are
100K employed to define circuit configuration and device
topology. The minimum definable mask dimensions have
CHIP
PER
BITS
DRAM
witnessed a continuous size decrease in order to keep
CHIP
PER
CIRCUITS
LOGIC up with circuit dimensions. Present mask features are
in the submicron range.
As can be seen in Fig. 5, device manufacturing is
achieved in a series of processing steps. The key process
technologies that have made high levels of integration
and density possible are indicated in the flow chart: li-
thography (*), ion implantation (**), and reactive ion
etching (* ). These technologies are important because
they are employed repeatedly in a device fabrication line
FIG. 4. Dynamic random access memory (DRAM) bits per
of years. and are briefly described in what follows.
chip and logic circuits per chip as a function
692 INTEGRATED CIRCUITRY
References
INTEGRATED SERVICES
tive methods of production. The first requirement is re- DIGITAL NETWORK (ISDN)
lated to circuit reliability and the second to yield and cost.
The optimum size of an IC, as related to the number of For articles on related subjects see COMMUNICATIONS AND
circuit functions, is acompromise between many compet- COMPUTERS; DATA COMMUNICATIONS, MULTIPLEXING; NETWORK
ing factors: architecture and partitioning of the overall IC, PROTOCOLS; NETWORKS, COMPUTER; and OPEN SYSTEMS INTER-
expected yield of good circuits, packaging cost, and the CONNECTION.
overall reliability of the complete assembled system.
In an ideally produced wafer, 100% of the circuits will History The /ntegrated Services Digital Network (ISDN)
be functioning. In reality, however, the number of good is a telephonic system that can support a variety of digital
circuits (the yield) depends upon the process maturity, services (including digitized voice) through a limited set
circuit design, and random defects in the circuit. Achiev- of standard interfaces. A very complete description can
ing high-process yields requires robust processes (a wide be found in Griffiths (1990); a brief description follows.
process window) and tolls (e.g. high uptime, stability, The principle factor that led to the development of
on-line diagnostics). Many innovative designs have been the ISDN was the adoption of digital transmission by
implemented to achieve these goals like computer con- many public telephone systems. This was due both to the
trol of process parameters, vacuum processing, vacuum ease with which digital signals could be regenerated with-
load locks, and in-line diagnostic measurements. Proper out deterioration and the availability of VSLI-based tech-
design of circuits requires recognizing the tool/process nologies for the processing of digital streams. Voice traffic
capabilities and assessing circuit sensitivities to specific in such networks is encoded using pulse-code modulation
process parameters to assure high yields. at 64 Kbps. Naturally, these networks could also carry
In spite of proper design of circuits and robust pro- data, resulting in integrated digital networks (IDN).
cesses, the yields will be less than 100% due to random Although an IDN integrates many different kinds of
point defects (areas of the wafer that are small compared traffic internally, the services it supports are accessed
694 INTENSIVE CARE, COMPUTERS IN
through unrelated interfaces. For example, data services The primary rate interface (PRI offers 30 (23 in the
might be accessed via the X.25 interface, while telephony U.S.) 64Kbps B-channels and one 64-Kbps D-Channel.
is accessed via normal analog lines (“local loops”) be- Data channels at higher rates (H-channels) are also de-
tween the customer’s premises and the telephone ex- fined. This interface is intended for the connection of
change. In order to produce an ISDN, a unified interface PABXs and large computer installations. Various services
to the IDN is required. Since this interface will itself be may be offered over the B-channels, the simplest being an
digital, a key requirement is the digitization of the local unstructured 64 Kbps bit-stream (a physical layer service
loops. in OSI terms). Packet services as well as “telematic” ser-
Local loops are mainly copper and of variable quality, vices such as facsimile (FAX) will also be offered. Packet
some having been in the ground for many years. However, services include an X.25-based service and “Frame Relay,”
they represent a huge investment that could not lightly be which is a Datalink Layer service. The signaling protocols
discarded. One requirement of the narrow-band ISDN has used on the D-channels resemble those specified for the
always been that it should operate over the existing local X.25 interface.
loops. Digitization of these at reasonable bit rates and at There are always two stacks of protocols to consider
reasonable cost has only recently become feasible. for the ISDN. The signaling protocols (in the so-called
“control-plane”) are always structured as three layers, and
Standardization The standardization of the ISDN the data protocols (in the so-called “user-plane”) may be
has been carried out by the CCITT (Comité Consultatif one, two, or three layers, depending on the service se-
Internationale Télégraphique et Téléphonique) and is lected. Higher-layer protocols may operate end-to-end in
specified in a series of recommendations, the most im- the user plane, but these are transparent to the ISDN itself.
portant of which are the “lSeries,” which specify the
interface to users (CCITT - 1988). Firm recommendations Broad-Band ISDN The narrow-band ISDN cannot
exist for the narrow-band ISDN, which operates over the support the requirements of the newest types of service.
existing infrastructure. Recommendations are now being For example, the bandwidth required for full-definition
developed for broad-band ISDN, which will operate digital video is in the 100 megabit per second range. To
mainly over optical fibers. handle this sort of traffic, as well as bursts of traffic from
computers, a completely new infrastructure will be
Signaling IDNs use “common channel signaling” needed. This will be based on optical fibers and asynchro-
(CCS). This means that the messages that pass between nous time-division multiplexing (ATM). In ATM, all data is
exchanges (to control the setting up of calls for example) divided into a series of fixed-length frames of approxi-
are carried in dedicated signaling channels. This con- mately 32 bytes. Each frame carries a destination address
trasts with earlier analog systems, in which signaling was and is switched as a separate entity. The advantage over
carried along with the speech channel to which it related. conventional TDM is that it allows the total bandwidth
The principle advantage of CCS is a great reduction in the available to be divided between contending activities in a
number of signaling terminations at an exchange. Natu- much more flexible way.
rally, digital signaling is used.
ISDN also employs CCS at the user-network interface. References
A very much wider range of signaling messages is avail-
1988. CCITT Integrated Services Digital Network: Overall aspects
able than was possible with the old analog systems. This
and functions, ISDN User-Network Interfaces. Melbourne, Aus-
enables a much greater range of services to be offered.
tralia. Blue-book Vol. Ill, Fascicle III.8. November,
1990. Griffiths, J. M. (Ed). ISDN explained. New York: John Wiley.
Narrow-Band ISDN The ISDNs currently available
are based on the transmission and switching capabilities GRAHAM KNIGHT
of the existing IDN. This is based on 64 Kbps bit-streams
that are combined into higher-capacity “trunks” using
Time Division Multiplexing. In Europe, the first multiplex
combines 32 64-Kbps channels into one 2-Mbps channel,
INTENSIVE CARE, COMPUTERS IN
while in the U.S. 23 64-Kbps channels form one 1.544-Mbps For articles on related subjects see BIOCOMPUTING; EMBED-
channel. DED SYSTEM; MEDICAL IMAGING; Mumps and TOMOGRAPHY, CoM-
PUTERIZED.
User Interfaces The user interfaces reflect the 64 Kbps
and 2 Mbps infrastructure, and CCS. Digital computers have proven themselves to be able
The basic rate interface (BRI offers two 64-Kbps assistants to the medical staff in a hospital’s intensive
“B-Channels” for data or voice and one 16-Kbps “D-Chan- care unit (ICU). The principal reason for the initial intro-
nel” for signaling. In principle, this is available to all sub- duction of computers into the ICU was to improve patient
scribers through the existing local loops. The presence of care through the automated management of patient data
two B-Channels means that it is possible to offer subscrib- on a long-term basis. Such a computer system can vary in
ers two telephone connections where previously they had size, configuration, cost, complexity, and function, de-
only one. Up to eight pieces of equipment may be at- pending on the degree of sophistication of the monitoring
tached to a basic rate ISDN interface in a bus configura- and analysis required, and the number of patients to be
tion, though only two may be used at once. monitored in a particular ICU. A pioneering computerized
BIOCOMPUTING
=IG. 4. Molecular modeling image of a DNA molecule docking with a protein. The DNA helix
an be seen in the upper portion of the figure (Image courtesy of Lester Harris, Abbott-Northwest- fig 5 com puteraided design reconstruction of
rn Hospital). the head and neck element of the bacteriophage
g 27 (Image courtesy of D. Carrascosa).
CP-1
EXPLORE
FIG. 8. A screen display of a fixture design program. The illustration FIG. 10. Aplastic cap, modeled for a molding flow analysis. The mes
provides visualization of the positions of the fixtures to hold the part while it represents elements used in the analysis.
is being manufactured.
CP-2
COMPUTER-AIDED ENGINEERING
FIG. 1. Ashaded image of a geometric model FIG. 2. The bracket shown in Figure | with FIG. 3. The meshed bracket from Figure 2
of a bracket. (Courtesy of Aries Technology Cor- the Finite Element Mesh applied. (Courtesy of with loads and constraints. (Courtesy of Aries
poration) Aries Technology Corporation) Technology Corporation)
COMPUTER ANIMATION
FIG. 1. A wireframe image from
a computer animation and its corre-
sponding rendered image. From
Panspermia. (Copyright © 1990 Karl
sims, Thinking Machines Corp., Cam-
oridge, MA.)
CP-3
COMPUTER ANIMATION (CONT.)
FIG. 2. Rendered images fror
the computer animation Tuber
Two Step. (Copyright © 1985 Chr
Wedge, Ohio State University. Con
puter Graphics Research Group.)
FIG. 2. Untitled Image by William Tudor, 1989. FIG. 3. Untitled wall mural by Harold Cohen, 1984.
a 2Ke
He
©oeeeee
&
#0
@
eo
cere
CP-4
FIG. 8. “Rainfall” by Stephen Pevnick, Fountain Project, 18’
X 18’ X 26’, 1984.
(a) a: (b)
CP-5
FIG. 11. “Critter Interaction in Videoplace” by Myron Krueger, 1983.
COMPUTER GRAPHICS
CP-6
FIG. 6a. Storyboard and three elements of a split shot. Use of
motion control allows the director to move the camera, adding FIG. 6b. The completed split shot as it appeared in Back to the Fu-
interest and believability to the shot. (Copyright © 1990 LucasArts ture, Part 2. Michael J. Fox plays all three characters at the dinner table.
Entertainment. All rights reserved. Courtesy Industrial Light & Magic.) (Copyright © 1989 Universal City Studios, Inc. All rights reserved. Courtesy
Industrial Light & Magic.)
FIG. 8. Tinny, the wind-up toy, from Tin Toy, winner of the 1989 FIG. 9. An image from the computer-based video game, The Secret of
Academy Award for Best Short Animated Film. (Copyright © 1988 PIXAR.) Monkey Island. Controls located below the image direct the lead character
through an imaginary world. (Copyright © 1990 LucasArts Entertainment.
All rights reserved. Courtesy Lucasfilm Games.)
FIG. 13a. Ashot from Back to the Future, Part 3 showing a wire-rig FIG. 13b. The shot as it appeared in the film, the wirerig has been
supporting the pink hoverboard. (Copyright © 1990 Universal City Studios, |removed using computer graphics software, creating the illusion of a work-
Inc. Alll rights reserved. Courtesy Industrial Light& Magic.) ing hoverboard. (Copyright © 1990 Universal City Studios, Inc. All rights
reserved. Courtesy Industrial Light & Magic.)
CP-7
FRACTALS
FIG. 7. The potential function near the Mandelbrot set. The rendering
of the sky is by means of random fractals (method of successive random
additions). Cover picture of The Science of Fractal Images (© 1988 H.
Jurgens, H.-O. Peitgen, D. Saupe.)
FIG. 9. Random fractal in three variables rendered as a cloud with a fractal moon gener-
ated via the random cuts method and a background motivated by the
filigrees of the
Mandelbrot set. (from The Science of Fractal Images, © 1988 R. Voss.)
CP-8
FIG. 10. Random fractal landscape with haze. (O 1989 F K. Musgrave, FIG. 11. Fractal mountain scene with tree grown by L-systems.
B. Mandelbrot.) ; (© 1989 F K. Musgrave, C. Kolb, B. Mandelbrot, P Prusinkiewicz.?
MEDICAL IMAGING
FIG. 3h, i, j- (hh) Mapping of
the brain function to anatomy. The
gray level image is from the MR;
the color is from the PET of the
same patient. Red color shows
high metabolic rates. Registration
of these two images required so-
phisticated mathematics and com-
puter programming. (Courtesy of
D. Valentino). (i) A longitudinal sec-
tion Doppler ultrasound image of
the abodomen. Red color shows
the blood flow; arrow indicates
that flow in the portal vein is
hepatopetal. (Courtesy of E.
Grant). (j) 3-D reconstruction of the
lumber spine from sectional CT im-
ages.
SCIENTIFIC APPLICATIONS
——SS
CP-10
FIG. 10. Mass density and energy density rendered on the same frame FIG. 11. Magnetic strange attractors. (From Jennifer Johnson, Autodisk
using the apE2.0 program Terrain to render the mass density as the height __ Inc.)
and the energy density mapped onto the density surface-as colors. Blue
corresponds to cooler and red to hotter gas elements. (From G. C. Duncan,
Bowling Green State University.)
VI
KONGRES.
TECHNIKOW
POLSKICH
1971
1895-1970
ODN. LENE
Di veninar COUNVOISIEN BA
Recensement 1871-1971 Census AED > a2 seth) BEATS RTE ERIS:
TOMOGRAPHY, COMPUTERIZED
FIG. 4. Threedimensional com
puter graphic display of a patient
head obtained from a series of two-d
mensional CT scans. On the left w
see the skin and a constraining stray
as well as part of the skull, while o1
the right we see some of the muscle
and the skull. (Illustration provides
by Dr. J. K. Udupa, University o
Pennsylvania).
CP-12
INTENSIVE CARE, COMPUTERS IN 695
surgical ICU is shown in Fig. 1. This system remains today implementation of automated infusion of blood or drugs,
as a benchmark upon which advanced therapeutic tech- under closed-loop control, in response to needs signaled
niques have been developed. by changes in monitored parameters.
Computers are currently distributed through many The method by which patient monitoring is physi-
components within an intensive care unit, in addition cally implemented depends upon the situation in ques-
to their use for patient data management. During the tion. In many research environments, or when certain
1980s, virtually all bedside physiologic monitoring de cardiovascular or respiratory monitoring functions are to
vices were converted from analog or hybrid designs to be performed, it is sometimes advantageous to analyze
total digital systems with embedded microprocessors. physiologic variables on a “heartbeat-by-heartbeat” or
Local area networks (q.v.) are typically used to connect “breath-by-breath” basis. The data management com-
bedside monitoring devices to each other, to the central puter must, in these situations, process the basic time-
nurses’ station display systems, and to the patient data varying physiologic waveform. The necessary computer
management system. The central patient data manage- programs are generally written by personnel with medical
ment software may reside on a powerful minicomputer backgrounds or under medical staff supervision. These
(g.v.) or an advanced scientific workstation (g.v.), or pattern recognition (q.v.) programs represent a more com-
may be distributed between many dedicated bed-specific plex level of programming than that usually required in
workstations. Limited data management capability is other than the beat-to-beat situation.
also contained within some bedside physiologic moni- The software used in intensive care monitoring sys-
toring devices. tems can vary as widely as the system hardware. At one
Physiologic signal analysis begins within the many end of the spectrum, all monitoring and analysis tasks are
parameter-specific plug-in modules that customize the performed by a relatively simple program that sequen-
microprocessor-based bedside physiologic monitors. tially analyzes each of the signals being monitored on a
Containing microprocessors themselves, these plug-in particular patient, permanently records its findings, and
modules provide analog-to-digital conversion (g.v.) of then cyclically switches to the next patient before the
monitored waveforms, as well as initial signal processing program repeats its analysis.
and feature extraction. The digitization process is of crit- At the other end of the software spectrum are re-
ical concern because physiologic data is usually devel- entrant monitoring and analysis programs that exist in a
oped at the patient/transducer interface as an analog multiprogramming (q.v.) environment. These programs
signal (i.e. a voltage that varies as a function of time) and use a hardware, priority interrupt system to respond
inaccuracies at the digitization stage will corrupt the data dynamically to the needs of many simultaneously moni-
for all subsequent analyses. tored patients. In such a computer installation, data re-
Improved patient care can be achieved through com- trieval can be carried out interactively from many
puterization for several reasons. First, nurses are able to independent terminals, using sophisticated data analysis
concentrate on direct patient care when computers take and graphics software. In addition, low-priority back-
over the repetitive and time-consuming measurement ground processing of non-real-time tasks is possible to a
and record-keeping functions. The least sophisticated pa- limited extent.
tient-monitoring systems should fulfill this role by logging An open-ended area in the development of patient
the measurements provided by the multitude of commer- monitoring systems is that of diagnostic and statistical
cially available bedside physiologic monitoring devices. analysis programming. The ultimate extent to which com-
These instruments typically provide average values of puters will contribute to patient care depends upon the
such parameters as heart rate, blood pressure, respira- growth of techniques used in the analysis and extrapola-
tion rate, and body temperature on front panel digital tion of all available data. The application of cluster analy-
displays for visual inspection by the medical staff. sis, correlation techniques, nonlinear transformations,
Second, uniformity and reproducibility in data collec- artificial intelligence (g.v.), and expert systems (g.v.) offer
tion from shift-to-shift and day-to-day improve the reli- the potential to improve the accuracy of diagnostic and
ability and completeness of the medical record. The more trend detection functions. The continuing development
sophisticated systems maintain a database on each pa- of diagnostic methods will provide the new criteria to be
tient which is reviewable upon request in tabular or implemented on ICU computer systems in the future.
graphical formats. A hospital can currently obtain physiologic monitor-
Third, a continuous vigil is maintained for measured ing devices, nurses’ station displays and patient data
parameters that are out-of-tolerance. In advanced sys- management systems from many commercial vendors.
tems, trend analyses and multiparameter diagnostic algo- These systems can be tailored to the hospital’s require-
rithms contribute to a further increase in system ments and will provide a majority of the capabilities dis-
capability by providing the physician with-an immediate cussed, except for research-oriented features such as
indication of many undesirable and correctable events, automated infusion therapy, without the need for an in-
such as the presence of abnormal heart rhythms. house software development effort. Computerized bed-
Finally, continuous computer adjustment of thera- side monitoring and nurses’ station components are used
peutic interventions is possible and can provide a level of in virtually all hospitals today. However, the current high
control unattainable by the periodic human supervision cost and recent commercial availability of most patient
of these interventions. For example, the use of sophisti- data management systems tend to limit their widespread
cated computer hardware has been shown to allow the use.
696 INTERACTIVE INPUT DEVICES
FIG. 1. A computer keyboard, with attached function keys. The function keys to the left and
right have specific functions. The function keys labeled F1 through F12 are programmable, and
their function will vary with the application. (Photograph courtesy of Sun Microsystems, Inc.)
pressed, function keys produce a group of two or three An interactive system is a computing system that al-
character codes per stroke. This allows the computer to lows the user to interact with a running program by giving
differentiate them from keyboard keys. it data or control directions through a video display ter-
Function buttons are used to choose options with one minal (VDT) or personal computer. This mode of opera-
key stroke and will perform a function that is specific to tion is in contrast to a batch processing system, which
the application program that is running. For this reason, requires that all input be placed in a file that is readied for
they are also referred to as programmable function keys. reading before beginning execution of the program that
will process it. The obvious advantage of interactive use
Other Devices Input devices and user interaction is that the user can choose input and control directions
are active topics of research. Work is being done to recog- based on partial results received from an early phase of
nize voice data entry and handwritten data entry and will program execution, whereas batch processing requires
undoubtedly lead to new devices and device classes. that data be prepared with all eventualities in mind. The
difference is most acute when debugging a new program.
Simulation of Logical Functions If a worksta- A stand-alone personal computer is naturally interac-
tion were to be designed such that all classes of input tive because its only user sits right at its keyboard and
devices had to be included, the user’s desktop could screen as computation proceeds. A terminal or personal
become quite cluttered with a keyboard, mouse, lightpen, computer becomes interactive with respect to a remote
button pad, and valuator dials. To reduce the number of host computer (q.v.) only if it is “hard wired” to the host or
devices without reducing the functionality of the worksta- is equipped with a modem (g.v.) that allows calling the
tion, computer systems will often simulate a device from host over telephone lines.
one class with a device from another. While it is possible
to simulate a device from any of the classes with one from EDWIN D. REILLY
another, some of these simulations are quite logical, but
others are quite nonsensical. Some examples of device
class simulation follow.
A keyboard is the most versatile input device, since INTERLEAVING
it may easily simulate devices from other classes. A loca- For articles on related subjects see ACCESS TIME; and MEM-
tor or valuator function can be simulated by the user ORY: MAIN.
typing in an (x,y) coordinate location or a real value.
Objects can be numbered or named, and the user can pick In systems with more than one autonomous memory
an object by typing that object’s name. Instead of function module, considerable advantage in system speed may be
buttons, the user can type the function name on the acquired by arranging that sequential memory addresses
keyboard, as is done with most operating systems. occur in different modules. By this means the total time
Locating devices can perform a pick function by indi- taken to access a sequence of memory locations can be
cating a location on the object to be picked. A lightpen much reduced, since several memory accesses may be
(pick) can simulate a locator by having the user drag a overlapped by a high-speed CPU. Two-way and four-way
crosshair on the screen to the correct position. Display- interleaving are commonly encountered.
ing a menu of commands on the screen allows the user to Assume, for example, a memory with 0.6 ys access
use a keyboard as a simulated button with which a partic-
time (i.e. the time to get a word from memory to the
ular menu item can be selected.
processor) and a 1.2 us cycle (i.e. the time after the
In an extreme example, a pick device can be used to
_initiation of an access before the memory can be ac-
simulate a keyboard by displaying a picture of a keyboard
cessed again), and a processor requiring 0.2 us to prepare
on the screen as a Series of objects. A lightpen would then
be used to “hunt and peck” at the keyboard on the screen,
a memory request and a further 0.2 us to handle the
result. Also assume processor and memory overlap.
picking the keys to be typed. Other simulations are possi-
ble and allow workstations to provide a wide range of Under these conditions, as illustrated in Fig. 1, a
functions without the clutter of multiple input devices. sequence of four memory accesses would take 4.6 js with
no interleaving, 2.4 ws with two-way interleaving, and
References 1.6us with four-way interleaving. Notice in this example
that four-way interleaving provides a smaller incremental
1989. Brown, Judith and Cunningham, Steve. Programming the
advantage than does the two-way. This is a result of the
User Interface. New York, NY: John Wiley & Sons.
particular choice made of CPU and memory timing, which
1990. Foley, James D., Van Dam, Andries, Feiner, Steven K., and
Hughes, John F. Computer Graphics: Principles and Practice.
happens to be fairly well suited for two-way interleaving.
Reading, MA: Addison-Wesley. Notice further that four-way interleaving leaves the CPU
fully occupied (at least as far as the example goes). The
JEFFREY J. MCCONNELL result is that more than four-way interleaving in this ex-
ample will provide no increase in speed. The system
speed for four-way (or more) interleaving has become
CPU-limited rather than memory-limited, as is the case
INTERACTIVE SYSTEM shown in Fig. 1(a).
For an article on a related subject see TIME SHARING. For very high speed CPUs (particularly those involv-
700 INTERLOCK
A B C D
CPU prepares request -— Hi — —
A B Cc D
Memory M is accessed \ ‘ mM ; rr ' Pi ea ondeee eer
A B C D
CPU handles result — 4 + 4
4.6 us CPU time
(a)
AB C.D
CPU prepares request 4~4p-4 ar
A C
Memory M, is accessed »}————¢———_—-4 }>—___+—___4
B D
Memory M, is accessed na Pe fl
AB C28
CPU handles result 4 HH
2.4 us CPU time
(b)
ABCD
CPU prepares request 4H Ht
A
Memory M, is accessed }———__-_4
B
Memory M, is accessed ——_};—____J
3 Cc
Memory M, is accessed }-—_+_—__
: D
Memory M, is accessed +
ABCD
CPU handles result +t
1.6 us CPU time
(c)
FIG. 1. Timing diagram, showing a sequence of four memory accesses (A,B,C,D) in a speed-lim-
ited memory system with (a) no interleaving, (b) two-way interleaving, and (c) four-way inter-
leaving. (Time scale is 0.2 us per division.)
Busy A
Request A Connect
resource
toA
on
Interlock Threshold
flip-flop detectors
rd
Connect
Request B resource
toB
Busy B
request is honored at a time, and perhaps that some inputs, random electrical noise, circuit asymmetry, etc.,
discipline, such as first-come-first-served, is observed. the circuit will establish a stable state in which one and
In many cases, the mechanism communicates with only one of the requests is honored. In practice, this
each process using flags, which are memory elements set oscillatory decision process occurs very rarely. In one
and read either through software or hardware. A common study conducted using 10 ns logic, oscillation of any
problem concerns the relative timing of setting and inter- significance was observed only when input signals were
rogating the flags, and of the start of subsequent action. within 100 ps of simultaneity. For signals within 10 ps of
The problem is further complicated by the fact that asyn- simultaneity, oscillation was maintained for about 1 ys
chronous (time-uncoordinated) processes may be ob- before a decisions was reached.
serving each other and must decide on a future course of
action based on a snapshot observation. Often, the inter- ADEL S. SEDRAAND KENNETH C. SMITH
lock mechanism is an important part of the timing of each
process; hence, it should be very fast.
One solution to interlock incorporates a polling (g.v.)
mechanism where the appropriate conditions of each
process are interrogated in turn and decisions are
INTERPRETER. See Lancuace Processors.
reached in a corresponding fixed order or priority. This
scheme, though easily implemented either in hardware or
software, requires a separate polling device or program
and is wasteful of time, particularly when conflict is -un- INTERNATIONAL FEDERATION
likely. OF AUTOMATIC CONTROL
A hardware approach to arbitrating between re- (IFAC)
quests from two processes (e.g. CPUs) for a shared
resource (e.g. memory) is shown in Fig. 1. Normally, both -For article on related subject see INTERNATIONAL FEDERATION
inputs (request A and request B) are zero, setting the FOR INFORMATION PROCESSING.
interlock flip-flop into the (1,1) output state and inhibiting
both selection gates via the inverting threshold elements. The International Federation of Automatic Control
When either request A or B is raised separately, the flip- (IFAC) is a multinational federation of national member
flop establishes the corresponding (0,1) state, selecting organizations, each one of which represents the engineer-
the corresponding selection gate and generating a signal ing and scientific societies that are concerned with auto-
connecting the resource to the requester. If, for example, matic control in their respective countries. At present, 44
request B is raised while A is up, the connection to A is countries (see Table 1) have formed appropriate national
unaffected, and a suitable busy signal is returned to pro- member organizations and joined IFAC.
IFAC is concerned with advancing the science and
cess B.
If both A and B requests occur simultaneously, the technology of control—which in the broad sense includes
effect is to change both outputs of the interlock flip-flop engineering, physical, biological, social, and economic
systems—and in promoting the dissemination of informa-
from one to zero at once. By virtue of the feedback, shown
tion about such systems throughout the world. The pri-
in Fig. 1, an oscillation will be produced in which the
mary means for accomplishing these aims are:
outputs of the interlock flip-flop change in phase at a very
high frequency. The amplitude of the oscillation is so
small that the threshold of the detectors following can be 1. International congresses, held every three years.
set to ignore it. 2. Between congresses, symposia covering particu-
Eventually, due to minute timing differences in the lar aspects of control systems, with topics rang-
702 INTERNATIONAL FEDERATION OF AUTOMATIC CONTROL (IFAC)
ing from “Automatic Control in Space,” to “Sys- How Established IFAC came into existence because
tems Approaches to Developing Countries.” scientists and engineers working in the field of automatic
3. The IFAC Journal Automatica, which publishes control realized their need to become more closely
both selected papers from symposia in expanded associated to exchange information regarding their ac-
form, and original material of particular interest. tivities. In 1956, at an International Symposium on Au-
tomatic Control at Heidelberg, V. Broida (France), O.
IFAC is also concerned with the impact of this advancing Grebe (FGR), A. M. Letov (USSR), P. J. Nowacki (Poland),
technology on society. The technical committee on the R. Oldenburger (U.S.), and J. Welbourn (U.K.) formed
Social Effects of Automation acts as the focal point for the Organizing Committee of IFAC, with Dr. Broida as
the collection and dissemination of information in this president and Dr. G. Ruppel as secretary. A general
field. assembly was convened in Paris, France, and on 12
IFAC takes an active role in public affairs, making its September 1957, IFAC became a reality with 19 member
broad technical expertise available to the United Nations organizations. The constitution and bylaws were adopted
and other international and regional organizations. in London on 21 June 1966.
INTERNATIONAL FEDERATION FOR INFORMATION PROCESSING (IFIP) 703
TABLE 1.
Country Society
ary Life Members, Isaac L. Auerbach, Heinz Zemanek, and TC 6 COMMUNICATION SYSTEMS
Richard I. Tanaka. WG6.1 Architecture and Protocols for Computer
The executive body of IFIP is composed of the offi- Networks
cers: The president, three vice-presidents, the secretary, WG6.4 Local and Metropolitan Computer Net-
and the treasurer. These officers are elected by the Gen- works
eral Assembly. The day-to-day work of IFIP is adminis- WG6.5 Application Layer Communication Ser-
tered by a Secretariat, whose address is 3 rue du Marche, vices
1204 Geneva, Switzerland. WG6.6 Network Management for Communica-
The Council, consisting of the officers and up to eight tion Networks
elected trustees, meets twice a year and makes decisions TC 7 SYSTEM MODELLING AND OPTIMIZATION
that become necessary between General Assembly meet- WG7.1 Modelling and Simulation
ings. WG 7.2 Computational Techniques in Distributed
Systems
Technical Committees Inacontinuing program de- WG 7.3. Computer System Modelling
voted to acommon basis for the worldwide development WG 7.4 Discrete Optimization
of the information sciences, IFIP has established a num- WG7.5_ Reliability and Optimization of Structural
ber of Technical Committees (TC) and Working Groups Systems
(WG), the influence of which are strongly felt at interna- WG7.6 Optimization-Based Computer-Aided -
tional as well as national levels. Modelling and Design
Each Technical Committee is composed of represen- WG7.7 Stochastic Optimization
tatives of the IFIP Member Societies (one per society), TC8 INFORMATION SYSTEMS
whereas Working Groups, under the supervision of a WG 8.1 Design and Evaluation of Information Sys-
Technical Committee, consist of specialists in the field tems
who are appointed as individuals independent of nation- WG 8.2 The Interaction of Information Systems
ality. and the Organization
The following Technical Committees and Working WG 8.3 Decision Support Systems
Groups are currently (1991) in operation: WG 8.4 Office Systems
WG8.5_ Information Systems in Public Adminis-
TC 2 SOFTWARE: THEORY AND PRACTICE tration
WG 2.1 Algorithmic Languages and Calculi TC9 RELATIONSHIP BETWEEN COMPUTERS AND
WG 2.2 Formal Description of Programming Con- SOCIETY
cepts WG 9.1 Computers and Work
WG 2.3 Programming Methodology WG 9.2 Social Accountability
WG 2.4 System Implementation Languages WG9.3 Home-Oriented Informatics and Telemat-
WG 2.5 Numerical Software ics (HOIT)
WG 2.6 Database WG 9.4 _ Social Implications of Computers in De
WG 2.7 User Interface Engineering veloping Countries
WG 2.8 Functional Programming WG9.5 Social Implications of Artificial Intelli-
TC 3 EDUCATION gence Systems
WG3.1 Informatics Education at the Secondary WG 9.6 Computer Security Law
Education Level TC 10 COMPUTER SYSTEMS TECHNOLOGY
WG3.2 Informatics Education at the University WG 10.2 System Description and Design Tools
Level WG 10.3 Concurrent Systems
WG 3.3. Research on Educational Applications of WG 10.4 Dependable Computing and Fault-Toler-
Information Technologies ance
WG 3.4. Vocational Education and Training WG 10.5 Very Large Scale Integration “VLSI” Sys-
tems ,
WG 3.5__ Informatics in Elementary Education
WG3.6 Distance Learning TC 11 SECURITY AND PROTECTION IN INFORMA-
TC5 COMPUTER APPLICATIONS IN TECHNOLOGY TION PROCESSING SYSTEMS
WG 5.2 Computer-Aided Design WG 11.1 Information Security Management
WG 5.3 Computer-Aided Manufacturing WG 11.2 Office Automation
WG 5.4 Computerized Process Control WG 11.3 Database Security
WG5.6 Maritime Industries WG 11.4 Crypto Management
WG 5.7 Computer-Aided Production Manage- WG 11.5 Systems Integrity and Control
ment WG 11.7 Legislation
WG5.8 Product Specification and Product Docu- WG 11.8 Information Security Education
mentation
WG5.9 Computers in Food Production and Agri- Affiliations of IFIP IFIP was founded under the aus-
culture pices of UNESCO and has had official relationships with
WG 5.10 Computer Graphics UNESCO since its inception. IFIP has the status of cate-
WG5.11 Technology for the Environment gory B (“able to advise in a particular field”). IFIP was
706 INTERRUPT
admitted into official relations with the World Health Or- ISTE is dedicated to the improvement of education
ganization in February 1972 and maintains informal rela- through the use and integration of technology. The goals
tionships with most other members of the UN family, of ISTE include:
including the UN in New York.
IFIP has the status of a Scientific Affiliate of the Inter- e Providing a prominent information center and
national Council of Scientific Unions (ICSU). ICSU on its source of leadership to communicate and collabo-
behalf maintains relations with UNESCO in category A rate with educational professionals, policy mak-
(“proven competence in an important field of UNESCO’s ers, and other organizations worldwide.
work”). e Maintaining a strong geographical/regional affili-
In 1970, IFIP together with four related federations, ate membership to support and be responsive to
IMACS, IFAC, IFORS, and IMEKO, established the “Five grassroots efforts to improve the educational use
International Associations Coordinating Committee” of technology.
(FIACC), which is the basis for cordial and successful e Fostering an active partnership between busi-
coordination of activities and a yearly opportunity for the nesses and educators involved in the field of com-
exchange of thoughts and experiences. puter-based technology in education.
IFIP also participates in an advisory capacity in the
work of CCITT, the Comité Consultatif International In support of educators who use computers, ISTE pub-
Télégraphique and Téléphonique. lishes The Computing Teacher journal, Update newsletter,
the Journal of Research on Computing in Education, the
IFIP Congresses A major event in the IFIP program journals and newsletters of several Special Interest
of activities is the Congress, held every three years. An Groups, and ISTE books and courseware.
IFIP Congress is an international occasion that attracts The following have served as presidents of ISTE: Den-
information scientists, managers, and administrators nis Bybee and Paul Resta (jointly), 1989-1990; Gary Bitter,
from all over the world to listen, to learn, and to exchange 1990-1991; Bonnie Marks, 1991-1992. David Moursund is
ideas with their colleagues from other countries. the chief executive officer and editor-in-chief of The Com-
The first Congress was held in Paris, and subsequent puting Teacher journal. Dianne Martin is the associate ex-
events have been in Munich, New York, Edinburgh, Ljublj- ecutive officer and heads the Washington DC office. ISTE’s
ana, Stockholm, Toronto, Tokyo, Melbourne, Paris, Dub- international headquarters are located at the University of
lin, and San Francisco. The 1992 Congress will be held in Oregon, 1787 Agate Street, Eugene, OR 97403-9905; phone
Madrid. 503-346-4414. ISTE’s national office is located at School of
IFIP Congresses have attracted up to 5,000 partici- Engineering & Applied Science/Tompkins Hall, The George
pants from as many as 55 countries and have a good Washington University, Washington, DC 20052; phone 202-
reputation both for scientific excellence and for relevance 994-8238.
to the day-to-day application of computers. Every Con-
gress includes a major exhibition of computer systems ISAAC L. AUERBACH
and services.
IFIP also organizes a triennial series of World Con-
gresses on medical informatics called MEDINFO. The last INTERRUPT
such event was held in Beijing from 16-20 October 1989.
In addition to these major Congresses, IFIP’s Techni- For articles on related subjects see CHANNEL; INTERVAL
cal Committees organize many international conferences TIMER; OPERATING SYSTEMS; PRIVILEGED INSTRUCTION; SUPERVI-
on their specialized subjects, ranging in size from small SOR CALL; TIME SHARING; and TIME SLICE.
working conferences to major international events. An
example of the latter is a series of World Conferences on The capability to interrupt a program, an important
Computers in Education. The most recent was held in feature of most modern computer systems, permits them
Sydney, Australia, in August 1990. to respond quickly to exceptional events that can occur
at unpredictable times. Some events of this type are sig-
ISAAC L. AUERBACH nals generated by instruments or sensors monitoring
some industrial or laboratory process, or a user at a
teletype or video terminal signaling the end of a typed
message that requires computer analysis and response.
INTERNATIONAL SOCIETY FOR The response to an interrupt is the invocation of a re-
TECHNOLOGY IN EDUCATION sponding program and, in this respect, an interrupt re-
(ISTE) sembles other means of changing the flow of program
control, such as a linkage to a subroutine. The essential
The Jnternational Society for Technology in Education difference in the case of interrupt is the great diversity of
(ISTE) is a non-profit professional organization for educa- interrupt events and their unpredictability,
tors who use computers. ISTE is the merged society of the An interrupt facility is very common in most operat-
International Council for Computers in Education and the ing systems and real-time applications. It not only enables
International Association for Computing in Education. a computer to communicate with a rich variety of external
This merger took place in June 1989. devices, but is also helpful to the system in managing its
INTERRUPT 707
own device and program resources. Although basically Lines into the i486 chip:
implemented by hardware, the logical power of interrupts INTR—One interrupt request line (Pin A16) that can
is also provided in a convenient form to users of some be enabled/disabled (see EFLAGS (9) below).
modern programming languages, as by the ON statement NMI—One interrupt request line (Pin B15) that can-
in PL/I. not be disabled (used for severe events like
Each event that can cause an interrupt generates an power failures).
“interrupt request” that can be visualized as a 1 or 0 signal DATA—Data bus lines into the microprocessor.
on a physical line indicating whether the request is active
or not. To respond to an interrupt request, the current Registers/items internal to the i486 CPU chip:
CPU (central processing unit) program must be stopped IF—Bit 9 of the CPU’s EFLAGS register enables/dis-
gracefully (i.e. interrupted) and the CPU then switched to ables INTR-signaled interrupts.
a program designed to service the interrupt request. In- PA—Program address register (address of next in-
terrupts are thus a mechanism that enables several logi- struction).
cally unrelated programs to time-share a single CPU and, IDTR—Interrupt descriptor table register (memory
thereby, other computer resources. address of first item in an interrupt descriptor
table (IDT)).
General Functional Features There are many IDT—Interrupt descriptor table containing up to
computer architectures, each with its own interrupt 256 entries, each 64 bits, that includes the mem-
scheme. Despite this great diversity in detail and also in ory address of an interrupt service routine.
terminology, there are certain commonalities:
Assume that an interrupt request, as an appropri-
ately timed signal on the INTR line, is sent to the i486 CPU
Storage of interrupt requests.
by an external device (or chip) such as an I/O channel or
Program-controlled enabling and masking.
interval timer. Then, at the end of the current instruction,
Saving the program state. if its IF bits specifies “enabled,” the i486 CPU starts the
Forced branch to a new program. interrupt response by saving the CPU’s current basic
. Cause identification. state information for later restoration, by storing (push-
WNo
AAR
. State restoration. ing) the PA and EFLAGS register into the stack (an area of
memory). In the process, further interrupts are disabled
Item 1 refers to the need to store requests until serviced, by automatic setting of the IF flag to “disabled.” The
since the CPU can respond to only one request at a time. interrupt service routine is then selected using 8 bits
Item 2’s purpose is to provide a means for the program to called an “interrupt vector” supplied by the requesting
“paralyze” the interrupt-response mechanism at certain device on the DATA lines. This 8-bit item in effect identi-
awkward times, such as when a previously recognized fies the cause of interrupt, since it is used to select its
interrupt is already being serviced. Item 3 refers to the service routine. The i486 does this by using the 8 bits as
graceful suspension of the current program, “graceful” an address increment to IDTR, thus addressing one item
meaning that the program is stopped in such a way that in the IDT table. Part of that IDT table entry then replaces
it can be easily resumed later. This involves storing cer- the PA, thus becoming the starting address of the inter-
tain CPU registers that must be used by every program, rupt service program selected by the vector.
including the one performing the interrupt response. The During an interrupt-service program, the program
program address register (PA) is the most vital such may reset the IF flag to “enable” permitting interrupts
register, since it holds the address of the next instruction ‘(nested interrupts are then possible). At the end of the
to be executed. Item 4 is the essence of an interrupt—the service program, the old program state is usually re-
forced branch to the new responding program. Item 5 stored by the program executing the i486 instruction
refers to the need to be able to identify the cause of the “IRET” (interrupt return). This “pops” the stack into the
interrupt. Item 6 is required for eventual resumption of PA and EFLAGS registers, thus restoring them to the pre-
the interrupted program. interrupt state.
Apart from external interrupts, the i486 handles cer-
Microprocessor Example A microprocessor is a tain classes of internally caused events by much the same
scheme, only now the &bit vector is supplied on-chip
CPU whose circuitry is wholly contained on a single semi-
rather than externally on the DATA lines. One class of this
conductor chip. Our specific example is the Intel i486, a
type are unusual conditions encountered as a part of
powerful 32-bit microprocessor chip that can handle up
instruction processing (“exceptions” like illegal operation
to 256 causes-of-interrupt. The i486 (or 80486) is the latest
codes or addressing mishaps). Another class is the “soft-
in a line of Intel Corporation’s microprocessors dating
ware interrupt” that can be initiated by programs execut-
back several years (8088, 8086, 80386, etc.), and its archi-
ing the CPU instruction “INT n”. In this latter case the
tecture, including the popular “vectored” interrupt
parameter “n” is used as the interrupt vector.
scheme is an extension of the earlier models. The fact that
the architecture is extended means that software written
for previous models will still run on the 80486. A Large Machine Example A large computer
tends to have a more elaborate interrupt scheme than,
The interrupt-related items are: say, a microprocessor, in keeping with the greater num-
”
708 — INTERRUPT
ber, variety, and complexity of its peripheral (1/0) devices certain long-duration instructions). The interrupt itself
and its need for high speed. consists of storing the PSW into a fixed area of memory
Fig. 1 shows a highly simplified version of the scheme called the “Old-PSW” (at memory location 1 in this exam-
used in the IBM 360/370/390 (g¢.v.) systems. The large . ple). Then the PSW is reset from the “New-PSW” (at mem-
number of interrupt request lines are subdivided into ory location 0). Since the New-PSW respecifies the mask
several mask-groups, the members of each group sharing bits as well as the instruction address PA, any mask can
one mask bit. A mask bit controls whether the request will be set by prestoring its bits into location 0. The cause of
be permitted to cause an interrupt or not. The mask bits interrupt is available to the response program in the
are intended to give the program control over which Old-PSW at location 1.
requests can be allowed to cause an interrupt at any given
time. A special case occurs when all mask bits are 0, which
Interrupt Request Classes Interrupt requests
inhibits all interrupts. This might be done by the operat- may usually be categorized as follows:
ing system during certain interrupt response activities.
The interrupt mask bits, the PA (called the instruction
. Processor operations
address), and several other items relating to program se-
. Privileged operations
quencing and interrupt are “packaged” into a single 64-bit
quantity called the PSW (program status word) that can be . Software-call instruction
stored and reset in one operation (as will be seen shortly). . Machine malfunction
The circled numbers in Fig. 1 indicate relative time of . Input/output
events in the interrupt process. The request lines are Timer
combined with their mask bits at time 1. If any unmasked = . External device
WND
NOOR
pending requests are found, this generates a master inter-
rupt request. Also, the priority logic acts during this inter- Class 1 includes register overflows, divide-checks, illegal
val to select the highest priority request, which is then operation codes, and address-out-of-bounds. Class 2 re-
identified by the encoder logic, and this identity is then fers to those conditions that may arise because many
stored in the PSW at time 3. The CPU will respond to the computers reserve certain instructions for a privileged
master request at the end of the current instruction (but, mode of the machine, so that key resource-scheduling
in System 370, interrupts are permitted before the end of and storage-protection instructions can only be executed
@ @ @ @
sc
eae ve
i=
2 Canon
Main storage
FIG. 1. A simple interrupt system. The circled numbers indicate relative event
times.
INTERVAL ARITHMETIC 709
by the operating system. A class 2 interrupt occurs if decision. Some systems offer a small number as standard;
execution of any of these privileged instructions is at- the customer may add more at a modest cost.
tempted while the machine is not in the privileged mode. The grouping structure is subject to hardware/soft-
Class 3 refers to the ability to initiate an interrupt explic- ware/speed trade-offs. We will call each source of New-
itly by software executing a special instruction designed PSW an interrupt level. Thus, for example, the case of Fig.
to call directly operating system routines. Classes 4 and 5 1 represents a one-level system. Since each level, which
are rather obvious in principle and will not be discussed points to the start of an interrupt service program, con-
further. Class 6 refers to an interval timer that can be set stitutes a partial decoding of the interrupt cause, fast
to any reasonable positive value by a machine instruc- response requires a large number of levels. On the other
tion. Circuitry is provided to decrement this value auto- hand, as long as the cause is recorded, only one level is
matically at regular time intervals and generate an logically essential, since the interrupt-handling program
interrupt request when the value reaches zero. Class 7 can use the cause-field of the Old-PSW to determine the
refers to interrupt requests that may be typically gener- response routine.
ated by sensor devices, instruments, or relay closures. Another implementation issue is the amount of infor-
The term synchronous interrupt is sometimes used for mation to be stored automatically (by hardware) at each
one whose cause is associated with the currently execut- interrupt. The result of an interrupt is the initiation of a
ing instruction, while other interrupts are called asynchro- new program that will require the same kind of CPU
nous. Thus, classes 1, 2, and 3 are synchronous and the facilities as the interrupted program. The PSW represents
remaining ones asynchronous. (See SYNCHRONOUS/ASYN- the near-minimum of such facilities; a scheme that stores
CHRONOUS OPERATION.) ‘ only the PSW automatically will have to store other com-
The complete problem of interrupt-handling is al- ponents of the state of the CPU by program instructions
ways solved by a combination of hardware and software. during the interrupt response. This has two deleterious
In general, the more done in hardware, the greater can be effects on response time. First is the actual time to store
the speed of response, but the higher the cost and the less the registers and to reload them for the new program.
the flexibility to accommodate changes in interrupt logic. Second is the fact that during this time the system cannot
Because of these economy-speed relationships, systems be interrupted, and it is therefore possible that later
differ greatly in the choice of which interrupt functions to interrupts might be lost. Maximum speed is attainable by
implement in hardware. supplying multiple sets of important CPU registers, and
One theme in many computer systems is that inter- this is done in some systems. Sometimes the sets are
rupts and subroutine linking have much in common, since made available in increments at incremental costs. The
in both cases one program or subprogram is “put to optimum number of register sets will, of course, depend
sleep” while another is “awakened” and provision must on the interrupt speed specifications.
be made to return to the first program later. This idea, Finally, we should mention a hardware/software fea-
especially evident in microprocessors and other recent ture that is most desirable but is often lacking in an
computers, leads to both mechanisms sharing common interrupt system. This is the ability to set any interrupt
hardware and software logic. Unique aspects of inter- request line by a program instruction, although, of
rupts, due to their time-unpredictability, necessitate course, normally many such requests are generated by
hardware support for request-handling (masking, prior- natural events. Such program control over requests is a
ity, cause identification). desirable feature for system testing and debugging.
Much of the complexity of interrupt-handling is in the
software servicing the interrupt. The software is usually a References
part of the operating system program that manages the - 1983. IBM Corp. IBM System/370 Extended Architecture Principles
assignment of all hardware/software resources to work- of Operation SA22-7085. Chapter 6 “Interruption.”
load demands. In fact, most operating systems are inter- 1984. Hamacher, V. C., Vranesic, Z. G., and Zaky, S. G. Computer
rupt-driven i.e. the interrupt system is the mechanism for Organization (2nd Ed.): New York: McGraw-Hill.
reporting all changes in resource states; and such changes 1989. Intel Corp. i486 Microprocessor. Santa Clara, CA.: Intel Cor-
are the events that induce new assignments. Incidentally, poration, pp. 44, 92, 120.
this fact makes interrupt handling an excellent place for
HERBERT HELLERMAN
monitoring resource-use for performance analysis and
billing. Many performance monitors called tracers do their
jobs by intercepting each interrupt and recording the
cause and time of occurrence as a trace record. A stream INTERVAL ARITHMETIC
of such records is acomprehensive log of system activity.
Because of the very close relationship between inter- For articles on related subjects see COMPUTER ARITHMETIC;
rupts and the operating system that handles them, and ERROR ANALYSIS; NUMERICAL ANALYSIS; and SIGNIFICANCE ARITH-
the very great diversity in operating system logic, it is METIC.
difficult to discuss the software aspects of interrupt im-
The essence of interval arithmetic is that:
plementation in any generality. For this reason, most of
the following discussion is confined to options that ap-
pear in hardware implementations in some systems. 1. Closed, real intervals are substituted for compu-
The number of request lines is clearly a logic-design tational data in which there is uncertainty.
710 — INTERVAL ARITHMETIC
2. Each such interval is represented by a pair of elementary arithmetic operations. The rules of interval
floating-point numbers that are known to be arithmetic are:
lower and upper bounds for the “true” (un-
known) value of its corresponding datum. [a,b] + [c,d]= [a +c,
b+ di);
[a, b] —[c,d] = [a —d, b —c];
3. In place of each arithmetic operation in a numer- [a, b] - [c,d] = [min (ac, ad, bc, bd),
ical algorithm, a corresponding interval arithme- max (ac, ad, bc, bd);
tic operation computes the interval containing [a, b] + [c, d] = [min (a/c, a/d, b/c, b/d),
all possible results of performing the original max (a/c, a/d, b/c, b/d)},
operation on any values taken from the interval (provided 0 ¢[c, d]).
operands.
For example, we have the following correspondences:
Numerical computations have little value absent some
—-lsxx2 X=[- 1,2],
assessment of accuracy. Computational errors can arise
lsy 33 Y = [1,3],
from any or all of: (1) measurement error in the input data, 0=@+y¥)s5 X + Y= (0, 5],
(2) propagation of rounding errors in floating-point arith- —4=(x—y)s1 A= Y={— 4 1,
metic operations, and (3) approximation of an infinite —3=@-y)=6 od nayaries 6
computational sequence by a finite one. For many com- La = y) s2 X+Y=[-1,2].
mon numerical procedures, a priori error analysis can be
employed either to bound the error in the computed Each inequality is sharp, so each corresponding interval
results (forward analysis) or to show that the computed endpoint can be attained, provided that x and y are inde-
results are the exact solution for a bounded perturbation pendent. If they are not, the inequalities will certainly still
of the input data (backward analysis). In other cases, a be valid, but may not be sharp. If for example,
posteriori computations can estimate the accuracy of a
—~)sxsi2euand. oy =) xh,
previously computed approximate solution. Each such
error analysis is customized for a particular numerical then while 1 = y = 3 as above, in place of the previous
algorithm. In computations for which analyses do not correspondences, we have instead:
exist or in which the resulting error bounds are not ac-
ceptably small, other techniques must be used to esti- 1<(x+y)<5 (1, 5] C [0, 5),
mate accuracy. Interval arithmetic is one such technique, 29'S& Sy) =* Paper eGpean
a type of forward error analysis carried along with the ~2<(x-y) <6 [— 2,6] Cc[ — 3;6],
1/2 = (ai y) S2/3 a. 9292/3
ail sank2);
computation.
Suppose, given variables x and y, we wish to compute
Since the outcome of each interval arithmetic opera-
z=x + y. If exact values of x and y are not available, but
tion as defined above does not depend on past or future
we know instead that a =x = bandc =< y <d, then the
computational context, mathematical relationships that
rules of arithmetic inequalities tell us thata +cS x+y
hold for exact operands (intervals of zero width) are not
= b +d. If we now designate by X, Y, and Z the intervals
necessarily honored by interval arithmetic. For example,
in which x, y, and z are known to be contained, we could the evaluation of the expressions X - (Y + Z) and (X- Y) +
write X = [a, b], Y= [c, d],andZ=X+Y=[a+c,b+d]. (X - Z) in interval arithmetic will not always produce the
This definition of interval addition is consistent with the same result, since the equivalence of the two occurrences
computational goal previously stated and provides the of X is not taken into account. In practice, interval analysis
narrowest possible interval that can guarantee rigorous is concerned with finding computational sequences that
upper and lower bounds for the computed result. minimize the excess interval width that this phenomenon
Error may be introduced into the endpoint computa- induces.
tions of a + c and b + d, since these will not necessarily Interval arithmetic is directly applicable in cases in
be representable floating-point values, even if a, b, c, and which an a priori forward error analysis gives realistic
d are. To insure that error bounds remain valid at each bounds. However, it is not a panacea for rounding error
computational step, it is necessary to modify the problems, because of spurious widths introduced by ne-
rounding rules when computing interval endpoints so glecting mathematical dependencies such as exemplified
that the computed value of a + c will be rounded to a above. Problems that are inherently sensitive to small
numerically lower value (towards minus infinity) and the variations in initial data will likewise invariably lead to
computed value of b + d will be rounded to a numerically wide interval results. In the case of problems of mathe-
higher value (towards plus infinity), but only when they matical origin, an algorithmic restructuring can some-
must be rounded at all. These “directed rounding” floating- times provide acceptable results. In cases that model
point operations have not been widely available until chaotic behavior of physical systems, there are often
recently. relationships among the results that significantly con-
Interval analysis, the generalization of interval arith- strain the nature of the solution. In these cases, interval
metic, is concerned with problems of the following type: analysis is of little help; at best, it can find bounds on each
If bounds on the input data are known, how can we com- component, but even then only in conjunction with a
pute results in which rigorous bounds are of realistic careful algorithmic formulation.
width? This question is easily answered in the case of the Any computation that is inherently ill-conditioned
INTERVAL TIMER 711
J CL. See COMMAND AND JOB CONTROL LANGUAGE. JOB CONTROL LANGUAGE. see cow.
MAND AND JOB CONTROL LANGUAGE.
715
716 JUSTIFICATION
ally, typeset text such as that found in books and maga- between words or after punctuation. Typesetting for pro-
zines appears with straight (justified) left and right mar- portionally spaced devices involves inserting variable
gins. By contrast, typewritten letters usually have a width spaces between words; with such devices, each
left-justified (“flush left”) margin but a “ragged right” mar- character has its characteristic width as a function of
gin. On some output devices such as computer line print- font, size, etc.
ers, where each character in the print line has a uniform
ANDRIES VAN DAM
size (monospace), computer-based typesetting algo-
rithms can force alignment by inserting additional blanks
KERNEL ment (class 2) can be implemented by a collection of
processes, the coordination of which is managed by pro-
For articles on related subjects see INPUT-OUTPUT CONTROL cess management routines (class 1).
SYSTEM; MEMORY MANAGEMENT; OPERATING SYSTEMS: PRINCI The system kernel should not be confused with the
PLES; SCHEDULING ALGORITHM; SWAPPING; TASK; and VIRTUAL portion of the operating system that is continuously resi-
MEMORY. dent in main memory. Two criteria determine whether a
particular system module (either routine or table) should
The term kernel (and sometimes nucleus) is applied be resident—its frequency of use, and whether the sys-
to the set of programs in an operating system that imple- tem can operate at all without it. For example, file direc-
ment the most primitive of that system’s functions. The tories can be maintained in address spaces so that they
precise interpretation of kernel programs depends on the can be swapped out of main memory when not in use.
system. Typical kernels contain programs for four types Status information for inactive processes can similarly be
of functions: swapped out. The resident part of an operating system is
a subset of its kernel. —
1. Process management—Routines for switching
processors among processes; for scheduling; for PETER J. DENNING AND DorotnHy E. DENNING
sending messages or timing signals among pro-
cesses; and for creating and removing processes.
2. Memory management—Routines for placing,
fetching, and removing pages or segments in, or
KEY. See CryptocRAPHy, COMPUTERS IN; and SORTING.
from, main memory.
3. Basic I/O control—Routines for allocating and
releasing buffers; for starting I/O requests on
particular channels or devices; and for checking
KEYBOARD STANDARDS
the integrity of individual data transmissions. For articles on related subjects see ASCII; EBCDIC; INTER-
4. Security—Routines for enforcing the access and ACTIVE INPUT DEVICES; and STANDARDS.
information-flow control policies of the system;
for changing protection domains; and for encap- The most important reasons for specifying keyboard
sulating programs. standards are to save manufacturing costs by standardiz-
ing both the keyboards and the interfaces with other
In some systems, the kernel is larger and provides for equipment, to save operator training costs and achieve
more than these classes of functions; in others, it is higher operator efficiency in keying, to minimize input
smaller. Each of the classes of kernel programs contains errors into data processing systems by operators, and to
routines for handling interrupts pertaining to its class. make it possible to use several national alphabets in the
For example, clock interrupts are handled in class 1, page same information system as the use of international com-
faults in class 2, channel completion interrupts in class 3, puter networks grows.
and protection violations in class 4. Some systems order Despite the problem posed by the large investment
the classes hierarchically (e.g. in order: 1, 2, 3, 4) so that in current keyboard equipment, progress toward key-
programs in the given class can invoke services of pro- board standardization is steadily being made. Two inter-
grams of lower classes. For example, memory manage- national bodies are involved: The International Standards
717
718 — KILBURN, THOMAS
Organization (ISO), and the European Computer Manufac- The advent of the personal computer era has intro-
turers Association (ECMA). ISO standards are binding on duced a healthy ferment into the realm of keyboard stan-
all countries that have voted for their introduction, and to dards. For some years now, vendors have been
a degree also for those that have not; ECMA standards are, experimenting with variants of the keyboard layout
however, recommendations only. shown in Fig. 1. The basic QWERTY layout tends to be
Based upon the standard ECMA-23, the ISO issued the retained, but specialized keys are sometimes inserted
IS 2530 standard, “Keyboards for international information near the shift keys, and special “function keys” are often
processing interchange using the ISO 7-bit coded charac- placed along either row F or column 99 or both. Such keys
ter set—Alphanumeric area.” This international standard are very useful to the creators of software such as word
defines layouts for the alphanumeric area of a keyboard processors and spreadsheets; the keys are used to pro-
implementing the 95 graphics positions of the ISO 7-bit vide such aids as one-stroke requests for help or for
coded character set, complying with ISO 646, “7-bit coded invoking special functions, such as calling up a sub-menu
character set for information processing interchange,” or exiting the system. Vendors are also prone to experi-
comprising 128 characters, of which 95 are graphics, leav- ment with the ergonomic aspects of keyboards, such as
ing the remaining 33 for control purposes. These layouts the distance between keys, the sculpting of the key caps,
conform to ISO/R 2126, “Basic arrangements for the alpha- and the “touch” of the keys. Standardization efforts are
numeric section of keyboards operated with both hands.” likely to continue, but perhaps only after a breathing spell
The ISO 2530 standard specifies the pairing of the that brings some degree of stabilization to the rate at
characters (upper and lower case) and their allocation to which new personal computers and workstations (q.v.)
the keys. Out of the 95 graphics positions, one is reserved are being introduced.
for spacing, with a special key assigned to it; the remain-
ing 94 graphic positions are handled one of two ways: JIRI NECAS AND EDWIN D. REILLY
either paired to give upper and lower case positions of a
47-key layout; or, only 92 are paired on 46 keys with the
remaining two—the UNDERLINE and the ZERO—assigned
to two different keys for more convenience to the opera-
KILBURN, THOMAS
tor (see Fig. 1), thus giving a 48-key layout. For articles on related subjects see ATLAS; MANCHESTER
In addition to the basic alphabetic graphics layout, UNIVERSITY COMPUTERS; WILKES, MAURICE; WILLIAMS, SIR FRED-
the keyboard shown in Fig. 1 has an area reserved for ERICK C.; and WILLIAMS TUBE MEMORY.
shift-free keys that generate the code combinations and
associated characters. Rules and recommendations are Tom Kilburn was born on 11 August 1921 in Dews-
given in IS 2530 on the most suitable way of contracting bury, Yorkshire, England. Along with F. C. Williams and
the standard 47-key graphic area in cases where not all of M.V. Wilkes, Kilburn dominated the field of British com-
the 95 graphic characters are required. puter engineering in its formative years. He was educated
at Cambridge University, where he graduated in 1942 with Hope and Parity, edited by Jack Moshman, Washington:
a BA degree in mathematics. During the war in 1942-1945, Thompson Book Company, 1966.
he joined the Telecommunications Research Establish-
ment (TRE) at Great Malvern, where he was engaged in FRED GRUENBERGER
radar work. In 1946, he was seconded from the TRE to the
Electrical Engineering Department at the University of
Manchester to work under F. C. Williams on research into
cathode ray tube (i.e. electrostatic) storage. The result of
KNOWLEDGE
their work was the Williams tube—the first random ac- REPRESENTATION
cess digital storage device—which formed the basis for For articles on related subjects see ARTIFICIAL INTELLIGENCE;
the Manchester Mark I computer. A prototype of this COMPUTER VISION; DEDUCTIVE DATABASE; EXPERT SYSTEMS; HEU-
machine ran the world’s first stored program on 21 June RISTIC; LOGIC PROGRAMMING; NATURAL LANGUAGE PROCESSING;
1948. Collaboration with Ferranti Ltd. followed both for NEURAL NETWORKS; ROBOTICS; and THEOREM PROVING.
the Mark I and other machines such as the Mercury and
Atlas computers, with Kilburn assuming direction of the
Artificial Intelligence (AI) programs often need to use
projects after about 1952. Although Kilburn was involved
information about the domain in which they are sup-
with other important Manchester University computers
posed to exhibit intelligence. For example, a program that
such as the MU5, the Atlas project, begun in 1956, perhaps
plans methods of distributing fresh bread will need ac-
represented his finest achievement. Atlas pioneered
cess to information about the distances between the bak-
many modern concepts, such as paging, virtual memory,
ery and the stores, the likely times of travel, etc. The more
and multiprogramming, and on its officialinauguration in
general-purpose the program, the wider the scope of the
1962 was considered to be the most powerful computer
knowledge that it might need to consult, so that, for
in the world.
example, a natural language comprehension system
Tom Kilburn was Professor of Computer Science at
might need to use a variety of spatial, temporal, social,
Manchester University from 1964-81 and is now Emeritus
and physical concepts in order to help it understand the
Professor. Amember of numerous government committes
variously different meanings of “up” in the phrases “up
and technical societies, he was elected Fellow of the
the hill,” “shut up,” “catch up,” and “tighten up.” Knowl-
Royal Society in 1975. Some of his other honors include
edge representation is concerned with what information is
CBE (1973), Computer Pioneer Award (1982), and the
needed and methods of expressing it.
Eckert-Mauchly Award (1983).
The idea of using represented knowledge is contro-
versial. Many connectionists and some philosophical crit-
References
ics of Al believe that knowledge should emerge from the
1947. Papers of Manchester University Department of Computer dynamics of a neural network rather than being repre-
Science, National Archive for the History of Computing, Man- sented explicitly. Others emphasize how complex behav-
chester University. iors of insect-like creatures might arise from interactions
1975. Simon H. Lavington. A History of Manchester Computers. of a state-free machine with a complex environment,
Manchester: National Computer Centre. avoiding internal representations altogether. It is widely
thought, however, that cognitive abilities require access
GEOFFREY TWEEDALE
to represented information. In particular, “common
sense,” (i.e. the general ability to act successfully in the
everyday world) seems to require a wide range of knowl-
‘edge! at varying levels of generality, including knowledge
KLUDGE about the physical world, about actions and their effects,
and about other agent’s beliefs. All of these still present
The word “kludge” as used in computing was coined problems for research.
by Jackson Granholm in an article “How to Design a Planning work in AI has grown out of this area and
Kludge,” in Datamation (February 1962). The definition is has inherited many of the problems of reasoning about
given as “an ill-sorted collection of poorly matching parts, actions and their effects on complex domains. Natural
forming a distressing whole.” The design of every com- language work also faces a very general-purpose knowl-
puter contains some anomalies that prove to be annoying edge representation problem, since the meaning of many
to the users and that the designer wishes had been done words involves a large variety of intuitive concepts that
differently. If there are enough of these, the machine is have not yet been formalized adequately. While robotics
called a kludge. and computer vision seem less concerned with knowl-
By extension, the term has now come to be applied edge representation, it can be argued that the techniques
to programs, documentation, and even computing cen- used by some vision programs to arrive at descriptively
ters, so that the definition is now “an ill-conceived and adequate accounts of the scenes they examine amount
hence unreliable system that has accumulated through
patchwork, expediency, and poor planning.”
The first kludge article triggered five others (“How to ‘From a strict philosophical perspective, the word “knowledge”
Maintain a Kludge,” etc.) in subsequent issues of Datama- is used illegitimately in the Al literature, since much common
tion. Four of the articles may be found in the book, Faith, sense “knowledge” is, of course, false.
720 KNOWLEDGE REPRESENTATION
to the use of knowledge, some of it “compiled” for the world—and the computational difficulty of searching
reasons of efficiency. Since there is no sharp distinction through the space of inferences it supports. Quite small
between the representation of knowledge and the general changes to the design of a language can have very dra-
use of data structures (g.v.) throughout computer sci- Matic effects on where it sits on this expressiveness/
ence to encode information, the boundaries of this area tractability curve, the so-called “computational cliff”
are not well-defined. (Levesque, 1985). Most knowledge representation sys-
tems have tried to find a workable compromise between
Knowledge Representation Formalisms Most the very intractable nature of FOPC and the impoverished
knowledge representation formalisms describe their expressive power of many ad-hoc schemes. In order to
worlds by asserting that certain relations hold between overcome this, many have suggested that part of the
individuals, (e.g. Loves(Harry, Sally) or HasMeeting(Joe,
knowledge should be in some way about the process of
DepartmentOf(Mathematics), ThreePM(May 14)). A knowl- reasoning itself, expressed perhaps in a metalanguage
edge representation formalism must also have some way (g.v.), or merely by providing several versions of each
of expressing general facts, such as that gods are immor- connective, each associated with a different search strat-
tal or that spherical objects placed on a sloping surface egy in the inference space. The resulting languages are
roll downwards. often thought of as programming languages, so that the
Three common ways to organize knowledge are as task of representing knowledge is identified with that of
collections of assertions or concepts or as anetwork. The organizing and controlling the inference process. Indeed,
first considers the knowledge representation language as Horn clauses can themselves be thought of as a style of
being a logic, usually first-order predicate calculus (FOPC programming language called logic programming (q.v.).
or 1PC or FOL). This formalism was developed by philos- This, however, produces new tensions (e.g. between dif-
ophers at the turn of the century, and its properties are ferent accounts of what the formalisms mean). Should the
very well understood. The basic unit of FOPC is an atomic composer of representations be concerned with what
assertion like those in the previous paragraph. These can they say about some external world or their effect on the
be combined by connectives such as and, or, not, and state of the inference process? This procedural-assertional
implies, and general facts can be expressed by replacing debate has been an ongoing controversy in Al and is still
some names by variables bound by the quantifiers ForAll not resolved. More recent approaches seem to move
and Exists. This recursive syntax can produce complex away from either strong position, regarding knowledge
expressions, such as: representation as essentially assertional, while using
many procedural devices.
(Forall x)( IsBabyOf(x, me) implies The second approach organizes the knowledge base
around individuals rather than propositions. The result-
(Forall y) (Loves(y,x) and ing structures, called frames or units, represent either an
(Forall z)(not(Equal(z,me))implies notLoves(x,z)))) individual or a certain type of individual (e.g. Chris or
Human). Each unit has associated with it anumber of slots
Many equivalences hold between FOPC expressions, al- that encode all its relationships to other individuals. The
lowing the use of certain standard forms of which the slots may consist of simply a name of a relationship and a
most common is a conjunction of clauses i.e. implications list of units to which this individual bears the relation, or
of the form (atom and atom and..) implies (atom or atom it may be associated with a more elaborate piece of code.
or...)) where all the variables are assumed to be univer- Units form a hierachy of individuals and types, so that we
sally quantified. Inference then proceeds by forming links might have Chris being an instance of Man, which is itself
between clauses by matching or unifying atoms. The a subtype of Human, of Mammal, and also of Agent, etc.,
above expression becomes two clauses: forming a directed acyclic graph. Each unit is understood
to inherit the slot values of units above it, so that the fact
IsBabyOf(x,me) implies Loves(y,x) that all mammals have warm blood can be expressed by
(IsBabyOf(x,me) and Loves(x,z) ) implies Equal(z,me) attaching the relevant information about warmblooded-
ness to the unit Mammal.
where the two Loves atoms can be unified. The space of This unit-based style of representation, due originally
inferences generated by quite simple clauses can grow to Minsky (1975), has been very influential and is the basis
very rapidly, and the resulting general search problem is of several commercial expert system (q.v.) shell languages.
very difficult.
These are both examples of Horn clauses in which the
disjunctive consequent has at most one element. Not all "The crucial issue seems to be whether the language allows ex-
assertions can be expressed as Horn clauses, but they pressions of incomplete knowledge, typically expressed by a dis-
produce search spaces that can be searched straightfor- junction. If it is known that A or B holds, but not which, the search
process must somehow keep track of both possibilities. When
wardly. Their computational properties are so advanta-
each might involve different instantiations of variables, there is no
geous that the slight restriction on expressive power is
compact way of encoding this choice as an expression in the
often accepted. language itself, so the search process has to keep track of them
There is a basic tension that runs throughout knowl- explicitly. Through recursion, this branching can result in an ex-
edge representation: There is a trade-off between the plosively difficult search problem. Forcing the representation to
expressive power of a formalism—what it can say about be clear sometimes improves this dramatically.
KNOWLEDGE REPRESENTATION 721
which follows from our asserting that everybody loves my Harry ————-> LTM = MLOC
baby: in particular, therefore, she loves herself; but since
she doesn’t love anybody but me, she must be me. Clearly,
the universal quantifier made a stronger statement than
ATRANS << Book
intended. Such phenomena are quite common, and writ- r
ing realistically complex knowledge bases requires devel-
ie Harry Joy Joy + 2
oping a sensitivity to them. It is important to avoid the
gensym® fallacy of assuming that symbols in a knowledge f One
base must have a meaning that is somehow inherited from <<
c
their English meaning.
What do the various formalisms mean? Most at- One Harry
tempts at an exact answer to this question are based on
model theory for FOPC, which defines the structure of a FIG. 3.
possible world and the conditions under which an expres-
sion would be true in it, and takes the meaning of a logical
While schemes such as this have proved inadequate
expression to be the constraint on this structure imposed
to handle large parts of ordinary knowledge, the idea of
by insisting on its truth. Similar accounts can be given for
restricting the representational vocabulary to simplify
unit and network languages, and model theory is widely
the inference process is still appealing. However, model
used as a tool in the analysis of more complex phenom-
theory suggests that the meanings of the symbols used in
ena. For example, much nonmonotonic reasoning can be
a knowledge base are more tightly defined as its size
explained as the selection of the minimal model in some
increases, so that a very large, organized collection of
ordering, so that some relation of abnormality is asserted
concepts can support more plausible consequences.
to be “as false as possible.”
There is an important research issue here concerning the
However, this entire approach to giving formal mean-
extent to which a knowledge base can or should be organ-
ing is controversial. Proceduralists often argue that any
ized in a modular way, and how the boundaries between
such precise theory is an inappropriate restriction on the
modules can be determined. While several Al projects,
experimental freedom that is required at this stage in the
notably CYC (Lenat and Guha, 1990), have been inspired
development of AI. Others argue that the strict true/false
by this idea of size, it is notable that many of the most
dichotomy that classical model theory imposes is not
successful practical applications of Al have been in expert
suitable for much knowledge representation, and should
systems, where, almost by definition, the range of the
be replaced by some more quantitative account of truth.
concepts used in the system is limited to a fairly small set,
Examples of this include fuzzy logic and probabilistic rea-
perhaps a few hundred at the most. This suggests that
soning of various kinds. This has become a very active
perhaps large knowledge bases can be thought of as con-
area, and much work has been done on the use of Bayes-
sisting of clusters of relatively tightly coupled concepts
ian reasoning to put together pieces of evidence from a
with somewhat looser connections between the clusters.
wide range of sources (e.g. in attempting to diagnose
This whole subject of large-scale structure of large knowl-
faults in machinery). Probabilistic representations typi-
edge bases is still unexplored.
cally have similar syntax to assertional ones, but the
sentences have associated numerical values. The proba-
bility of a sentence often depends on a larger set of as- Ontology and Vocabulary All the knowledge rep-
sumptions than the truth of a logical consequence, so that resentation formalisms distinguish between individuals
probabilistic representations sometimes capture context and relations between them, but they do not specify
dependence in a more satisfactory way, although with an which individuals and relations are to be used to repre-
increased computational cost. sent some piece of knowledge. This is a huge topic, in
Several have suggested that large parts of “ordinary” many ways a central one throughout AI, and we have
knowledge might be reducible to some small number space only to point at some of the issues that have arisen.
of primitive relations or concepts. Probably the most
influential such idea was conceptual dependency (Schank Time and Change One basic idea is the use of states to
and Reiger, 1974), which formed complex network frag- encode change. To describe a dynamic world, the repre-
ments from a vocabulary of only about 25 primitive sentation adds a state parameter to each relation that is
relations. For example, “Harry wants a book” is rendered liable to change, so that in a logical system we might write
as the network shown in Fig. 3, which can be roughly Is Wearing(Susan, PinkDress3, ThursdayEvening). The re-
transliterated as “Harry’s long-term memory contains the sults of events or actions can be described by a function
idea that if someone were to transfer ownership of a from these things and states to new states:
book to Harry, that would increase Harry’s happiness.”
Simple inferences can be achieved by a process of IsDressing(x,s) implies Is Wearing(x, y,result(x, putOn(y),s))
network matching.
where the term result(x,putOn(y),s) describes the state
after x performs the action putOn(y) in state s. This style
of writing axioms is called the situation calculus, and sup-
Named after a Lisp function that generates meaningless names. ports a form of planning by inference, since proving that
KNOWLEDGE REPRESENTATION 723
a state with some desired properties exists automatically These are sometimes made illegal, but they seem to be
generates a term whose structure of nested result terms the only natural way of expressing the idea of believing
encodes a way to achieve it. There are many problems, something about an object.
the most difficult being the frame problem—how to state
neatly that all the many things that do not change as a Space and Shape _ Natural language uses spatial imagery
result of performing an action are still true in the new extensively. Attempts to understand systematically, for
state. example, the structure of spatial prepositions in Euro-
Similar tricks can be used in other notations, of pean languages have led to complex systems of geometric
course, but since the addition of state parameters would concepts and relationships between them. It is not easy
make a binary relation have more than two arguments, to formalize these in consistent ways, and some have
network and frame-based representations often use units argued that these systems are essentially metaphorical,
or nodes that represent the fact that a certain relation so that some kind of best-fit structural matching is the
holds during a state, so that JsWearing(VJohn,pants,re- most appropriate way to use this kind of information.
sult(John,putOn(pants),s)) might become the network We can typically see shapes that are very hard to
fragment shown in Fig. 4, where ACTION23 stands for the describe, and much of Al has been concerned with what
result term and WEARING45 for the atom. The task of information is needed to support such spatial intuition
designing inheritance hierarchies to handle structures and how it can be represented. The problem is to find
like this can become very complex and subtle. a representation in which an object has the same shape
States are typically thought of as essentially static, no matter what its orientation or position, or even
but other approaches to describing change focus instead perhaps size. Two basic ideas include the use of ap-
on time intervals during which some process is happen- proximations in terms of simpler shapes with simple
ing. This has been used especially in an approach to geometry (e.g. the human body as a series of linked
qualitative physics, which models intuitive physical rea- cylinders), and the use of very general parameterized
soning by classifying processes in terms of the signs of shapes such as “generalized cylinders,” which can be
the temporal derivatives of the positions of the objects “fitted” to a wide variety of shapes, the parameter
they contain (Bobrow, 1985). settings then regarded as being the representation. Other
ideas include describing shapes in terms of the relative
Beliefs Another common idea is that of using the repre- positions of their extrema, or describing the shapes of
sentational framework itself to describe the content of ordinary objects as a small collection of typical views.
agents beliefs, so that the fact that Joan believes that all of This whole area merges into those of machine percep-
Harry’s friends are fools might be expressed in a logical tion, computer graphics, and robotics, and has a much
framework by writing more mathematical flavor than the rest of knowledge
representation (Koenderick, 1990).
ties between the ways they represent some basic ideas. 1977. Bobrow, D. G., and Winograd, T. “An Overview of KRL, a
The problem of standardization, or interconnection be- Knowledge Representation Language,” Cognitive Science 1, 1.
tween knowledge bases, is currently a topic of very active 1979. Findler, N. V. (Ed.). Associative Networks: Representation and
Use of Knowledge, New York: Academic Press.
research, two common themes being the idea of a stan-
1984. Levesque, Hector J. “A Fundamental Tradeoff in Knowledge
dardized knowledge interchange formalism, and the at-
Representation and Reasoning,” Proc. CSCSI-84, London, On-
tempt to compose “standard” sets of concepts for tario. Reprinted in Brachman and Levesque, 1985.
expressing knowledge of various industrial and engineer- 1985. Brachman, R. and Levesque, H. J. (Eds.). Readings in Knowl-
ing areas. Of course, whether standardization is the right edge Representation. San Mateo, CA: Morgan Kaufman.
approach is itself controversial. 1985. Bobrow, D. G. (Ed.). Qualitative Reasoning about Physical
Systems. Cambridge, MA: The M.LT. Press.
References 1990. Lenat, D. B. and Guha, R. V. Building Large Knowledge-Based
Systems. Reading, MA: Addison-Wesley.
1974. Schank, R. and Reiger, C. J. “Inference and the Computer 1990. Koenderick, J. J. Solid Shape. Cambridge, MA: The M.I.T.
Understanding of Natural Language,” Artificial Intelligence 5, 4. Press.
1975. Minsky, M. “A Framework for Representing Knowledge,” 1992. Hayes, P. J. and Ford, K. (Eds.). Reasoning Agents in a
Memo 36, M. 1. T. Artificial Intelligence Laboratory. Reprinted Dynamic World: The Frame Problem. Boston: JAI Press.
in Brachman and Levesque, 1985.
PATRICK J. HAYES
2
LABEL. See Macnine AND ASSEMBLY LANGUAGE PROGRAM- body of the operator part, yielding the /-expression (A x
MING; and PROCEDURE-ORiENTED LANGUAGES. (x + 1)(3) + Ax @& + 1)(4)), which on further substitution
yields (3 + 1) + (4+ 1)) =9.
The binding of h to Ax (x + 1) in A(3) +A(4) may be
expressed in one of the following ways.
LAMBDA CALCULUS
For articles on related subjects see BINDING; FUNCTIONAL 1. Leth = Ax (x + 1) in hCG) + AM).
PROGRAMMING; GRAMMARS; LIST PROCESSING: LANGUAGES; PRO- 2. h(3) + h(4) where h = Ax & + 1).
DUCTION; PROGRAMMING LINGUISTICS; PROGRAM VERIFICATION;
and SYNTAX, SEMANTICS AND PRAGMATICS. The notations (1) and (2) are said to be syntactically
“sugared” versions of the original /-expression in the
The lambda calculus (or A-calculus) is a mathematical sense that they are semantically equivalent to the original
formalism developed by the logician Alonzo Church (q.v.) A-expression but are easier to read. The above syntacti-
in the 1930s to model the mathematical notion of substi- cally sugared specifications illustrate that certain nota-
tution of values for bound variables. Consider the defini- tional conventions of real programming languages may
tion f(x) = x + 1, which defines f to be the successor very easily be converted into semantically equivalent
function. The variable x in this definition is a bound vari- lambda notations.
able in the sense that replacement of all instances of x by The following example illustrates even more clearly
some other variable (say, y) yields a definition f(y) = y+ that the bound variable h of the /-expression given above
1, which is semantically equivalent. In the /-calculus, the represents a procedure that is initialized to the successor
successor function f may be defined by the /-expression function Ax (x + 1) at the time of binding, and is then
Ax (x + 1). The subexpression (x + 1) is referred to as called with the arguments 3 and 4:
the body of the /-expression. The subexpression /x is
referred to as the bound variable part and specifies that x procedure /(x ); result x + 1;
is to be regarded as a bound variable in the body with value—h(3) + A(A);
which / x is associated.
This example also illustrates that, in order to realize the
The application ofAx (x + 1) to the integer argument
functions determined by lambda expressions in a conven-
3 may be specified by the Aexpression f(3) = Ax (x + 1)
tional programming language, it is necessary to introduce
(3). The subexpression Ax (x + 1) is referred to as the the assignment operator and to realize binding and sub-
“operator part” of this lambda expression; the subexpres-
stitution in terms of assignment.
sion 3 is referred to as the “operand part” of this lambda
In the preceding examples, A-expressions were al-
expression. The substitution rules (reduction rules) of
lowed to contain extraneous symbols, such as +, which
the lambda calculus specify that the operator part Ax (x
allow arithmetic operations to be embedded in the substi-
+ 1) may be applied to the operand part 3 to yield the
tutive mechanism of the A-calculus. The pure Acalculus
value (3 + 1) = 4.
does not contain such extraneous operators, and re-
Consider next the lambda expression Ah (A(3) +
quires all transformations to be substitutions of values
h(4)) (Ax (x + 1)). The substitution rules of the A-calculus
for bound variables. In the remainder of this article we
specify that Ax (x + 1), which is the operand part of this
will be concerned with the pure /-calculus.
expression, is to be substituted for allinstances of hin the
725
726 LAMBDA CALCULUS
The pure /-calculus may be thought of as a program- rithm that, given an arbitrary /-expression £, can always
ming language with a very simple syntax and semantics. determine in a finite number of steps whether or not E has
The syntax of A-expressions may be defined by a BNF a reduced form.
grammar whose terminal symbols are A, (, ), and a class The notion of a reduced form corresponds to the
V of variable names, and whose productions are E > VI intuitive notion of a value in arithmetic computation. For
AVE| (EE), where E denotes the class of 4-expressions. An example, the arithmetic computation (3 + (4* 5)) > @ +
20) — 23 is accomplished by two applications of opera-
expression of the form AVE (say, AxM) denotes a one-pa-
tors to their operands, corresponding to reductions in the
rameter function and has a bound variable part Ax and a
A-calculus. The result, 23, corresponds to a reduced ex-
body part M. An expression of the form (EE) [say, (M, M,)]
pression because it contains no more instances of opera-
is referred to as an operator-operand combination, and
tors that can be applied to their operands.
has an operator part M, and an operand part M,. An
If a A-expression contains more than one sub-expres-
occurrence of a variablex in a A-expression Mis said to be
sion of the form (AxMA), then there is more than one “next
bound in M if it occurs within a subexpression of the form
step” in the computation, and the evaluation process
AxM, within M, and is said to be free otherwise.
becomes non-deterministic. The following important the-
Note: The above syntactic definition requires applica-
tion of an operator fto an operand x to be specified as (fx) orem states that, for any /-expression, all sequences of
rather than as f(x). computation that yield a value will yield the same value.
The “computational semantics” of the A-calculus may
be defined by transformation rules that specify how /-ex- Church-Rosser Theorem Ifa given A-expression is
pressions may be converted into “semantically equiva- reduced by two different reduction sequences, and if both
lent” A-expressions. The principal computation rule is the reduction sequences yield a reduced form, then the re-
reduction rule (sometimes called the “f-rule”). duced forms are equivalent up to renaming of bound
variables.
Reduction Rule An operator-operand combination However, there are /-expressions that give rise to
of the form (AxMA) may be transformed into the expres- both terminating and non-terminating sequences.
sion S,* M, obtained by substituting the A-expression A for
Example. The /-expression
all instances of x in M, provided there are no conflicts of (Axdyy(Ax(xx)Axecx)))
variable names. The condition that there be no conflicts
of variable names may be explicitly specified as follows: has the form (AxMA), where M = Ayy and A = (Ax(xx)A
x(xx)). If A is substituted for occurrences of x in M before
1. Mcontains no bound occurrences of x. A is evaluated, then the value of Ayy is obtained, while if
2. Mcontains no bound variables that occur free an attempt is made to evaluate A before substituting it in
inA. M, then an infinite reduction sequence is obtained.
The choice among different orders of evaluation in
A second transformation rule called the “renaming rule”
the Acalculus has its counterpart in function evaluation
(a rule) allows conflicts of variables to be eliminated.
for real programming languages. For example, in evaluat-
ing f(g(x)), we can choose to evaluate g(x) and use the
Renaming Rule A bound variablex in a J-expression resulting value in the evaluation of f, or we can pass the
M may be uniformly replaced by some other bound vari- unevaluated function g(x) to fand evaluate g(x) whenever
able y, provided y does not occur in M. it is needed in f. The first alternative is referred to as
Any /-expression of the form (AxMA) may be con- “inside-out” evaluation and corresponds to call-by-value in
verted into a A-expression of the form (AxM’A) satisfying Algol 60 (Naur ef al., 1963), while the second alternative is
conditions (1) and (2) above by renaming of the bound referred to as “outside-in” evaluation and corresponds to
variables of M, using the renaming rule, and may then be call-by-name in Algol 60. Call-by-value is more efficient
reduced to S,“M’ using the reduction rule. than call-by-name when the value of g(x) is used more than
Example once during the evaluation of f, but it is less efficient if g(x)
is never used during the evaluation off. In particular, if g(x)
(Ax (xA.xx)( pq) > (Ax(xA tt)( pq)) 3 (( pq)A th). results in an infinite computation sequence but is never
used in f, then the call-by-value strategy results in disaster,
A /-expression P that has no subexpressions of the whereas the call-by-name strategy is always adequate.
form (AxMA) is said to be in reduced form. A j-expression The /A-expression
that cannot be converted to areduced form by a sequence
(AxMA) = (Axdyy(Ax(xx)Ax(xx)))
of renaming and reduction rules is said to be irreducible.
Example. P = (Ax(xx)Ax(xx) is irreducible, since it is is of the form f(g(@x)), where f = AxAyy has a function body
of the form (AxMA) with M = (xx) and A = Ax(xx), and with no occurrences of the parameter x, and g(x) =
application of the reduction rule produces (Ax(xx)A (Ax(xx)Ax(xx)) results in an infinite computation. The
x(xx)). call-by-name evaluation strategy for /-expressions corre-
The question of whether an arbitrary /-expression P sponds to always reducing the instance of (AxMA) whose
has a reduced form is undecidable; i.e. there is no algo- component Ax occurs farthest to the left. This strategy is
LANGUAGE PROCESSORS 727
called the “leftmost” evaluation strategy. The universal PRESSION; GLOBAL AND LOCAL VARIABLES; GRAMMARS; MACHINE
adequacy of the call-by-name strategy is captured by the AND ASSEMBLY LANGUAGE PROGRAMMING; OBJECT PROGRAM; PRE-
following theorem. PROCESSOR; PROGRAMMING LANGUAGES; PROGRAMMING LINGUIS-
THEOREM. If for a lambda expression EF there is a termi- TICS; REENTRANT PROGRAM; SOURCE PROGRAM; and
nating reduction sequence yielding a reduced form E, SUBPROGRAM.
then the leftmost reduction sequence will yield a reduced
form that is equivalent to E up to renaming.
The Acalculus is equivalent in computational power
Overview There exists a formidable barrier between
to the class of Turing machines (q.v.) in the sense that any the average person who desires to solve some problem
using the computer and the description of the solution in
computable function may be represented as a A-expres-
terms of machine language (see MACHINE AND ASSEMBLY
sion. However, the notation and computation mechanism
LANGUAGE PROGRAMMING). Although the ability of some pro-
of the Acalculus is closer to that of programming lan-
grammers to communicate in terms of machine language
guages than in the case of Turing machines. This has led to
is exceptional, the minute attention to detail required to
attempts to model programming languages such as Algol
develop a program is beyond the scope of most computer
60 in terms of the /-calculus (Landin, 1965). Such models users. Thus, early in the history of computer develop-
capture certain concepts, such as nested block structure,
ment, there was a drive to moderate this communications
binding of variables, and the order of evaluation, but have
gap. The initial trend was toward providing codes that
difficulty in capturing other concepts, such as assign-
would reference specialized routines that were to be
ment, sharing of values by references, side effects, and
drawn from a library of such routines. Only later, when
unconditional branching. Thus, although the A-calculus is these codes took on the character of alphabetic phrases,
useful for gaining insights into certain computational did they become known as languages (Hopper, 1981).
mechanisms arising in real programming languages, it ap- The primary efforts toward simplification led to a
pears to be unnatural as a framework for modeling com- symbolic form of machine language in which code se-
plete programming languages. In order to model complete quences were represented by mnemonic character se-
programming languages in a natural way, it is appropriate
quences (such as ADD for the operation of addition, or
to introduce (as a primitive notion) cells whose values JMP for the instruction to break normal sequential pro-
may be updated and that may be referred to by references. cessing and “jump” to some other designated instruc-
The A-calculus is of computational interest because it tion), and where references to data elements were in
allows us to factor out certain aspects of computational terms of symbolic names instead of through the memory
structure and study these features independently of the address of the data element. This language development
complexity of real programming languages. It is of mathe- led to the requirement for a processor (program) that
matical interest because it provides a framework for char- would convert programs represented by a symbolic code
acterizing the substitution of values for bound variables into their equivalent machine language representation.
and for studying the notion of function application. The This process is known as assembly, and the processor
A-calculus thus provides a bridge between mathematics known as an assembler.
and the theory of computation. However, since the A-cal- Such assemblers perform no task other than the gen-
culus is a natural model for only a very restricted class of eration of an equivalent machine language program based
computational mechanisms, it is likely to remain of lim- on a symbolic language program and, in particular, take
ited value as a tool in the analysis of computing systems. no part in the actual execution of the generated program.
Nevertheless, it should be noted that the programming The development of symbolic language and assem-
language Lisp is closely modeled on the A-calculus (see blers was followed closely by the development of au-
LisT PROCESSING: LANGUAGES). tocoders, in which the programmer’s language was more
closely related to mathematical notation than to the ma-
References chine operations. Most of the first autocoders were prim-
1951. Church, A. “The Calculi of Lambda Conversion,” Ann. Math. itive by current standards, permitting only simple
Studies, No? 6. Princeton, NJ: Princeton University Press. one-operator expressions and restricted naming of data
1963. Naur, P. et al. “Revised Report on the Algorithmic Language elements. However, the autocoder required the develop-
ALGOL 60,” Comm. ACM (January). ment of more sophisticated conversion processors, thus
1965. Landin, P. J. “A Correspondence Between Algol 60 and leading to a study of the general translatory process. An
Church’s Lambda Notation,” Comm. ACM (February and interesting comparison and effective history of the devel-
March). opment of autocoders and other primitive languages may
be found in Knuth and Pardo, 1980.
PETER WEGNER
The methods of program conversion and subsequent
execution of a user’s program can be classified into two
basic techniques: 1) compilation and execution, or 2) in-
terpretation. Both systems use a translatory system in
LANGUAGE PROCESSORS which the original program (the source program) is con-
For articles on related subjects see ASSEMBLER; BINDING; verted into some other language (target language). In the
COMPILE AND RUN TIME; COMPILER-COMPILER; COMPILER CON- case of the compilation process (performed by a com-
STRUCTION; DEFAULT CONDITION; DELIMITER; DISASSEMBLER; EX- piler), the target language is either machine language or its
728 LANGUAGE PROCESSORS
corresponding symbolic language. In the latter case, the Compile—To prepare a machine language program
compiler must be supplemented by an assembler in order from a computer program written in another pro-
to complete the conversion process. Once the compiler gramming language by making use of the overall
has generated the equivalent program in machine lan- logic structure of the program, or generating more
guage, the resulting object program may then be executed than one machine (language) instruction for each
independently. In the case of interpretation (performed by symbolic statement, or both, as well as performing
an interpreter), the two steps of conversion and execution the function of an assembler.
are continuously interleaved so that the generated code Interpreter—A computer program that translates and
corresponding to a portion of the source program is exe- executes each source language statement before
cuted as it is produced. In this manner the interpreter translating and executing the next one.
maintains control over both conversion and execution.
In the preceding exposition, the term “conversion” In practice, there rarely exists a compiler or an interpreter
has been used in place of the term “translation,” since we that adheres precisely to these definitions; most lan-
wish to reserve the latter for a very specific purpose (see guages possess certain features that cannot be compiled,
also LANGUAGE TRANSLATION). The American National Stan- and most interpreters initially preprocess the source pro-
dard Vocabulary for Information Processing (ANSI, 1970) gram into some intermediate form and operate upon that
provides a strict definition of this term: code rather than the original program (see PREPROCESSOR).
The three possibilities are shown in Fig. 1.
Translate—To transform statements from one language Part (a) of Fig. 1 illustrates pure compilation in which
to another without significantly changing the mean- the source program is compiled into machine language
ing. for machine M. The circuits of Mthat execute the machine
language instructions, known as M’s hardware interpreter,
In this sense, a programmer must insist that a compiler or then execute the compiled code. Pure compilation is often
the conversion process within an interpreter be a transla- used for languages such as Pascal, C, and Fortran. Its
tor, since the meaning associated with a source program major advantage is fast execution.
must be carried over to the target language program. The Part (b) of Fig. 1 illustrates a combination of compila-
ANSI Vocabulary also provides definitions associated tion and interpretation in which the source program is
with the process of compilation and interpretation: translated into an intermediate language that is interpre-
Results
Results
Results
(<)
ted by a software interpreter, which runs on computer M. places the recognized element into the symbol table for
Often, the intermediate language is the machine language later reference. For example, in Basic, the design of the
of a hypothetical “ideal” computer that is simulated on a language (to ease implementation) is such that the first
real machine. An example of a programming system three characters following the line number are a unique
based on this method is the UCSD Pascal system (Bowles, characterization of the type of statement that follows.
1978). Because the semiconductor industry is evolving Thus, if the lexical analyzer separates these characters
new equipment very fast, it is becoming a practical neces- into, say, one word, the recognition of the type of state-
sity to have (nearly) machine-independent software. The ment by the syntactic analyzer can be facilitated.
UCSD Pascal system is built on a small hypothetical ma- Further, considering Basic as a simple language for
chine known as the P-machine, which was originally de- compilation, it is possible to recognize variables and lan-
veloped at ETH Zurich. Therefore, to transfer the system guage constants by simple lexical rules (as opposed to
to a new computer essentially involves only writing the syntactic rules). Any string that starts with (has as the
P-machine interpreter in the machine language of the new leftmost character) an alphabetic character is a candi-
computer. date for recognition as a variable. The right delimiter of
Part (c) of Fig. 1 illustrates pure interpretation, in such a string is any non-alphanumeric character, except
which the source program is interpreted directly by a in the case of FOR statements, where special character
software interpreter that runs on computer M. This sequences (TO and STEP) are of importance. However, it
method is often used for languages such as APL, Snobol, is possible in a lexical scan to recognize about 90% of all
Forth (q.v.), Lisp, and Prolog, although optional compila- instances of variables and constants and to collect the
tion or mixed compilation and interpretation is becoming characters that comprise those language elements into
more common for these languages. Pure interpretation is words or other well-defined units. By this means, for
also used for languages such as command and job control example, punctuation in Basic READ and PRINT state-
languages (q.v.). The major advantages are memory econ- ments can be eliminated, the language elements now
omy (no machine or intermediate code has to be stored) being delineated by logical boundaries in the representa-
and the relative simplicity of programming, but the execu- tion of the text. The process of lexical analysis is accom-
tion is slow (Calingaert, 1979). plished by the use of algorithms for finite state machines
(see AUTOMATA THEORY).
The Translatory Process The steps that comprise The syntactic analyzer of a translatory process com-
the process of translation of the statements of a high-level pletes the task of analyzing the input text by converting
programming language into machine language are shown the text into a completely specified (parsed) text in which
in Fig. 2. The processor portions of the translation system the grammatical components of the language are appro-
are shown in rectangular blocks and the data groups upon priately connected with the elements of the text. Syntac-
which they operate and develop are in ovals. This dia- tic analyzers may appear in one of two possible forms: a
gram is extremely formalized, the individual processors generalized analyzer, which uses a set of syntactic speci-
not being readily recognizable in most translatory sys- fications to direct the analysis of a text; or a specialized
tems. Nor is it necessary, as may be inferred from this analyzer, specifically designed for the analysis of text
diagram, that each phase of translation be completed related to one specific language. Even though the lexical
before the next is entered. analyzer has “worked over” the text on the basis of readily
The lexical analyzer used in the lexical scan performs recognizable characters such as punctuation, the syntac-
the task of preparing the source text (the user’s program tic analyzer must still determine the structure of the text
in machine-readable form) for the syntactic analyzer based on the grammar (syntax) of the language.
phase. At the same time, it attempts to condense the text Lexical and syntactic analysis can be distinguished
so as to improve the efficiency of later examinations of by the spatial relationships that exist between the ele-
the text. For example, in Fortran 77, the inclusion of ments over which they can operate. While it is true that
blanks in statements is tolerated by the language so as to in the Chomsky hierarchy (q.v.) of grammars (and hence
provide a more readable text for the programmer. In fact, of representable languages), lexical properties are a sub-
except within literal strings, blanks may be inserted ran- set of syntactic properties, a useful distinction is that
domly. lexical relationships exist only between juxtaposed sym-
Such niceties, however, can considerably slow the bols, whereas the scope of a syntactic analyzer permits
statement scanning routines that must examine each and relationships between more distant symbols.
every character of the statement. Hence, one of the as- “Pure” syntactic analysis of a text develops only a
signed tasks of a Fortran lexical scan will be to eliminate parsed version of the text, but the syntactic analyzer ina
nonsignificant blanks and condense the statements to translatory process (as we will consider it here) also acts
their “raw” symbolic content. Further, to save later work as a “collection agency” by adding to the symbol table of
for the syntactic analyzer, the delineation of the state- recognized elements (such as variables and constants)
ments into words or phrases can often be accomplished the attributes assigned (or implied) to those elements by
during the lexical scan. the language.
Once having recognized a symbol or a phrase, the The form in which a syntactic analyzer provides the
lexical analyzer may then replace that item in the source parsed text to the next process is by no means fixed. It is
text by a token that is more easily identifiable by the necessary that the output from this analyzer be in the
syntactic analyzer. At the same time, the lexical analyzer form of a structure that conveys the nested nature of the
730 LANGUAGE PROCESSORS
Source program
Lexical scan:
Statement condensation
Phrase delineation
Redundancy removal
Condensed,
tokenized
source text
Syntactic analysis:
Phrase recognition
Statement parsing
Parsed text generation
Parsed text
Symbol table
Symbol attributes
Machine-independent
optimization and default
condition insertion
Code generation
Intermediate code
Symbo! attribute
declarations
Machine dependent
optimization
Register allocation
Improved intermediate
code and declarations
Assembler
Machine language
(target code)
FIG. 2. The detailed process of language translation more closely related to the problem
(a high-level programming language) than to a machine language.
language to the succeeding processes. Syntactically ment is subject to modification. Thus, any change made
parsed texts are typically displayed as trees (q.v.), though within a single Fortran statement does not affect any
a linked list or linear form may be more appropriate for other statement. For example, the recognition of common
machine representation. subexpressions, which has been the subject of several
Once the text has been scanned by the syntactic papers in the literature, is a process that provides optimi-
analyzer and the parsed test is developed, a machine-in- zation at the machine-independent level. For example, the
dependent optimization process may be used over the Fortran statement
text to improve the anticipated code to be generated ina
X = A*xB + 5/(A*B)
later phase. Machine-independent optimization can be
distinguished from the later stage of machine-dependent may be reduced to the sequential statements
optimization not only by the fact that the domains of the
Z = AxB
two optimization processes are different but also by
) a — searLa altoyfd
mechanisms of optimization. In the case of machine-de-
pendent optimization, it is the general intent to eliminate which will develop the desired value of X.
instructions that are redundant (i.e. instructions that On a larger scale, machine-independent optimization
would have no effect on computed results). of statements that occur in loops can have a significant
If this latter type of optimization were to be applied effect on the resulting execution time of the generated
to self-modifying code, it would not always be possible to program. An analysis of the changes in the values of
reorganize instruction sequences and be assured that the variables within loops can reveal that certain operations
optimizing changes do not affect the result. On the other are repeated on each pass through the loop, and hence
hand, at the level of a language such as Fortran, no state- can be moved out of the loop to some initialization phase.
LANGUAGE PROCESSORS 731
Knuth (1971) has reported that, in one typical analyzed set of elements onto the available storage of the computer
program, almost 18% of the execution time was due to the that is to execute or that is executing the generated
repeated conversion of a constant from integer to real program. Most high-level languages do not allow the pro-
mode. In this particular program, the constant was con- grammer to describe explicitly the organization of mem-
tained in an assignment statement in which the variable ory at object time (except in the case of Fortran
on the left-hand side was invariant during the repeated COMMON), and rarely (with the exception of Fortran
execution of the loop. Thus, the movement of this state- EQUIVALENCE) do they allow the user to specify relation-
ment outside the loop gave a total execution time im- ships between identifiers and other language elements.
provement of approximately 30%. Machine-independent Thus, the implementer is free to devise some mapping
optimization is, however, generally language-dependent, algorithm between the language elements and their as-
since, although the techniques of optimization may be signed storage locations (at object time), provided a cer-
common across languages, the ability to apply these tech- tain criterion is met. This criterion is that the values
niques may be different for each language. assigned to some identifier (variable, array element,
On the other hand, optimization of the type where statement identifier, etc.) should be retrievable at some
one specified operation is replaced by another known to later (possibly restricted) time.
be faster on a particular machine is necessarily machine- The instant at which all the information is available
dependent. For example, on a certain machine it was that is necessary to permit the allocation of object time
found that the subroutine to perform the operation A**] storage to some language element is one of the bounds on
(A’) took longer than successive multiplication when the the binding time of that element (see BINDING). That is,
exponent I was an integer less than 15. Thus, a compiler there must exist two bounds (which in certain instances
written for that machine took this knowledge into ac- may be identical) on the time during which storage may
count and transformed the Fortran phrase A**] into the be assigned to a language element. The latest time
optimally minimum number of multiplications needed in (bound) available to assign a storage location to a lan-
those circumstances. On the other hand, optimization of guage element is obviously the instant prior to its first
an expression to eliminate sign reversals, and thus mini- usage in the program.
mize the number of operators in the expression, is not Conversely, if all the attributes of a language element
machine-dependent. This later process of replacing oper- are not only known but are also known to be fixed (i.e.
ators by simpler operators is known as strength reduction. static) at the instant that the element is first encountered
After initial code generation, the developed code is in the translatory process, then it is possible to assign
subjected to a machine-dependent optimization process (allocate) storage at this earliest time. This period may be
that is independent of the original source language. Here, further subdivided by considering the type of memory
the optimization process is highly dependent on the char- referencing to be performed. For instance, if the earliest
acteristics of the target processor. An example of a highly binding time is taken as that instant when an absolute
machine-dependent optimization would be the assign- address can be assigned to a language element, then
ment of index registers to code that had been developed actual binding might be defined as load time (i.e. the time
on the basis of a supposed infinite availability of registers. at which the program is loaded into storage).
Definitions of the techniques of compiler code gener- Binding time may be a language feature or it may be
ation optimization are included in Allen and Cocke (1972), implementation-defined. For example, in APL, the left-
and include: arrow (assignment operator <) operation has the effect
of assigning the attributes of the expression to its right to
Procedure integration (making procedures into in-line the variable on its left. Thus, the instant at which all the
code). _information is available to enable the assignment of stor-
Loop transformation. age to the variable on the left is the instant of executing
Common subexpression elimination. the assignment operation. Hence, APL has dynamic attri-
Code motion (moving code to a location where it is less bute specifications, and binding time (earliest and latest)
frequently used). is execution time. Lacking explicit (and static) declara-
Constant folding (computing constant expressions at tions of attributes, the APL interpreter itself determines
compile time). attributes at execution time. Conversely, Basic, in the
Dead code elimination. case of missing (omitted) array-size declarations, inserts
Strength reduction. default attributes so as to permit compile-time binding of
Instruction scheduling (especially in multiprocessor variables.
environments). In choosing a binding time, the implementer is free
Register allocation. to choose any particular instant within the bounds al-
Storage mapping (reuse of storage). lowed by the grammar of the language at hand. However,
Special case code optimization. the later that binding takes place, the greater the diffi-
Peephole (or limited domain) optimization. culty in generating effective code and the more time it
will take to both store and retrieve the values of language
Binding Time _ Given a program in (almost) any lan- elements. For instance, if an absolute address had been
guage and the derivation therefrom of the set of identifi- assigned to a variable, then all references to that variable
ers, constants, references, and other language elements, in the generated code may be made directly. However,
there must occur at some time a mapping from this user’s if the binding time is delayed until (say) the last moment,
732 LANGUAGE PROCESSORS
then each reference to that variable will require the and, except in comparatively large computer systems
system to look up the assigned location. Thus, the work with fast access ancillary storage facilities, the interpreter
of the symbol table is delayed until execution time and should also have, readily available in memory, all antici-
may be performed repeatedly rather than just once, as pated library routines. On the other hand, the compiler
would be the case for compile time binding of variables. can take advantage of the hiatus between compilation and
In any case, it should be a general principle that when execution to load into memory only those that are needed
speed of object code execution is most important, the by this particular program. It has been shown empirically
earliest possible binding times should be used, and when that the amount of storage required by the compiled code
flexibility of programming logic is more important, the of a source text is not substantially different (but usually
latest possible binding times should be used. In the less) than that needed for the source text itself.
development of the language Ada (q.v.), it was estab- The question of whether a program written in a cer-
lished as a language design principle that the attributes tain language can be compiled or can be interpreted is not
of each language element should be determinable directly related to the question of whether to interpret or
(bound) at compile time, thus making storage assignment to compile, except as related to available storage. Obvi-
effectively a static activity. ously, if the average-size program (determined by some
undefined means) cannot be interpreted because of a lack
Compilation vs. Interpretation Many factors of available storage, there is a possibility that it may be
must be considered by a language implementer before compiled, and thus the question of whether to compile or
decisions are made to compile or interpret, to optimize to interpret is answered. However, it may be that some
code, to develop a load-and-go compiler (g.v.), or to sep- languages are not susceptible to compilation and must,
arate completely the translation and execution phases. therefore, be interpreted; conversely, it would seem that
The environment within which the system is to operate any language that can be compiled can also be interpreted
may help to determine the type of system to be devel- (storage requirements aside). There are some languages
oped. For example, if it is expected that the system will be that contain elements that cannot be compiled but that
used primarily for education, then an interpretive system must be interpreted, thus raising the possibility of “hy-
may be advantageous, provided error reports are directly brid” translator systems. In this context, it is necessary to
related to source code. Or, in a mixed education and define interpretive code as code that is parametrized to
research environment where many programs will run but the extent that differing attributes of the operands can be
few will ever become production programs and be run inserted (accessed) at run time, and are not statically
repeatedly, a load-and-go system may suit the needs best. specified during the compilation phase. Typically, refer-
That is, the code developed by a compiler is stored di- ences to dynamically defined data elements take the form
rectly in the memory of the computer instead of being of calls upon generalized routines that can respond to the
output on some intermediate storage system and control differing data organizations.
is transferred to the first executable statement in the
compiled program after compilation is complete; devel- The Symbol Table In the organization of any trans-
oped code is not saved for subsequent executions. But latory system in which several subprocesses of transla-
when the number of compiles is high, an extremely effi- tion take place (such as lexical analysis, syntactic
cient (or fast) compiler is necessary, and thus the optimi- analysis, and code generation), the vehicle for the trans-
zation phases may be omitted on the basis that the overall ference of extracted or deduced information regarding
cost of compilation does not justify the cost of execution. the text is the symbol table. The symbol table provides a
Conversely, in an environment where compiled programs base for the coalescence of data relating to the various
are to be developed into production systems and one elements of the source text and provides a possibility for
compile may result in many thousands of runs, then a describing certain relationships between the text and the
methodical compiler that develops highly optimized ma- target machine, such as the assigned (possibly relative)
chine code is of great importance. addresses of variables. In a static environment, the sym-
Whether to compile or to interpret may depend on bol table will serve the purpose of providing, for example,
factors that are less easy to express in quantitative terms. assigned addresses to the compiler’s code generator for
With regard to storage, the amount required by acompiler substitution into instruction masks, while the symbol
is not substantially different from that required to per- table in a dynamic environment may exist also at run time
form the same tasks within the interpreter; in fact, the to provide a key to currently allocated memory space.
interpreter will contain additional features to perform the Between the time of ending compilation and beginning the
execution phase of the problem solution. On the other execution of the generated program (assuming that the
hand, while it is obvious that there need be no significant generated code is not resident), the symbol table will
differences between user data storage requirements in an provide necessary data to the loader for the acquisition
interpretive system as compared to a compiler system, of library-provided subprograms and will in turn, during
nor differences between the storage requirements for the run time, act as a transfer vector for the linkage of the
symbol tables of the two systems, a judicious design of generated code and those subprograms.
the interpretive symbol table can substantially reduce the The compile-time symbol table of an algebraic lan-
combined storage requirements of the symbol table and guage processor will contain entries pertinent to the var-
the user data storage. ious data elements that may occur within the source text.
Conversely, the interpreter must be self-sufficient In general, these may include variables (both simple and
LANGUAGE TRANSLATION 733
n-dimensional), statement identifiers, subprogram (or Programming Languages,” in Metropolis, N. et al. (Eds.), The
block) names, and constants. Among this data will appear History of Computing in the Twentieth Century. New York: Aca-
not only the deduced (or defined) attributes of the lan- demic Press.
guage element, but also data pertinent to the compilation 1981. Hopper, G. M. “Early Days,” Keynote Presentation, Proc.
History of Programming Languages Conference. New York: Aca-
of the statements in which they either appeared or are
demic Press.
expected to appear.
1986. Aho, A. V., Sethi, R., and Ullman, J. D. Compilers: Principles,
In some language systems, the symbol table may play Techniques, and Tools. Reading, MA: Addison-Wesley.
an extremely important part of the run-time characteris-
tics of the system. For example, in any system that in- ADRIENNE G. BLOSS AND J. A. N. LEE
cludes the ability to allocate and free storage, or in a
system that is implemented so that storage is dynami-
cally controlled, the symbol table is the key between the
executable code and the data set. During the various LANGUAGE TRANSLATION
phases of compilation or interpretation, in any proce-
dural or block-structured (g.v.) language, there may exist For articles on related subjects see ARTIFICIAL INTELLIGENCE;
several differing symbol tables, each relating to a partic- and NATURAL LANGUAGE PROCESSING.
ular block or procedure.
* The purpose of a symbol table is to provide a com- History of Machine Translation (MT) Within a
mon data source to the various components of a transla- few years of the first appearance of “electronic calcula-
tory system relating to the elements of the source text tors,” research had begun on using computers as aids for
and, in particular, to provide a source of data pertinent to translating natural languages. The major stimulus was a
the specified or deduced attributes of those elements. memorandum of July 1949 by Warren Weaver who, after
The symbol table is thus being accessed by many rou- mentioning tentative efforts in Great Britain (by Booth
tines during the process of translation and therefore must and Richens) and in the U. S. (by Huskey and others), put
be amenable to rapid access and data retrieval. The rou- forward possible lines of research. His optimism
tine that organizes the symbol table directs a number of stemmed from war-time success in code breaking, from
tasks, among them the following: developments by Shannon in information theory (¢.v.),
and from speculations about universal principles under-
1. Post an item and its associated data. lying natural languages, “the common base of human
communication.” Within a few years research had begun
2. Retrieve the data associated with any item.
at many U. S. universities, and in 1954 the first public
3. Delete an item and its associated data.
demonstration of the feasibility of machine translation
(MT) was given, a collaboration of IBM and Georgetown
All these activities involve the searching of the table to
University. Although the demonstration used a very re-
locate the item or to recognize the absence of that item,
stricted vocabulary and grammar, it was sufficiently im-
and hence the efficiency of this search affects the effi-
pressive to stimulate massive funding of MT in the U. S.
ciency of the whole compiler (see SEARCHING).
and to inspire the establishment of MT projects through-
out the world.
References
The earliest MT systems consisted primarily of large
1966. Ingerman, P. Z. A Syntax Oriented Translator. New York: bilingual dictionaries where entries for words of the
Academic Press. source language (SL) gave one or more equivalents in the
1967. Lee, J. A. N. The Anatomy of a Compiler. New York: Van target language (TL) and some rules for producing the
Nostrand Reinhold. correct word order in the output. It was soon recognized
1969. Hopgood, F. R. A. Compiling Techniques. New York: Ameri- that specific dictionary-driven rules for syntactic order-
can Elsevier.
ing were too complex and increasingly ad hoc; more sys-
1970. American National Standards Institute. Vocabulary for Infor-
tematic methods of syntactic analysis were needed. A
mation Processing, Doc. No. X3.12-1970. New York: ANSI.
1970. Association for Computing Machinery. “Proceedings of a number of projects were inspired by contemporary devel-
Symposium on Compiler Optimization,” SIGPLAN Notices 5, 7, opments in linguistics, particularly Zellig Harris’s and
July. Noam Chomsky’s ideas on syntactic transformations.
1971. Kat D. E. “An Empirical Study of FORTRAN Programs,” Other models, such as dependency grammar and stratifi-
Software—Practice and Experience 1: 105-133. cational grammar, also seemed to offer the prospect of
1972. Gries, D. Compiler Construction for Digital Computers. New greatly improved translation.
York: John Wiley. Optimism remained at a high level for the first decade
1972. Allen, F. E. and Cocke, J. “A Catalog of Optimizing Transfor- of MT research, with many predictions of imminent break-
mations,” Courant Computer Science Symposium. Englewood throughs, but disillusion grew as researchers encoun-
Cliffs, NJ: Prentice-Hall, 1-30. tered “semantic barriers” for which they saw no
1976. Lewis, P. M., Rosenkrantz, D. J., and Stearns, R. E. Compiler straightforward solutions. There were some operational
Design Theory. Reading, MA: Addison-Wesley.
systems—the Mark Il system (developed by IBM and
1978. Bowles, Kenneth L. “UCSD Pascal,” Byte, 46 (May).
1979. Calingaert, Peter. Assemblers, Compilers, and Program
Washington University) installed at the USAF Foreign
Translation. Potomac, MD: Computer Science Press. Technology Division, and the Georgetown University sys-
1980. Knuth, D. E. and Pardo, L. T. “The Early Development of tem at the U.S. Atomic Energy Authority and at Euratom in
734 LANGUAGE TRANSLATION
Italy, but the quality of output was disappointing (even Hitachi, and Toshiba. The wide availability of microcom-
though it satisfied many recipients’ needs for informa- puters and of text processing software has led to a com-
tion). By 1964, the U.S. government sponsors, becoming mercial market for cheaper MT systems, exploited in
increasingly concerned at the lack of progress, set up the North America and Europe by companies such as ALPS,
Automatic Language Processing Advisory Committee Weidner, Linguistic Products, Tovna, and Globalink, and
(ALPAC). In its famous 1966 report, the committee con- by many Japanese companies, e.g. Sharp, NEC, Oki,
cluded that MT was slower, less accurate, and twice as Mitsubishi, and Sanyo. Other microcomputer-based sys-
expensive as human translation and that “there is no im- tems have appeared from China, Taiwan, Korea, Bolivia,
mediate or predictable prospect of useful machine transla- Eastern Europe, and the Soviet Union.
tion.” Seeing no need in the U.S. for further investment in Throughout the 1980s research on more advanced
MT research, it recommended instead the development of methods and techniques has continued. The dominant
machine aids for translators, such as automatic dictionar- strategy is now that of “indirect” translation via interme-
ies, and continued support in basic research in computa- diary representations, sometimes interlingual in nature,
tional linguistics. involving semantic as well as morphological and syntactic
The ALPAC report was widely condemned as narrow, analysis and sometimes non-linguistic “knowledge
biased, and shortsighted, but the damage had been done. bases.” There is increasing emphasis on devising systems
It brought a virtual end to MT research in the U.S. for over for particular subject areas and particular specific pur-
a decade, and it had great impact elsewhere, particularly poses, for monolingual users as well as bilingual users
in the Soviet Union and in Europe. MT research did con- (translators), and for interactive operation rather than
tinue, however, in Canada, France, and Germany. Within a batch processing. The most notable projects have been
few years, Peter Toma, one of the members of the George- the GETA-Ariane system at Grenoble, SUSY and ASCOF at
town University project, had developed Systran for oper- Saarbriicken, Mu at Kyoto, DLT at Utrecht, Rosetta at
ational use by the USAF (1970) and by NASA (in 1974/5), Eindhoven, the knowledge-based MT project at Carnegie-
and shortly afterwards Systran was installed by the Com- Mellon University (Pittsburgh), and two ambitious inter-
mission of the European Communities for translating En- national multilingual projects: Eurotra, supported by the
glish into French (1976) and later between other European Communities, involving teams in each member
Community languages. At the same time, another success- country; and the Japanese CICC project with participants
ful operational system appeared in Canada—the METEO in China, Indonesia, and Thailand.
system for translating weather reports, which was devel-
oped at Montreal University. Linguistic Problems of MT The basic processes of
In the 1960s in the U.S. and the Soviet Union MT translation are the analysis of the source language (SL)
activity had concentrated on Russian-English and English- text, the conversion (transfer) of the meaning of the text
Russian translation of scientific and technical documents into another language, and the generation (synthesis) of
for a relatively small number of potential users, most of the target language (TL) text. There are basically three
whom were prepared to overlook mistakes of terminol- overall strategies. In the direct translation approach,
ogy, grammar, and style in order to be able to read some- adopted by most of the early MT projects, systems are
thing that they would otherwise not have known about. specifically designed for one particular pair of languages.
Since the mid-1970s, the demand for MT has come Vocabulary and syntax are not analyzed any more than
from quite different sources with different needs and dif- strictly necessary for the resolution of ambiguities. TL
ferent languages. The administrative and commercial de- equivalents are output in correct word order; hence, the
mands of multilingual communities and multinational processes of analysis and synthesis are combined in sin-
trade have stimulated the demand for translation in Eu- gle programs, that often have monolithic intractability
rope, Canada, and Japan beyond the capacity of the tradi- (e.g. the Georgetown system).
tional translation services. The demand is now for The second strategy is the interlingua approach,
cost-effective machine-aided translation systems that can which assumes the possibility of converting SL texts into
deal with commercial and technical documentation in the (semantic) representations common to a number of lan-
principal languages of international commerce. guages, from which texts can be generated in one or more
The 1980s has witnessed the emergence of a variety TLs. In interlingua systems, SL analysis and TL synthesis
of system types from a widening number of countries. are monolingual processes independent of any other lan-
There are a number of mainframe systems. Best known is guages, and the interlingua is designed to be language-in-
Systran, now installed worldwide and operating with dependent or “universal.” (A current example is the DLT
many pairs of languages. Others are: Logos for German- system based on modified Esperanto.)
English translation and for English-French in Canada; the The third strategy is the transfer approach, which
internally developed systems for Spanish-English and En- operates in three stages: from the SL text into an abstract
glish-Spanish translation at the Pan American Health Or- intermediary representation, which is not language-inde-
ganization; the systems developed by the Smart pendent but oriented to the characteristics of the SL
Corporation for many large organizations in North Amer- (analysis); from such an SL-oriented representation to an
ica; and the recently marketed METAL system from Sie- equivalent TL-oriented representation (transfer); and
mens for German-English translation. Major systems for from the latter to the final TL text (synthesis). (Major
English-Japanese and Japanese-English translation have examples of the transfer approach are the GETA, SUSY,
come from the Japanese computer companies Fujitsu, Mu, and Eurotra systems.)
LANGUAGE TRANSLATION 735
The principal linguistic problems encountered in MT The resolution of many linguistic problems tran-
systems may be treated under four main headings: lexical, scends sentence boundaries. A common and persistently
structural, contextual, and pragmatic (situational). In difficult one involves the use of pronouns. Following 3,
each case, the problems are primarily caused by the inher- this might occur:
ent ambiguities of natural languages and by the lack of
direct equivalences of vocabulary and structure between 5. Es geht jede Woche zum Club, for which the
one language and another. Some English examples are: English should be:
6. She goes to the club every week.
Lexical: Homonyms (fear as “cry” or “rip”, bank as
“edge of river” or “financial institution”) require However, es is normally translated as if. To ensure the
different translations (crier: dechirer; rive: banque). correct selection of she, the preceding noun referent of
Structural: Nouns can function as verbs (control, plant, the pronoun must be identified and the different practices
face) and hence are ambiguous, since the TL may for pronominalization must be taken into account (in
well have different forms (contréle: diriger, plante: German according to the “grammatical” gender of the
planter, face: affronter). preceding noun, and in English according to the “natural”
Contextual: Other languages make distinctions that sex of the object referred to). However, the identification
are absent in English. River can be French riviére or of the noun referred to can often be more complex than
fleuve, German Fluss or Strom; blue can be Russian this example. Frequently, it depends on (non-linguistic)
sinii or goluboi. knowledge of events or situations:
Often, all linguistic ambiguities combine. The word 7. The soldiers killed the women. They were buried
light can be a noun meaning “luminescence,” an adjective next day.
meaning “not dark,” another adjective meaning “not
heavy,” or a verb meaning “to start burning.” In French, We know that the pronoun they does not refer to soldiers
the meanings are conveyed by four different words, and must refer to women because we know that “killing”
lumiére, léger, clair, allumer. An analysis of English must implies “death” and that “death” is followed (normally) by
therefore distinguish the four possibilities by (1) recog- “burial.” This identification is crucial when translating
nizing the grammatical categories of words in sentences into French where the pronoun must be elles and not ils.
(nouns, verbs, adjectives, adverbs, prepositions, con- Grammatical and linguistic information is insufficient in
junctions, etc.) and the structures in which they take part, such cases.
and (2) by recognizing the lexical and semantic contexts Various aspects of syntactic relations can be ana-
in which the words occur. At the transfer stage, this lyzed. There is the need (1) to identify valid sequences of
information must be used to convert the identified mean- grammatical categories, (2) to identify functional rela-
ing into those lexical units and structures with equivalent tions—subjects and objects of verbs, dependencies of
meanings in the target language. adjectives on “head” nouns, etc. and (3) to identify the
In many cases, differences between the vocabulary of constituents of sentences—noun phrases, verb groups,
the source and target languages are also accompanied by prepositional phrases, subordinate clauses, etc. Each as-
structural differences. A familiar example involves the pect has given rise to different types of parsers. The
translation of the English verb know into French or Ger- predictive syntactic analyzer of the 1960s concentrated on
man, where there are two verbs that express “knowledge sequences of categories (it was developed subsequently
of a fact” (connaitre and kennen) and “knowledge of how by Wood (1970) as the Augmented Transition Network
to do something” (savoir and wissen): parser). The dependency grammar (of Tesniére, Hays,
etc.) concentrated on functional relationships, and the
1. I know the man—Je connais |’homme; Ich kenne phrase structure grammars have been the models for
den Mann. parsers of constituency structure. Each have their
2. I know what he is called—Je sais ce qu’il strengths and weaknesses, and modern MT systems often
s’appelle; Ich weiss wie er heisst. adopt an eclectic mixture of parsing techniques, now
often within the framework of a unification grammar for-
The choice of TL form involves a restructuring with ef- malism (Kay, 1984).
fects on the translation of other lexical items (what as ce The most serious weakness of all syntactic parsers is
gue and wie). A more radical, but no less common, in- precisely their limitation to structural features. An En-
stance of restructuring may be illustrated by the German glish prepositional phrase can in theory modify any pre-
sentence: ceding noun in the sentence as well as a preceding verb:
3. Das Madchen spielt gern Tennis, translated as: 8a. The camera was purchased bythe man with dark
4. The girl likes to play tennis. glasses.
8b. The camera was purchased by the man with a
The German adverb gern corresponds to an English finite tripod.
verb like, and this choice entails the shifting of the finite 8c. The camera was purchased by the man with a
verb spielt to a subordinate infinitive (to play). cheque.
736 LANGUAGE TRANSLATION
A syntactic analysis can go no further than offer each artificial intelligence have encouraged later MT research-
possibility; later, semantic or pragmatic analysis (e.g. in- ers to investigate the possibility of knowledge-based sys-
volving lexical and situational context) has the task of tems (e.g. at Carnegie-Mellon University), at least for
specifying the intended relationship. systems restricted to specific domains. The general feasi-
Many parsers now include the identification of case bility of Al approaches has yet to be tested on large-scale
relations, e.g. the fact that in systems, however, and most MT researchers prefer to
develop “linguistics-based” systems capable of incorpo-
9. The house was built by a doctor for his son rating Al methods as adjuncts to more traditional tech-
during the war. niques of syntactic and semantic analysis, transfer, and
generation.
the agent of the action (“building”) is a doctor, the object
of the action is the house, the recipient (or beneficiary) is MT in Practice The complexities and difficulties of
his son and the time of the action is during the war. Many linguistic analysis and the problems of incorporating ap-
languages express these relations explicitly, such as, for propriate semantic and extra-linguistic knowledge have
example, through use of suffixes to Latin, German, Rus- persuaded many researchers that, for the foreseeable
sian nouns (-ibus, -en, -ami), prepositions in English and future, it is unrealistic to attempt to build fully automatic
French (to, @), and particles (short words or endings) of systems capable of the translation quality achieved by
Japanese (ga, wa), but they are often implicit (as in En- human translators. The growing demands for translations
glish direct objects). There are rarely any direct corre- must be met by MT systems that involve the active assis-
spondences between languages and most markers of tance and expertise of natural language speakers.
cases are multiply ambiguous in all languages. Compare, The most obvious course, which has been adopted
for example, the three uses of with expressing attribute since the first MT systems, is to employ human transla-
(8a.), concomitant (8b.), and instrument (8c.), respectively, tors to revise and improve the crude and inaccurate texts
in the sequence of sentences cited earlier. Nevertheless, produced by MT systems. Initially, “post-editing” was un-
there is a sufficient regularity and universality in such dertaken manually; later systems incorporate on-line re-
“case relations” to have encouraged their widespread vision and in some cases special facilities for dealing with
adoption in many MT systems. the most common types of error (e.g. transposition of
There is also some agreement about the use of “se- words, insertion of articles). Revision for MT differs from
mantic features,”—i.e. the attachment of such categories the revision of traditionally produced translations. Unlike
as “human,” “animate,” and “liquid” to lexical items and the human translator, the computer program is regular
their application in the resolution of ambiguities. For ex- and consistent with terminology, but typically it contains
ample, in: grammatical and stylistic errors that no human translator
would commit.
10. He was beaten with a club. The development of powerful microcomputer text
editing facilities has led to the introduction of interactive
the “social” sense of club found in 6. above is excluded by MT systems. During the translation process, a human
the verb-type that requires an “inanimate” instrument. In: operator (normally a translator) may be asked to help the
computer resolve ambiguities of vocabulary or structure,
11. The sailor went on board. e.g. whether the club in (13) is a “society” or not, and what
12. The sailor was examined by the board. relationship is expressed by with in 1la., 11b., and 1lc.
Many Japanese systems demand considerable assistance
the “physical” sense of board in 11 is confirmed by the from operators, particularly with the “pre-editing” of Jap-
verb-type (motion) and the preposition of location, and anese scripts (identifying word and phrase boundaries,
the “social” sense in 12 is confirmed by the verb examine, punctuation, etc.)
which requires an “animate” agent. A third possibility is to constrain the variety of lan-
Few operational MT systems involve deeper levels of guage in the input texts. There are two approaches: either
semantic or pragmatic analysis. Nevertheless, as exam- the system is designed to deal with one particular subject
ples 7 and 8 demonstrated, disambiguation and correct matter, or the input texts are written in a vocabulary and
selection of TL equivalents would seem to be impossible style known to be comprehensible to a particular MT
without reference to knowledge of the features and prop- system. The former approach is illustrated by the METEO
erties of the objects and events described. This was used system, introduced in 1976, which translates weather
by Yehoshua Bar-Hillel (1960) in arguing that fully auto- forecasts from English into French for public broadcasts
matic translation of high quality is impossible. His famous in Canada. The latter approach has been taken by the
demonstration involved the sentence The box was in the Xerox Corporation in its use of the Systran system. Man-
pen. We know that pen can refer here only to a “container uals are written in a controlled English using unambigu-
for animals or children” and not to a “writing implement,” ous vocabulary and restricted syntactic patterns that can
from our knowledge of relative sizes of (writing) pens and be translated with minimal revision into five other lan-
boxes. For Bar-Hillel, the incorporation of encyclopedic guages. Other examples are the Smart systems installed
knowledge and the associated inference mechanisms was at a number of large U. S. and Canadian institutions that
“utterly chimerical.” However, subsequent advances in combine on-line editing to ensure clear documentation in
LANGUAGE TRANSLATION 737
English and “restricted language” MT to produce transla- systems that can be used by those ignorant of the source
tions for subsequent editing. language in order to obtain translations giving at least the
MT systems are now being used in the production of gist of document contents. Ata further stage, these sys-
a wide range of translations of different quality and status. tems should be integrated with other documentation sys-
The raw output of both mainframe systems (Systran, tems (information retrieval, abstracting, paraphrasing,
Logos, Fujitsu) and microcomputer systems (Weidner, etc.). There is an equally clear need for systems for those
NEC) may be used as (1) a draft version for full revision to ignorant of the target language, e.g. business persons
the level of human-quality products (e.g. for later publica- (and others) wanting to convey simple messages to make
tion), (2) a first draft for subsequent wholly human trans- travel arrangements, to book hotel accommodations, to
lation, (3) a version offered completely unedited to those arrange meetings, etc.
who are prepared to tolerate the grammatical and stylis- There has been recent research on systems that use
tic errors for the sake of cheap access to information, or interactive analysis. The computer would seek to obtain
(4) a version for light editing for similar information pur- from the author of a text information that would resolve
poses. It may be noted, however, that few unedited micro- ambiguities and thus enable the generation of appropri-
computer-based translations are adequate, even for ate translated text. The interaction would be conducted
purely informational purposes. in the user’s own language.
The development of computer-based aids for trans- The most obvious area of future development will be
lators have had a significant impact on the translation speech translation. Research is already in progress in
profession. These aids, which may justly be regarded Japan and elsewhere on systems for international tele-
as commercial by-products of MT research, include phone communication. Such systems, initially restricted
facilities for multilingual word processing; for creating to standard business messages, will combine voice inter-
in-house glossaries and termbanks, for receiving and pretation and voice production with machine translation.
sending texts over telecommunication networks, for ac- Given the problems of speech recognition in addition to
cessing remote sources of information, for publishing the peculiarities of conversational language, operational
quality documents, and for using interactive or batch prototypes are regarded very much as long-term objec-
MT systems when appropriate. Systems that integrate tives.
various facilities of this nature are being developed as Nearly all developments depend on improvements in
translators’ workstations. the automation of the basic translation processes. The
The languages of the earlier systems were mainly ultimate ideal of fully automatic high-quality translation
Russian and English, reflecting the political situation of may remain, but seems increasingly unrealistic. MT suf-
the time. In the 1970s, the main impetus was for systems fers still from what appear to be low-level problems: in-
to deal with the administrative needs of countries such as correct uses of pronouns, prepositions, and verb tenses,
Canada and the European Communities, hence systems and erroneous translations of common vocabulary. Prog-
for English, French, German, and other Community lan- ress is slow, but developments in artificial intelligence, in
guages. During the 1980s, the main focus has been the linguistic theory, in computational linguistics, and in com-
languages of international trade and communications puter technology promise future improvements in gen-
(English, Japanese, French, German, Spanish, and, to a eral quality.
lesser extent, Chinese and Italian). On the other hand, the At a more basic level, much progress depends on the
needs of Third World countries for scientific and techni- continued efforts to standardize terminology, both within
cal textbooks in their own languages are still not being and across languages, which is of benefit to translators
fully met, although a start has been made by some indi- and technical writers generally. More specifically, the
vidual projects (notably GETA) and by the Japanese mul- wasteful duplication involved in the creation of large MT
tinational project. dictionaries calls for inter-project cooperation, a process
that has already started in Japan with the Electronic
The Future of MT Intheimmediate future, there will Dictionary Research project.
clearly be continued expansion and improvement of sys- MT is already seen not as a threatening replacement
tems for the business and administrative communities. of translators but as an aid to multilingual communica-
As at present, the MT market will include both microcom- tion. The future development of MT rests on fruitful inter-
puter and mainframe systems. The cheaper microcom- action between the researchers of experimental systems
puter systems will produce relatively poor output investigating new methods and theories, the developers
needing substantial revision, but that can nonetheless be of commercial systems exploiting well-tested methods in
applied cost-effectively in commercial services. More ex- cost-effective practical systems, and the perception of the
pensive mainframe (or minicomputer) systems will be real needs of translators and other potential users of
developed using transfer and interlingua approaches translation systems.
with some use of AI techniques. These will produce
higher-quality output that, although still requiring revi-
sion for publication, will satisfy basic informational Further Reading For a general introduction to MT,
needs. see Lehrberger and Bourbeau (1988); for the general his-
Nearly all current systems require users to know tory of MT, see Hutchins (1986); and for descriptions of
both source and target languages, generally to the level current systems and developments, see Hutchins (1988),
expected of regular translators. There is clearly a need for Slocum (1988), and Vasconcellos (1988).
738 LAPTOP COMPUTER
LAPTOP COMPUTER
For an article on a related subject see PERSONAL COMPUTING.
puter ran on standard lead/acid batteries. It even sported technology evolved from low-contrast, narrow viewing
a built-in printer very similar to a cash register tape angle twisted-nematic LCDs in 1984, through supertwist
printer. The built-in software and small display made the LCDs in the late 1980s, to the dual supertwist displays
machine only marginally useful. that have become standard on the high-end laptops of the
In 1983, Radio Shack proved the usefulness of the early 1990s. Each of these technologies increased the
laptop computer concept with the introduction of the resolution and the readability of the machine’s screens,
TRS-80 Model 100. This 4-pound, battery-operated com- but also increased their cost and decreased the between-
puter used a 40-character by 6-line LCD screen and pro- charge life of the computer’s battery.
vided useful built-in text editing and communications Battery technology improved to keep pace with the
software. The machine soon became a favorite of newspa- increased power demands of higher-resolution displays
per and magazine journalists who found that its small size and the addition of floppy and hard disk drives. Some
and easy-to-use text creation and transmission software early laptops used flashlight batteries, but the later, more
made the computer an ideal writing tool to take on the sophisticated machines use rechargeable lead/acid or
road. A later version, the Model 200, provided a built-in nickel cadmium batteries. The nickel cadmium battery
disk drive, a larger screen, and a “clamshell” design has become the standard in the 1990s because of its good
(adopted by most subsequent laptops), in which the weight-to-power ratio and its nearly constant power out-
screen folded onto the keyboard when the computer was put voltage, regardless of charge.
not in use.
The evolution of the laptop computer accelerated in Tomorrow’ Laptops Improved display and battery
response to the success of the Model 100. The IBM-PC and technologies are on the horizon for notebook computers.
its MS-DOS operating system rapidly beeame the stan- Display improvements include film doubletwist and ac-
dard for business personal computing after 1982, and tive-matrix displays, both of which use significantly less
laptops touting IBM PC-compatibility sprang up from power than current technologies. Battery innovations in-
many sources. Through this period, portable computers, clude nickel hydride, which produces more than twice
such as the Compaq portable (introduced in 1982), ac- the energy of its nickel cadmium cousin, and polymer
quired 9-inch CRT screens while dropping in weight to the substrates impregnated with solid chemical components
17-22-pound range. Portable computers started provid- that will be extremely light, possibly as small as one-fifth
ing hard disk capacity in 1985, and laptops later added the size of current batteries while producing the same
first floppy disk and then hard disk storage. In 1988, the power.
NEC UltraLite machine heralded the arrival of the “note- These improved technologies and a further reduc-
book” computer, a laptop the size of a notebook that tion in IC chip counts will allow manufacturers to produce
weighed under 5 pounds, and provided all the functional- future laptop computers that will be thinner and lighter
ity of an IBM-PC AT-class computer. than current machines. Display and keyboard sizes will
In 1991, the state-of-the-art in notebook computers prevent the machines from getting much smaller except
provides a fast Intel microprocessor, hard disk storage, a in height. The 1-inch thick notebook machine should be
high-resolution, flat-panel monochrome or color screen, the standard by 1994.
built-in telecommunications capability, and the ability to By the end of this decade, more innovative technolo-
run almost all MS-DOS desktop computer applications. gies, such as stylus and pen-based input devices coupled
Battery powered, these machines can run for 3-7 hours with character-recognition software in a palm-sized pack-
between battery charges. This functionality comes pack- age, may create a whole new generation of machines that
aged in a notebook-sized machine that weighs from 4 to 6 truly mimic a notebook.
pounds. The prices of the machines range between $2,000
G. MICHAEL VOSE
and $5,000.
Channel
disconnects
until sector N
comes under
head
EFFECT OF
ROTATIONAL
SENSING
FEATURES
MAXIMUM-LATENCY
Read/write POSITION
head
MINIMUM-LA*ENCY
POSITION
FIG. 1.. Maximum and minimum latencies for various head- FIG. 2. Latency for direct-access devices having rotational
record orientations. Time: just after channel commences position sensing feature.
search for record indicated by cross-hatching.
position sensing (RPS) feature; they do not attempt to a residual function small in the sense of minimizing the
access a record until it is almost under their heads, as integral of the squared residual function.
shown in Fig. 2. By dividing each track into N equal-sized For definiteness, and because of its frequent occur-
sectors (N typically is 128), disk drives having the RPS rence as a real-life computational problem, we will de-
feature reduce channel latency, but not drive latency. scribe the real discrete linear least-squares problem and
Channel latency blocks activity on all drives attached to its analysis and solution. In this problem, one has real
the channel; while the channel awaits correct positioning numbers ai, i=1,...,M,J = 1... (nt >) and’b7 1 =) 1a,
of the record on one drive, no other drives can be active. m. One has some reason to believe that the b; are approx-
The RPS feature permits a channel to service other drives imately representable as linear combinations of the a;
while the requested sector is rotating toward the (i.e. that there exist numbers Cis j = 1,..., m, such that
read/write head, as shown in Fig. 2. ae , ¢, is approximately equal to b; for i = 1,..., m). In
DAVID N. FREEMAN
matrix-vector notation, this may be stated as the assump-
tion that there is an n-vector ¢ such that AC is approxi-
mately equal to b.
orthogonal to all column vectors of A. This orthogonality Levenberg-Marquardt analysis studies solutions of the
condition may be written as A’(b — A@) = A’b — A’ AE augmented least-squares problem
= 0. From this latter expression, one obtains the system
of equations, A7Ac = A’b, called the normal equations for
problem LS. Forming the normal equations and solving
them by the Cholesky algorithm is a common method of
eel
as a function of the parameter A.
computing a solution for problem LS. As an example of an ill-conditioned least-squares
Other solution methods providing superior numeri- problem, consider the problem Ac = b with
cal reliability at a cost of about twice as many arithmetic
operations are based on the QR decomposition of A. Thus, 0.780 0.563 0.481
A can be written as A=]0.913 0.659|, > =| 0.560
0.133 0.096 0.082
a=r[8] = cof0n|§|- ore The exact mathematical solution for this problem is
-|[a]> [5
2 Marquardt analysis, one can find that there are other
candidate solution vectors that are much smaller in norm
than € and that have residual norms only slightly greater
= ||Qb — Re |? + ||Q,b |P than the minimal norm ||¥||. For instance, the vector ¢ =
[0.404, 0.292]’ gives a residual vector
for all n-vectors c. Thus, a vector € is a solution of problem
LS if and only ifR¢ = Q,b. The matrixR and the vector Q,b f = [0.0015, —0.0013, 0.0002]”
needed here can be computed in a numerically stable
whose norm is || || = 0.0020.
manner by Householder transformations, Givens plane
In most practical situations, particularly where there
transformations, or modified Gram-Schmidt orthogonal-
is uncertainty in some of the data defining A and b, the
ization.
vector € would be preferred in place of the vector é,
whose components are larger by three orders of magni-
Practical Considerations In practice, the given tude. The reason for preferring smaller solution vector
data, particularly the components of the vector b, gener- components will be different in different contexts, but
ally arise from observations or measurements and are often this is related to the preference for a simpler, more
therefore known only to some limited precision. One gen- economical explanation of the real-world phenomenon
erally knows a priori the approximate size of the uncer- being modeled.
tainty in the vector b. In addition, one often has some a
priori notion about reasonable values for components of References
the solution vector.
We will say that problem LS is ill-conditioned with 1973. Stewart, G. W. Introduction to Matrix Computations. New
York: Academic Press.
respect to data uncertainty if changes in the data matrix
1974. Lawson, C. L., and R. J. Hanson. Solving Least Squares
[A:b] of the order of magnitude of the uncertainty in this
. Problems. Englewood Cliffs, NJ: Prentice-Hall.
data can cause changes in the solution vector that are 1989. Golub, G. H., and Van Loan, C. F. Matrix Computations (2nd
regarded as significant by the problem originator. In such Ed.). Baltimore: Johns Hopkins Press.
a case, even though the rank of A may be a, there will
commonly be a set of significantly different n-vectors that CHARLES L. LAWSON
are almost as good as the unique best-solution vector if
“goodness” is measured only by the criterion of reducing
the residual norm.
In practice, it is desirable to have a systematic way of LEGAL APPLICATIONS OF
recognizing the occurrence of an ill-conditioned problem, COMPUTERS
of identifying the data dependencies that cause the ill-
conditioning, of quantitatively characterizing a set of can- For articles on related subjects see LEGAL ASPECTS OF COM-
didate solutions, and of selecting from the candidate PUTING; LEGAL PROTECTION OF SOFTWARE; and PRIVACY, COMPUT-
solutions one that is suitable for the application at hand. ERS AND.
Singular-value analysis and Levenberg-Marquardt analy-
sis (also known as ridge regression) provide practical Although many law firms and courts still make
means for obtaining this information. minimal use of computers, computers have had a sig-
Singular-value analysis makes use of a matrix de- nificant impact on the practice of law. According to
composition of the form A = USV', where U and V are American Bar Association estimates in 1989, private
orthogonal matrices and S is a diagonal matrix. The firms spend an average of $4,400 per attorney for new
742 LEGAL APPLICATIONS OF COMPUTERS
technology, yet many small firms and perhaps the ma- computers for word processing, legal research, and tele-
jority of courts are not using computers, or using them communications.
only for basic clerical work such as word processing Access to judicial opinions, federal and state statutes
(g.v.). and regulations, and a host of other reference materials is
Lawyers generate large quantities of documents both “essential to the successful practice of law and to legal
apart from and in connection with litigation. Even rela- research. Computers have facilitated access to such ma-
tively simple litigation can involve hundreds of exhibits, terials through on-line and CD-ROM (q.v.) services. The
pleadings, briefs, and thousands of pages of transcripts availability of reference materials on CD-ROM can save a
and other written materials, not counting photographs, firm or law school large amounts of space because each
tape and video recordings, and the like. Optical scanning and every month scores if not hundreds of volumes of
devices can be used to enter typed or printed documents new materials are generated. The most popular on-line
directly into mass storage. Computers aid in assembling services are Lexis, Nexis, Westlaw, and Dialog. The princi-
these documents, as well as being a mechanism for pal means of querying such services’ extensive databases
storing them and indexing them so that key passages is by keyword and by keyword in context (KWIC). Expert
can be located quickly whenever needed. Computers systems that can perform more intelligent functions, such
can also assist attorneys in constructing contracts, wills as suggesting cases that support the point of view the
and other estate planning materials, tax returns, demand legal research wishes to defend or that propose strategies
letters, and a host of other legal documents. to minimize estate taxes while conforming to the testa-
Document creation goes well beyond basic word pro- mentary wishes of the testator, are under development.
cessing. For example, appellate briefs that once had to be To date, however, these have had limited success even in
sent to a printer to be typeset can be produced in-house areas of the law such as taxation where there are rela-
using appropriate software and laser printers. tively precise rules to guide practitioners.
Computers have also facilitated billing for legal ser- Computers are finding increasing use as instruments
vices. Lawyers generally bill for their services by the hour, for effecting legal transactions such as transferring own-
and different attorneys in the same firm often bill at differ- ership of property. Computers are also used to store data
ent rates. Moreover, clients will also be billed for out-of- that has legal ramifications, such as records of ownership
pocket expenses such as filing costs, long distance phone of stock and negotiable instruments. To date, paper doc-
tolls, and the reporter’s charges for providing a transcrip- uments have been required in many areas of legal practice
tion of a deposition. Computers are also used to help (e.g. to record deeds to real property, to serve as wills,
attorneys keep track of the fees to be charged their vari- and as pleadings in litigation). Many title insurance com-
ous clients and to keep the records so that clients can be panies keep their own records of real estate transactions
provided regular, itemized bills. so that they do not have to depend on the official system
Commercial software packages are available for law which is difficult to use and sometimes unreliable. Com-
office accounting, scheduling, checking for conflict of puters are also used to transfer large sums of money via
interests within a firm, litigation support, and a host of telecommunications links. The law concerning liability in
other practice-related functions. The American Bar As- case someone is injured economically because a transac-
sociation has a program that permits developers of tion fails or an important record is lost because of.a
software intended for the legal market to apply for a computer malfunction is unsettled, as is the acceptability
“Statement of Approval” from the ABA’s Legal Technology of electronic records and signatures in lieu of the paper
Advisory Council (LTAC). Such certification means that records and physical signatures the records represent.
the software meets the guidelines set by the LTAC. Software exists that enables laypersons to create
A 1988 survey by Price Waterhouse indicated the legal documents such as wills or simple contracts. Even
following percentages of law firms using various software laypersons can act as their own attorneys, but there
applications: expert systems (g.v.), 4%; stock/dividend remains the question of whether the dissemination of
recordkeeping, 21%; stockholder mailings, 24%; litigation such tools itself constitutes the unauthorized practice of
support, 33%; document assembly, 42%; document index- law. To date, the matter has not been addressed by the
ing and retrieval, 50%; electronic mail (q.v.), 50%; outside courts. Also unsettled is the liability of the vendor or
counsel fees, 56%; automated legal research, 71%; and author of an expert system sold to attorneys to assist
word processing, 99%. them in their practices that, through a defect in the pro-
Although more than 97% of the nation’s largest law gram or the database, causes an attorney to make a mis-
firms were using computers in 1986, according toa survey take that injures a client.
conducted by the IIT Chicago-Kent College of Law, a 1985 Computer applications in the practice of law are cer-
survey conducted by the ABA Journal revealed that only tain to increase in number and sophistication in the fu-
56.4% of small firms with a median of four lawyers had ture. Already, some courts are experimenting with
computers. Moreover, most courts had not computerized computerized trial transcripts that allow attorneys in-
their calendars and document-generation systems as of stant access to prior testimony. More and more legal
the time this article was written. documents will exist solely or primarily as electronic
Those larger law firms that use computers, according records. But the transition to the electronic law office or
to the survey, use them for timekeeping (85%), accounting courtroom is far from complete, and there are many ques-
(80.5%), and personnel functions (56%). Almost 75% of the tions that will have to be answered as the transition
responding firms indicated that lawyers themselves used proceeds. At some point, an attorney may find that a
LEGAL ASPECTS OF COMPUTING 743
disappointed client will have a prima facie case for mal- have reverted to classical contract law to decide contract
practice because the attorney did not use an on-line ser- disputes that do not clearly fall under the UCC.
vice to research the case, or did not use document Although a contract may not involve a sale, we will
retrieval software to find a key point in a deposition. still designate the party who acquires goods, services, or
Attorneys may well communicate with one another and rights as the “buyer,” and the party who receives payment
with the courts via wide area networks, filing papers as the “seller.” Preliminary to executing a contract, the
electronically. The computer may well become as indis- buyer may issue a Request for Proposal (RFP) that de-
pensable an instrument for the practice of law as the scribes his or her needs. Potential sellers will then re-
scalpel is for the surgeon or the hammer for the carpen- spond to the RFP with proposals that state what they are
ter, but that time is still years in the future. willing to furnish and under what terms. The buyer must
insure that the terms wanted are included in the actual
References contract itself; for example, the RFP can be included in the
agreement by reference. Most contracts have “merger” or
1980. Arentowitz, F. Jr., and Bower, W. Law Office Automation and
Technology. New York: Matthew Bender. (with annual up- “integration” clauses that state that all of the terms of the
dates) ‘ contract are contained in the written agreement itself. If
1988. Perritt, H. Jr. How To Practice Law with Computers. New York: the merger clause is effective, the buyer may find that the
Practicing Law Institute. RFP, promises of salespersons, and even written promises
that precede the actual execution of the contract are null
MICHAEL GEMIGNANI and void.
If what the buyer receives does not conform to the
terms of the contract, or if the seller provides nothing at
all, the contract has been breached. If what the seller
delivers fails to perform as warranted, then there is a
LEGAL ASPECTS OF breach of warranty.
COMPUTING If there is breach of contract, a court may award
For articles on related subjects see COMPUTER CRIME; ELEC- various kinds of damages; the most important damages
TRONIC FUNDS TRANSFER SYSTEMS; LEGAL APPLICATIONS OF are actual and consequential. Actual damages are those
COMPUTERS; LEGAL PROTECTION OF SOFTWARE; and PRIVACY, losses that can be calculated precisely and that are di-
COMPUTERS AND. rectly caused by the defendant’s wrongful action. Conse-
quential damages are losses that are less directly caused
by the wrongful action.
Introduction Given the youth of the computer indus- Suppliers of software and hardware have provided
try, much of its legal landscape is still shrouded in uncer- few guarantees for their products; for many years, they
tainty despite the heavy volume of computer-related would not even warrant that software would do anything
cases now reaching the courts. The law concerning areas at all, or that hardware would do more than pass the
covered in this article is changing rapidly even as this vendor’s own self-defined tests. Some limited warranties
article is being written. are provided now by most sellers. Sellers and licensors of
computer-related products still usually include dis-
Contracts A contract is a promise or agreement that claimer of warranty and limitation of remedy clauses in
the courts are willing to enforce. Several kinds of con- their contracts, including provisions to limit the amount
tracts are commonly employed in the computer industry: of actual damages that an aggrieved buyer can recover.
purchase agreements, licenses, software development Almost all computer-related contracts still disclaim any
contracts, maintenance agreements, to mention but a few. liability for consequential damages because of the open-
A contract requires an offer, an acceptance, and consider- ended nature of such damages and the large economic
ation. Consideration is some form of duty or obligation losses that can stem from a major computer failure. Such
that a party voluntarily assumes. disclaimers and limitations are usually upheld by the
If a contract involves A’s transfer of ownership of courts, who assume that the parties to a contract under-
item T to B in return for payment, there has been a sale. If stood and bargained for the provisions. Many contracts
item T is tangible (i.e. if T is “goods”), then the transaction also provide that a dispute stemming from the contract
is covered by Article 2 of the Uniform Commercial Code be brought to an arbitrator rather than to a court of law.
(UCC). The UCC has been adopted in every state except
Louisiana. Torts A fort is an act, other than a breach of contract,
The UCC, however, may not apply to many computer- by which one party injures another and because of which
related contracts because such contracts do not involve the injured party can seek a personal remedy in a court of
either a sale or goods, or either. Licenses and leases law. A crime is an act forbidden by statute and for the
confer limited rights defined by the contract, rather than commission of which the state may punish the actor. An
conveying full ownership rights; hence, they are not con- act can, but need not, be both a tort and a crime. Com-
tracts for sale. A software development contract is a puter crimes are discussed later in this article.
contract for services, even though the end product be- One of the most common grounds for litigation in tort
longs to the buyer. Some courts have applied UCC princi- is negligence. Negligence involves a breach of a duty of
ples by analogy to leases and licenses, but other courts care to-someone that causes injury to that person.
744 —LEGALASPECTS OF COMPUTING
Whether a duty of care has been breached depends on the understood that it was defamatory and concerned the
standard of care to which the actor must be held. The law plaintiff. The plaintiff is often also required to prove that
will generally ask what a reasonable, prudent person the communication was false, that the defendant was
would have done under the circumstances. If P has repre- _negligent or guilty of fault, and that the defamatory state-
sented possession of special expertise, P will be held to ment actually harmed the plaintiff. The “publication” nec-
the standard of care of someone who has that level of essary for defamation is communication to a third party;
expertise. a defamatory statement made only to the person defamed
However, there are as yet few standards in the com- is not actionable at law. To protect the press, the courts
puter industry to guide courts concerning what to expect have placed additional burdens on plaintiffs who are pub-
from a reasonable, prudent programmer. Computer pro- lic figures or where the defamation concerns a matter of
fessionals are not required to be licensed, and there are public concern.
no minimum educational qualifications to set oneself up Computers raise questions with regard to defamation
as a programmer, systems analyst, or database manager. that are still unanswered. Examples of such questions
Given the uncertainties inherent in large-scale hardware include: Do on-line database services or electronic bulle-
or software design, not to mention the complex interac- tin boards (g.v.) have the status of the “press” in terms of
tion between the hardware and software components of a what a plaintiff must prove to show defamation? Does
computer system, proving that a hardware or software publication occur, and, if so, who should be held liable if
developer did not exercise an appropriate degree of care, defamatory information is placed in mass storage and is
or even showing that the developer made an error and accessed by a third party, even without authorization?
that it was that error that led to the alleged injury is a Given the enormous amount of data that computer
formidable task. systems can store for indefinite lengths of time, there is
Acting on the basis of erroneous information and an increasing chance that stale or incorrect information
even mindless action on the basis of accurate information can be disseminated more widely and for longer periods
can lead to liability in negligence and on other grounds, of time than if the same information had merely been
such as failure to accord a party due process. In several published in a newspaper. Moreover, the computer
cases, credit companies have been held liable for wrong- system’s owner may be found to be at fault for failing to
ful repossession based on a computer-generated report update files, failing to check data entered for accuracy
that the debtor was delinquent, even though all payments and completeness, or having security so inadequate that
were in order. In another case, a utility company was held it allowed unauthorized persons to access supposedly
liable for shutting off heat in an unsold new home in the confidential and privileged information.
middle of winter because its computer sent delinquency Somewhat related to defamation are the group torts
notices to the empty house when the company should classified broadly as invasion of privacy: physical intru-
have known that the notices should have been sent to the sion upon a person’s seclusion; appropriation of a
builder. person’s name or likeness; unreasonable publication of
The damage that can stem from malfunction of a information concerning a person’s private life; and publi-
mainframe or a network is so great that the law will have cation of true information that portrays a person ina false
to find a method to allocate the risk at least for cata- light. Only the latter two are ever likely to come up in a
strophic failures. One such mechanism, not as yet applied computer context. Stale or incomplete data, even though
by courts to situations involving purely economic losses, true, for example, may convey an inaccurate impression
is strict liability in tort. In an action in negligence, the about a person or may be highly personal in nature.
plaintiff must prove that the defendant failed to exercise The torts of fraud or negligent misrepresentation
reasonable care. In an action in strict liability in tort, all could arise through reliance on inaccurate data files or
the plaintiff need show is that the defendant is a manufac- programs that produce incorrect or misleading estimates
turer or supplier of a product that had a defect that made of a customer's needs or of product performance. Buyers
it unreasonably dangerous, that the defect caused the sometimes allege fraud and negligence as part of a breach
plaintiff’s injuries, that the defendant is engaged in the of contract action in order to try to avoid the seller-pro-
business of selling such products, and that the product is tective restrictions in the contract, but courts are often
expected to and did reach the consumer without substan- unwilling to see a contract action transformed into an
tial change in the condition in which it was sold. If these action in tort.
facts are established, the defendant firm is liable even if it
used all possible care in the design and manufacture of Protection of Intellectual Property Although
the product. Although losses from computer failures are legal protection of intellectual property is an important
almost exclusively economic, the policies that led courts area of computer-related law, it is covered elsewhere, so
to adopt strict liability as a theory for recovery are gener- we touch on it only briefly here (see LEGAL PROTECTION OF
ally applicable to computer systems as well; therefore, SOFTWARE). The law, both state and federal, provides
this is an area to watch in computer law. mechanisms to protect intellectual property by, in effect,
Defamation is a wrongful injury to a person’s reputa- giving the originator of the property a monopoly on rights
tion. To maintain an action in defamation, a plaintiff must to that property, subject to limitations that vary accord-
prove that the defendant published a defamatory commu- ing to the type of property protected and the type of
nication of fact concerning the plaintiff, and that the per- protection selected.
son to whom the communication was addressed The four principle means for protecting intellectual
LEGAL ASPECTS OF COMPUTING 745
property are copyrights, patents, licenses, and trade se- then use those ideas and algorithms in building a compet-
crets. Other mechanisms for protection are found in the ing program.
law of trademarks, unfair competition, and various as- Patents represent a much stronger form of legal pro-
pects of antitrust law. Copyrights and patents are crea- tection; they grant the patent holder a legal monopoly on
tures of federal law alone, while trade secrecy is entirely the patented invention. Patents, however, are much more
a matter of state law. time-consuming and expensive to obtain than copyrights.
According to Section 102(a) of the Copyright Act, the Computer-related inventions are usually patented,
subject matter of copyright is “original works of author- either as machines or processes. Ideas, scientific princi-
ship fixed in any tangible medium of expression, now ples and laws of nature, mathematical formulas, and men-
known or later developed, from which they can be per- tal processes are not patentable. To be patentable, an
ceived, reproduced or otherwise communicated, either invention must be useful, novel, and unobvious. To be
directly or with the aid of a machine or device.” The novel, the invention must not be found in the prior art
Copyright Act makes it clear that computer programs are existing at the time it was invented. To be unobvious, the
copyrightable. invention must not have been obvious to someone skilled
However, the Act also makes clear that “[i]n no case in the prior art at the time of the invention, even if the
does copyright protection...extend to any idea, proce- invention itself had not actually been created yet. In-
dure, process, system, method of operation, concept, fringement will be found if someone else creates an equiv-
principle, or discovery, regardless of the form in which it alent invention, even if done independently and with no
is described, explained, illustrated, or embodied in such knowledge of the patented invention.
work.” Thus, the mathematical algorithms and general To obtain a patent, the inventor must fully disclose
ideas that underlie a program are not” copyrightable. the invention by filing a description of the invention so
Ideas are not copyrightable; only the expression of an complete that someone knowledgeable in the art would
idea is copyrightable. be able to build one and would understand how it works.
A human author must make some original contribu- Trade secrecy has up to now been the primary mech-
tion to gain a copyright in a work. Copyright protection anism for the protection of intellectual property. Trade
covers the original contribution of the author. Copyright secrecy can be used to protect essentially anything that
protection accrues automatically to the author once the can be kept secret.
original work is created, even if the work is not registered A trade secret is information of almost any kind that
with the Copyright Office and, with recent changes in the is used by a particular business and that provides it an
law, even if no notice of copyright is affixed to the work. opportunity to obtain an advantage over competitors
A copyright confers certain rights on the author, who do not have the information. No precise definition of
among them the right to make copies of and prepare a trade secret is possible, and even the law of trade
derivative works from the copyrighted work, as well as to secrecy varies from one state to another. In determining
distribute copies of the copyrighted work to the public. whether certain information is a trade secret of the party
Congress has stipulated that persons who own a legiti- that has it, a court will consider various factors—e.g. the
mate copy of software can make at least one backup copy extent of the measures taken by the owner of the informa-
as well as modify the software, so long as the modification tion to keep it secret and limit the scope of those who
is an “essential step” in using that software. The rights know it, and the secret’s commercial value to the owner.
granted by law to owners of copies of software may con- Trade secrets can be legally obtained—e.g. through
flict with the rights granted to a licensee of software, careless disclosure by the owner, and by reverse engi-
because a licensee does not nécessarily own a copy of the neering, including disassembling machine language code,
software. A licensee gains only such rights in the software although the latter method may be forbidden by copy-
as the license confers, and the copyright owner may claim right law or the terms of a license. A competitor, however,
retention of ownership of all copies of the software. Li- cannot hire away employees who have been entrusted
censes can also require the licensee to preserve the con- with the trade secret in order to learn it because employ-
fidentiality of any source code provided under the ees who gain trade secrets in the course of their employ-
license, forbid the licensee from disassembling machine ment have a duty in law to keep such secrets confidential
code (see DISASSEMBLER), and prescribe penalties if the even when they go to work for another employer, at least
licensee breaches these conditions. so long as the information remains a trade secret.
Courts are now considering the scope of protection
conferred by a copyright. Some courts have found that Evidence Because computer-generated and stored in-
the “structure, sequence, and organization” is protected. formation may be required in litigation, operators of com-
Other courts have been willing to protect a program’s puter systems must be sensitive to the rules of evidence,
“look and feel.” lest they find that the credibility of their information can
Copyrights are easy to obtain and protect only the be successfully attacked by an adverse party, or that it
original contribution of an author. If a work is written may not be admissible on their own behalf.
independently of another work, there is no infringement In order to introduce computer-generated data into
even if the works are nearly identical. There is also reason evidence, a party generally must first show that the
to believe that one can legitimately “reverse engineer” data is what is claims to be (e.g. records showing sales
another program to determine the underlying unprotecti- in September), and that there is sufficient reason to
ble ideas and algorithms embodied in that program and believe that the data is sufficiently reliable to warrant
746 LEGAL ASPECTS OF COMPUTING
its consideration by the court. An expert might testify ishments, and several convictions were overturned on
to the reliability of the equipment used and the adequacy appeal seemingly because the appellate court did not
of the data processing procedures. If the equipment consider the computer-related activity to be serious
consistently failed, or the procedures often failed or enough to warrant punishment. According to an Ameri-
yielded inaccurate results, the opposing party will be can Bar Association poll, even computer professionals do
able to attack the credibility of the data even if the not consider computer crime to be much more of a threat
court chooses to admit it. than shoplifting. The special expertise and the additional
Because they are inherently suspect as being self- preparation time that computer-related prosecutions re-
serving, reports generated by a party specifically in quire, coupled with the relatively light sentences that
anticipation of litigation are inadmissible, although the even those convicted are likely to receive, it is no wonder
data on which they are based may be admissible. Com- that computer crimes are not high on most district
puter-generated data is almost always hearsay. Hearsay attorneys’ lists of priorities. Nevertheless, with the in-
is defined as “a statement, other than the one made by creasing visibility of computer abuse (e.g. the Internet
the declarant while testifying at the trial or hearing, virus of 1989 that brought down a large, sophisticated
offered in evidence to prove the truth of the matter network - see COMPUTER VIRUS), One may expect both more
asserted.” Because computer-stored data is almost al- legislation and greater enforcement of existing criminal
ways a statement of someone other than the one testi- laws aimed at preventing computer crime.
fying at trial, it is hearsay if the data is produced at
trial to assert the truth of the data itself. Miscellaneous Issues There are numerous import-
The general rule is that hearsay is not admissible. ant issues and concepts that cannot be covered in a brief
However, there are many exceptions to this rule, the busi- article. The interested reader is advised to consult one of
ness records exception being the most widely used for the references listed in the bibliography. Someone having
computer-generated data. To be admissible under the a specific legal problem should seek assistance of quali-
business records exception, the data must have been kept fied counsel. We conclude by touching on several other
in the course of a regularly conducted business activity issues that are currently in a state of flux.
and entered at, or near, the time of the events that gave
rise to it, from information transmitted by a person with Taxation Annual changes in federal tax law and the con-
knowledge, and it was the regular practice of the business tinuing stream of rulings of the Internal Revenue Service
to compile such data, all shown by the testimony of the make this an unstable area of law. In addition, how states
custodian of the data or other knowledgeable and reliable tax software and hardware varies according to the state
witness. Computer-generated data is also subject to the and the nature of what is being taxed. Computer equip-
Best Evidence Rule, but a computer printout of stored ment has even been taxed as real estate. Whether soft-
data is held to be an “original” for purposes of the rule, so ware is subject to sales tax depends in many states on the
there is usually no problem concerning admissibility on degree to which it is customized or developed expressly
this score. for the customer. When the investment tax credit was
Computer-stored data is also generally subject to repealed, many thought that this would bring a major
disclosure on the request of a party opponent, even if no restructuring and scaling back of the computer leasing
hard copies are made. Data must be provided in a form market, but, to date, this has not occurred.
that is comprehensible and usable, and not, for example,
in a format that makes the data essentially inaccessible. Privacy and First Amendment Rights According to a
The party seeking the data may be asked to pay for the slightly modified definition due to Meredith Mendes of
costs of collecting it, or converting it to the format de- Harvard University, privacy is a condition in which indi-
sired, if this represents an undue burden. viduals, groups, or institutions can determine for them-
selves when, how, and to what extent information about
Computer Crime and Security There are dis- them is communicated to others. Computers have been
agreements as to what forms of activity qualify as com- used to “match” files of one government agency against
puter crime, and estimates of the extent of computer files in another agency in order to catch “welfare cheats”
crime vary widely from about $40 million to $2 billion a and other persons suspected of criminal activities, al-
year. A number of computer abuses are punishable as though some commentators believe such activity is
traditional crimes; for example, if a programmer instructs illegal. The National Crime Information Center (NCIC) re-
a bank’s computer to transfer money to which he or she ceives data from 60,000 law enforcement agencies, but
is not entitled into a personal account, that programmer this data contains many errors. In 1985, the FBI admitted
has still committed theft, even though a computer was the that at least 12,000 invalid or inaccurate reports on sus-
instrument of the crime. There have been some instances pects wanted for arrest were being transmitted among the
of computer abuse that were not covered by any criminal 400,000 daily responses to queries to the NCIC by federal,
statute, but, now that the federal government and every state, and local law enforcement agencies. The harm that
state have computer crime statutes of one sort or another, these inaccurate reports may cause innocent parties
such instances are likely to be extraordinarily rare. must be balanced against the increased probability the
A more significant issue has been the unwillingness NCIC provides of apprehending real criminals, but Con-
of prosecutors and the courts to treat computer crime gress and the courts have not yet arrived at a consensus
seriously. Even convictions often brought nominal pun- concerning what an appropriate balance might be.
LEGAL PROTECTION OF SOFTWARE 747
There are, however, various federal and state laws 1987. Bigelow, R. Computer Contracts: Negotiating and Drafting
aimed at safeguarding the accuracy and confidentiality of Guide. New York: Matthew Bender.
databases that contain personal information or that open 1988. Arkin, S. et al. Prevention and Prosecution of Computer and
up certain government files to public scrutiny. Among the High Technology Crime. New York: Matthew Bender.
federal laws are the Right to Privacy Act of 1974, the Free-
dom of Information Act, the Fair Credit Reporting Act, the Periodicals
Computer Industry Litigation Reporter. Andrews Publications, P. O.
Bank Secrecy Act, the Trade Secrets Act, the Equal Credit
Box 208, Edgemont, PA 19028.
Opportunity Act of 1976, the Right to Financial Privacy Act
Computer Law Monitor. Research Publications, 92 Fairway Dr.,
of 1978, and the Privacy Protection Act of 1980. P. O. Box 9267, Asheville, NC 22815.
Computer Law Reporter. 1519 Connecticut Ave., NW, Washington,
Electronic Funds Transfer Transfers of substantial as- DC 20036.
sets viacomputers gives rise to questions of whois liable if Software Law Reporter. 175 Strafford Ave., #1, Wayne, PA 19087.
the transfer is improperly made (e.g. if the transfer is not
completed in a timely fashion, or not completed at all). MICHAEL GEMIGNANI
Although most of the issues concerning computer-to-com-
puter electronic funds transfer are covered by the Uniform
Commercial Code, some are not. For example, checks re- LEGAL PROTECTION OF
quire a signature to be honored, but there is no agreement
as yet concerning how this requirement is met with many
SOFTWARE
wire transfers. Computerized transfers of assets will be an For articles on related subjects see LEGAL APPLICATIONS; and
important area for the development of newiaw. LEGAL ASPECTS OF COMPUTING.
Electronic Records and Legal Requirements The law Computer software is expensive to develop and
has traditionally required the existence of and often a maintain. It has high monetary value to its owners, both
formal recording of paper documents of various sorts to because it can give them a competitive advantage when
testify to the authenticity of certain transactions—e.g. used internally to do tasks more cheaply or quickly and
deeds in connection with the transfer of rights in real because it can be licensed for use by others. Software,
property, and security agreements with respect to certain however, is very easy to copy at a trivial cost and is,
kinds of liens. Generally, such documents must be signed therefore, very susceptible to pirating. Because of its
by the party making the transfer or the person liable for value and its vulnerability to misappropriation, owner-
a debt. More and more transactions are now recorded in ship interests in software must be protected.
computer memory, and the trend may be toward elec- For the purpose of legal protection, software is
tronic record keeping and away from paper. The law must categorized as intellectual property. Intellectual property
either adapt to the new technology, or else make it clear is a form of intangible personal property comprised of
that paper is here to stay. The transient nature of even ideas, processes, information, or symbols. Intangible
long-term mass storage may also threaten the reliability personal property contrasts with tangible personal prop-
of records of transactions over a long period of time. erty, such as hardware or supplies, and real property,
such as office buildings and other structures affixed to
Future Issues Some of the other issues that will have to the land. Intellectual property is protected in one of five
be decided in the future include liability for catastrophic principal ways: by patent, copyright, trade secret, trade-
computer-related disasters, ownership of intellectual mark, or contract.
property created primarily or exclusively by a computer,
and liability for mistakes of expert systems (q.v.). Patent Inthe U.S., patent protection is a federal statu-
tory right that gives an inventor or his or her assignee
References exclusive rights to make, use, or sell products or pro-
cesses within the scope of the patent for 17 years from the
General
issuance of the patent.
1978. Bender, D. Computer Law. New York: Matthew Bender. (Orig-
To be patentable, inventions must meet several tests.
inally published as Computer Law: Evidence and Procedure,
annually updated; now two volumes covering most aspects of They must be of statutory subject matter—physical
computer law.) methods, apparatus, compositions of matter, devices and
1985. Nimmer, R. The Law of Computer Technology. New York: improvements—but not mere ideas. Further, they must
Warren, Gorham & Lamont. be new, useful, and not obvious. They must be described
1985. Gemignani, M. C. Computer Law. Rochester: Lawyers Coop- in a properly filed and prosecuted patent application.
erative Publishing Co.—Bancroft-Whitney. (With annual sup- The two statutory subject matter categories that are
plements.) ‘ generally applied to patent claims involving programs are
1989. Gemignani, M. C. A Legal Guide To EDP Management. West- process (or method) and machine (or apparatus). In an
port, CT: Quorum. appropriate case, a program-related invention might be
claimed as an article of manufacture.
Specific Areas
The courts have held that a mathematical algorithm
1987. Kutten, L. J. Computer Software: Protection/Liability/Law/-
is like a law of nature (which is not patentable subject
Forms. New York: Clark Boardman. (With annual supple-
ments.) matter) and has evolved a two-step process for determin-
748 LEGAL PROTECTION OF SOFTWARE
ing whether a computer program is patentable subject copyright notice on a work and registering the work with
matter. First, does the claim recite such an algorithm, and, the U.S. Copyright Office. Notice, which consists of plac-
if so, does it in its entirety wholly preempt that algorithm? ing the legend: “© [author’s name] [date of first publica-
Claims that do both of the above are deemed to be unpat- tion of the work]” serves to defeat claims that an
entable subject matter. A negative response to either test infringement was innocent. Registration provides eligibil-
permits the claim to be evaluated on the basis of the other ity for statutory damages without the need to show actual
tests of patentability. damages, in the amount of $500 ($200 to innocent wrong-
doers) to $20,000, with a possible award of up to $100,000
Copyright Copyright protection is governed by fed- against willful infringers. Those who register their works
eral law. Copyright is one of the powers granted to Con- before the infringement takes place are also eligible to
gress under the U.S. Constitution. Under the Copyright obtain their attorneys’ fees in the case.
Act of 1976, as amended, the protection extends to origi- Registration of a work is accomplished by execution
nal works of authorship. These include, for example, liter- of the appropriate application form, which varies depend-
ary works (including computer programs), musical ing on the type of work to be registered (e.g. form TX for
works, dramatic works, pantomime and choreographic computer software programs), payment of a minimal fee
works, pictorial, graphic and sculptural works, motion (currently $20), and deposit of two copies of the work
pictures and other audio-visual works, and sound record- with the U.S. Copyright Office. For computer programs,
ings. Exclusive rights are granted to the owner of the one deposit is required and, for large programs, it can be
copyright to reproduce the copyrighted work; prepare less than all of the program, preferably the first and last
derivative works based on the work; distribute copies of 25 pages of source code.
the work by sale, rental, lease, or lending; perform the Copyright protection can be used with other forms of
work publicly if it is literary, musical, dramatic or choreo- protection, such as trade secret protection and trade-
graphic, pantomime, or a motion picture and other audio- mark to retain or enhance the value of intellectual prop-
visual works; and display each of those works and erty rights.
pictorial, graphic, or sculptural works publicly.
To be eligible for copyright protection, a work must
be original and must be fixed in a tangible means of Trade Secret Atrade secret is a right that is protected
expression, such as a book, tape, disk, or phonograph state by state rather than by a federal law and is defined
record. Protection arises automatically for protected » in the Uniform Trade Secrets Act, adopted in many states,
works upon fixation and covers the expression in the as information, including a formula, pattern, compilation,
work (but not the underlying ideas). Protection lasts for program, device, method, technique, or process that:
the life of the author plus 50 years and, in the case of
1. Derives independent economic value, actual or
works made for hire, for 75 years from first publication or
potential, from not being generally known to the
100 years from creation.
public or to other persons who can obtain eco-
Until 1 March 1989, notice was required on all copies
nomic value from its disclosure or use; and
of published works, and registration was required for all
2. Is the subject of efforts that are reasonable under
works prior to commencement of an infringement action.
the circumstances to maintain its secrecy.
On 1 March 1989, the U.S. became a member of the
Berne Convention. Under the Berne Implementation Act, In a number of court cases, computer programs have
which also became effective 1 March 1989, for works first qualified as trade secrets; e.g. University Computing Corpo-
publicly distributed after that date, a copyright notice is ration v. Lykes-Youngstown Corporation, 504 F.2d 518 (5th
no longer required on all publicly distributed copies of a Cir. 1974), MSA v. Cyborg Systems, Inc. 6 CLSR 921 (NLD. Ill.
work as a condition of protection. Recordation with the 1978), and Com-Share, Inc. v. Computer Complex, Inc., 338
Copyright Office is no longer required prior to commenc- F. Supp. 1229 (E.D. Mich. 1971). The absolute requirement
ing litigation for infringement if the country of origin of for trade secret status is that the item be kept secret from
work is a foreign nation adhering to the Berne Convention all except those bound to keep it confidential by virtue of
or if the work is first published simultaneously in a Berne their relationship or by contract. If the secret becomes
country and a nation not adhering to Berne. Works pub- known to others, the protection vanishes. If it remains
licly distributed prior to 1 March 1989, must still comply secret, the protection can last forever. Confidential rela-
with the notice and recordation requirements. Works of tionships include employees and agents in a fiduciary or
U.S. origin must still be registered prior to commencement trust relationship and thieves, who are held to be in a
of an infringement action. Works of U.S. origin include constructive trust relationship so that they cannot use
works (1) first published in the U.S. or simultaneously in their ill-gotten knowledge. Contract is used to bind licen-
another Berne member country granting equal or greater sees and joint venture partners or investors. (in some
years of protection than the U.S.; (2) simultaneously in the states, these people are bound even without an express
U.S. and a non-Berne member country; or (3) in a non- contract.) However, once the secret is disclosed without
Berne member country, providing that all authors of the a requirement of confidentiality or is disclosed to one who
work are “nationals, domiciliaries or habitual residents of did not know of its secret character, the trade secret
the U.S.” status is lost forever. Places where trade secrets are often
There are certain advantages for those copyright disclosed carelessly are user group meetings and techni-
owners who do comply with the formalities of placing a cal meetings.
LEIBNIZ, GOTTFRIED WILHELM VON 749
Employees may need to learn the secret in the course LEIBNIZ, GOTTFRIED WILHELM
of their employment. These people are bound not to
misappropriate the trade secret by virtue of their position
VON
of trust with respect to the secret. Many employees do For articles on related subjects see CALCULATING MACHINES;
not realize the parameters of that trust and should con- DIGITAL COMPUTERS: HISTORY: ORIGINS; and PASCAL, BLAISE.
sult their lawyers before using software developed for an
employer for their own purposes. Trade secrets can also Gottfried von Leibniz (b. Leipzig, 1646; d. Hanover,
be lost through “reverse engineering” (i.e. through the 1716) had obtained an excellent education in his father’s
legitimate process of buying a product and “taking it library before entering the University of Leipzig at fifteen
apart” to learn how it works); this encourages many soft- years of age and receiving a bachelor’s degree at seven-
ware owners to encrypt their code. Trade secret protec- teen. At twenty he received a doctorate in jurisprudence
tion has been held by the U. S. Supreme Court to be from Altdorf, and for six years thereafter pursued a career
compatible with patent protection, Kewanee Oil Co. v. of law and diplomacy, working to create an effective de-
Bicron Corp., 416 U.S. 470 (1974). Many vendors of soft- fense for the German states against Louis XIV. These
ware choose between the copyright and trade secret diplomatic intrigues took him to Paris (1672), where he
methods of protection; yet many others have both a spent the four most fecund years of his mathematical
copyright notice on their software and also treat it and career. Under the tutelage of Huygens, Leibniz systemati-
license it as a trade secret. Cases have held that, so long cally studied mathematics, especially the work of
as the rights claimed are not identical to copyright pro- Descartes and Pascal (q.v.).
tection, those rights are not preempted by the federal Pascal’s calculating machine stimulated Leibniz’s in-
copyright law. »* terest. By adding a movable carriage operating on wheels
Many software owners place a label on their software utilizing an active-and-inactive pin principle and a de
stating: “This software is proprietary to (mame of Com- layed carry mechanism, Leibniz modified Pascal’s ma-
pany).” That notice serves as a no trespassing sign to chine so that it would multiply and divide directly (i.e.
observers and a reminder to users who have acquired the without the operator having to use an algorithm). How-
software under an agreement to keep the software confi- ever, in the only extant Leibniz machine (Hanover Mu-
dential. seum), a later model, Pascal’s ratchet-carry mechanism is
replaced by a primitive Geneva gear system that
Trademark Trademark embodies the exclusive use of accomplishes the discontinuous carry of digits by a se-
a symbol to identify goods and services. As distinguished ries of five-point star gears. Eliminating the ratchet mech-
from a patent, which does not exist until issued by the
Patent Office, or a copyright, which exists as soon as the
work is fixed in a tangible form, a trademark arises upon
use, or, if one has a bona fide intent to use the mark, one
may acquire rights by filing a federal application to regis-
ter the mark. Trademark protection exists at both the
federal and state levels. The symbol protected can be
both a name and a logo, such as /7 Mile Drive. However,
one cannot trademark an entire program, only its identi-
fying symbol(s).
Reference
anisms made subtraction and division possible by simply ing items in the collection is constantly growing and is
reversing the rotation of the addition and multiplication available for retrieval at all times. Records for older mate-
mechanisms. rial may be requested as frequently as records for newly
In 1673, Leibniz made discoveries in differential cal- acquired material. A large storage capacity must be avail-
culus and observed (in 1675) that the summation process ‘able both for storing and maintaining the data. The re-
of integration was equivalent to reversing the operation cords are also dynamic and subject to frequent update.
of differentiation, the fundamental theorem of calculus. Therefore, there is a significant requirement in library
Newton had also made this observation in the 1660s, but systems to enable long records containing variable-length
Leibniz was apparently unaware of it. data to be updated and maintained in an on-line transac-
In 1676 Leibniz left Paris for Hanover, where for the tion environment.
next 40 years he was a historian and librarian actively The MARC (MAchine-ReadableCataloging) format
pursuing philosophy, theology, diplomatic missions, and was developed to facilitate the exchange of bibliographic
scientific correspondences, and intermittently working data among libraries in a standardized record format.
on his calculating machines. In 1700, he organized the Since many of the functions of libraries are dependent
Berlin Academy of Science (an idea he first articulated in upon the data describing an item in terms of its biblio-
1668) and at his death was carrying on the now-famous graphic and physical attributes and its subject matter
correspondence with Clarke about the theological im- (which together make up the cataloging records), the
plications of Newton’s Principia and Opticks. Council on Library Resources (CLR) supported a study of
methods for converting this data to machine-readable
CHARLES V. JONES
form. This study led to a project at the Library of Con-
gress (LC) funded by CLR that became known as the
MARC Pilot Project (see Fig. 1 and Avram, 1968). Upon the
successful completion of the pilot project in 1969, LC
LIBRARY AUTOMATION began the MARC Distribution Service, which is still in
For articles on related subjects see HUMANITIES APPLICA- existence (Avram, 1988).
TIONS; HYPERTEXT; and INFORMATION RETRIEVAL. The MARC project was a fundamental building block
leading to future development of the automation of many
Library automation had its genesis in the 1950s and library functions, since 1) it provided the vehicle for the
has been rapidly evolving since that time. Once seen in establishment, adoption, and increased usage of stan-
fiction as a fantastic scenario, libraries now routinely dards so that libraries could exchange and share ma-
provide computerized access to their collections and the chine-readable bibliographic data; 2) the adoption of
information contained within them. Library automation standards provided the environment for the building of
has evolved to encompass all phases of library opera- information systems to manipulate data based on the
tions: collection development and acquisitions (deter- standards; 3) the MARC format documentation resulted in
mining which materials to add to a collection and the savings by organizations all over the world in implement-
process of obtaining them); cataloging and classification ing library automation projects; and 4) the machine-read-
(the description and subject analysis of materials so that able records from LC provided a database upon which to
they may be retrieved); retrieval (identifying a particular build shared cataloging and other library automation pro-
item or set of materials in response to a query); circula- jects so that each individual organization did not have to
tion (loaning of requested materials to individuals or or- assume the costs associated with cataloging all of its
ganizations); and reference (provision of information materials and/or the retrospective conversion of all of its
contained within the material itself). cataloging data.
Early on, libraries established mechanization com- Libraries were quick to adopt the MARC format as
mittees to study the application of automated techniques the standard for encoding cataloging data in biblio-
to the problems of information storage, retrieval, and graphic records. They were eager to share bibliographic
dissemination. Early implementations focused on infor- data with the goal that a bibliographic record describing
mation retrieval. The goal was to enhance access to a a particular item need only be created once and then
library’s holdings, not only to books and journals, but also shared among networks and individual systems to de-
to other materials, such as maps, sound recordings, and scribe like items held by other organizations. The ability
microforms. Printed keyword-in-context (KWIC) and key- to exchange information about resources is a goal fun-
word-out-of-context (KWOC) indexes and lists of journal damental to library systems development. Standardiza-
holdings were typical early applications, but there was no tion of the bibliographic record gave rise to the ability
standardization among processes or data formats to en- to create shared bibliographic records that were then
able libraries to share machine-readable data. used as the basis for library systems and the develop-
A problem encountered in handling all types of li- ment of library networks that began to occur in the
brary records is that the data (e.g. names of authors, titles 1970s. On-line networked systems were developed in
of works, or listings of content) varies in length. Any which the database was both built and used by multiple
truncation of this data to a fixed length makes it difficult organizations.
to identify an item uniquely. Libraries must continue to The earliest and still the most advanced network
maintain older materials as well as add new materials, so was OCLC (formerly the Ohio College Library Center).
that the number of machine-readable records represent- Nearly 12,000 OCLC member libraries, using some 10,000
LIBRARY AUTOMATION 751
|
Leader R ecord Directory
Imprint
StephentSugarman. |F|
06|San.p.| SbPublished Bby¥J.bM. bWeinertbforKD. BH. bBlair
174
235 274
Subject Heading
311
ttmanuals, betc. IR
terminals or workstations extending over almost all of ever. They developed independently and, although they
the 50 states and into Canada and 38 other countries, were based around the common MARC record standard,
receive a variety of products and services from a contained incompatible approaches to retrieval and
resource database that includes data contributed by the input. A Network Advisory Committee was formed by
participating members and the MARC data distributed LC and issued a planning paper (1977) that included a
by LC. Several similar systems also developed, among recommendation for assigning a high priority to the
them the Research Libraries Information Network (RLIN) linking of various library systems in the U.S. The Linked
and the Western Library Network (WLN) in the U. S., Systems Project (LSP) developed as an effort to link LC
the University of Toronto Library Automation System and the bibliographic utilities in order to avoid dupli-
(UTLAS) in Canada, and the British Library Systems cation of records among them and to enable LC records
(BLAISE) in the UK. to be distributed on-line. LSP uses Standard Network
This networking activity for library technical ser- Interconnection (SNI) based upon the Open Systems
vices (principally cataloging) activities evolved into the Interconnection (OSI - g.v.) seven-layer protocol. An
concept of the “bibliographic utility,” enabling hundreds application layer for information retrieval was developed
of libraries to have access to shared cataloging, and to support the retrieval and exchange of bibliographic
promoted shared access to and interlibrary loan of records. The initial LSP implementation was _ biblio-
dispersed library resources. To enhance the effective- graphic authority record interchange—i.e. the exchange
ness of the bibliographic utilities, large-scale retrospec- of information concerning the standardization of the
tive conversion of card catalog data to MARC format access points used to retrieve bibliographic records.
was undertaken by libraries as members of networks The LSP effort continues to evolve with the objective
and by network and commercial ventures on behalf of of exchanging bibliographic record information among
libraries. Databases of millions of records denoting mil- the networks and LC.
lions of points of access to research material were To complement the national networks, a number of
established by the library networks. commercial vendors began to offer systems to the major-
These large systems have remained disparate, how- ity of libraries that did not possess the resources to
752 LIBRARY AUTOMATION
undertake their own local systems development. At first, systems/databases from a personal workstation can now
these systems were based around a single function (e.g. be accomplished. Many local OPACs are available on the
circulation control) with truncated records that could not Internet for public searching. Libraries have welcomed
be interchanged. As vendor systems became more so- _the National Research and Education Network (NREN)
phisticated, they expanded to encompass multiple func- initiative and are considering the implications: that of
tions, integrating acquisitions, on-line public access greatly facilitated sharing of databases and access to
catalog (OPAC), and circulation control functions. They collections. Network access to full text has taken on new
also standardized around the full MARC format record. importance as the electronic publishing industry devel-
With such systems, libraries began to incorporate re- ops and as more professional and scholarly journals are
cords from the bibliographic utilities in order to create published in electronic form.
databases tailored to their own needs. Libraries and their networks are researching en-
At the same time that the large networks developed, hanced front-end system interfaces. Public front-ends to
commercial information providers began to furnish pub- OPACs eliminate the need to learn the query syntax of a
lished information (e.g. journal indexes and abstracting particular system and provide a view of the bibliographic
services) in machine-readable form on value-added net- data in a form readily intelligible to the library user. Front
works. On-line database searching increasingly began to ends oriented toward the librarian eliminate the need to
be used to provide library reference service and quickly learn the individual command language and file structure
gained acceptance as an important tool for providing of each local or remote system.
timely access to the journal literature. Customized bibli- The focus of library automation remains the biblio-
ographies could now be assembled from a wide variety of graphic record. Current research focuses on enhancing
sources to meet the needs of individual users. the basic bibliographic record to deliver more informa-
During the 1980s, microcomputer workstations tion, ranging from a summary of contents to full text
evolved. With the ability of a workstation (q.v.) to information. Hypertext systems, providing traditional
download bibliographic records from bibliographic utili- bibliographic data as well as related textual, visual, and
ties or remote on-line library catalogs and to manipulate aural information in a unified package, promise enhanced
the records locally, libraries could retrieve information to access to shared information resources.
upload into local systems or databases, create local cata- The history of library automation is a rich one, and
logs, and produce bibliographies and other products. De- rapid advances in technology have opened a wide array
velopments in CD-ROM (qg.v.) technology have provided of possibilities for librarians and end users alike. Further
stand-alone databases for information to be used in cata- advances are expected, offering new opportunities and
loging activities, OPACs, journal indexes, and reference challenges.
materials. Libraries are working on networking CD-ROMs
in order to provide an array of information to library users References
from a single workstation.
1963-. Proceedings of the Clinic on Library Applications of Data
Library collections represent items written in many
Processing. Urbana-Champaign, IL: University of Illinois at Ur-
languages, using a variety of alphabets and scripts. There-
bana-Champaign, Graduate School of Library Science.
fore, the capability must exist to input, manipulate, and
1968. Avram, Henriette D. The MARC Pilot Project: Final Report on
output multiple character sets (to include, for example, a Project Sponsored by the Council on Library Resources, Inc.,
Cyrillic, Greek, Hebrew, Arabic, and Chinese in addition to Washington, DC: Library of Congress. (For sale by the Super-
expanded Roman). The original MARC development in- intendent of Documents, U. S. Government Printing Office,
cluded an extended ASCII (g¢.v.) character set to accom- Washington, DC 20402.)
modate diacritics and special characters for languages 1969. Library Automation; A State of the Art Review. Salmon, Ste-
written in the Roman alphabet. The ability to work with ven R. (Ed.). Chicago: American Library Association.
non-Roman character sets was pioneered by the Research 1975. Avram, Henriette D. MARC, Its History and Implications.
Washington, DC: Library of Congress. (Based on an article
Libraries Group (RLG). Terminals with the ability to input
entitled “Machine-Readable Cataloging (MARC) Program,”
Chinese, Japanese, and Korean (CJK) scripts were made
which appeared in the Encyclopedia of Library and Information
available, and later, as workstations predominated, soft-
Science 16.)
ware to accommodate Hebrew and Arabic characters was 1975. Library Automation; The State of the Art II. Martin, Susan K.
developed. OCLC also developed its own system for CJK and Butler, Brett, (Ed.), with a bibliography compiled by West,
scripts. However, not every system can accommodate or Martha W. Chicago: American Library Association.
display these vernacular character sets. Development 1978. Buckland, Lawrence F. The Role of the Library of Congress in
work continues in this area. Expanded public display of the Evolving National Network. (A study commissioned by the
vernacular character sets stored in local databases will Library of Congress Network Development Office and funded
enable researchers to conduct searches directly in the by the National Commission on Libraries and Information
vernacular scripts of interest. Science.) Washington, DC: Library of Congress.
1978. “LITA Library Automation: State of the Art Ill, Held in Chi-
Local and national databases created to provide ac-
cago on June 22-23.” Journal of Library Automation, 11, 4:285-
cess to bibliographic data about items, indexes to the
Bole
journal literature, holding locations for interlibrary loan, 1983-. Library Hi Tech. Ann Arbor, MI: Pierian Press.
and text storage are now being tied together for the indi- 1988. Avram, Henriette D. “Machine-Readable Cataloging
vidual user through networks such as the Internet. Re- (MARC): 1986.” Encyclopedia of Library and Information Sci-
mote access by a library user to a wide variety of library ence 43, Suppl. 8. New York: Marcel Dekker.
LINKER 753
(56 B 9)
(A B 9)
either as a table or in some more specialized structure, create only those elements that are actually accessed. If a
with one node per nonzero element, the array can be built program looks at the first 10 primes, or the first 20, only
in such a way that it appears as if all elements are present, that many will be created, but the list appears to contain
but that occupies much less storage. It is also flexible: as them all. The key is to put a procedure in the last node of
elements become nonzero, new nodes are added, and as the list that will calculate the next element when it is
elements become zero, nodes are removed. There will be accessed. Each time a program looks at the next element,
a cost in access time, but for some problems that cost will the procedure will calculate it, attach it to the list, and
be outweighed by the ability to fit the problem into the attach itself to the end. If no one accesses beyond a
computer at all. certain point, those elements are not calculated; all ele-
Lists can also be used to implement trees and other ments up to that point are calculated once and left in the
graph structures (see GRAPH THEORY). Pair nodes can be list. As far as the program using it is concerned, the list is
linked into simple binary trees, and larger nodes into indeed infinite.
trees of greater degree or with data at the nodes of the
tree. Larger nodes can even be simulated by lists built References
from pair nodes. Since list nodes can contain pointers to
1976. Horowitz, E. and Sahni, S. Fundamentals of Data Structures.
arbitrary data objects—even other nodes in the same Potomac, MD: Computer Science Press.
list—graph structures of all complexities can be built by 1985. Abelson, H. and Sussman, G. Structure and Interpretation of
connecting nodes together. Computer Programs. Cambridge, MA: The M.LT. Press.
Two other structures easily built with lists are the
stack (q.v.) and the queue. A stack is just a list of elements PAUL FUQUA
(sometimes called a pushdown list); again its utility
comes from its interpretation, not its particular struc-
ture. To push an object onto the stack, make a new
node containing the object, link it to the stack, and then LANGUAGES
use that new node as the new head of stack. To pop an
A list processing language is a computer language that
object off, change the stack pointer to point to the next
facilitates the processing of data organized in the form of
element and discard the old head. Since, by the definition
lists. Lisp, Comit, Sail, and Pop-2 are typical list process-
of “stack,” only the first element of a stack may be
ing languages.
accessed, only the internal sequencing of the list nodes
is needed.
Similarly, queues can be built as lists of elements, External List Representation We begin with
with insertion defined as attaching a new node to the end some simple examples to show what kinds of problems
of the list and deletion the same as a stack’s. To attach are solved by list processing and also how the lists look
new nodes to the end of the list, it is often most efficient as they are used for input and output.
to keep a pointer to the last node as well as the pointer to
the first node; in fact, one might keep both pointers in
another node, thereby combining all the parts into one Traditional Notation List Notation
compound data object.
French to English translation:
Extensions of the List Concept Note that inser- Ou est le Métro? (OU EST LE METRO?)
tion and deletion require a handle on the two nodes on
either side of the insertion or deletion point. This require- Symbolic integration:
ment is a consequence of the single pointer between
nodes—the sequencing information contained therein is
Jxe® dx (INT X * (E ** (X ** 2)))
in one direction only. Doubly-linked lists, in which each Logic:
node contains three fields, a datum, and two pointers, do
not have this requirement. Each node in a doubly-linked CYQMV~ PR) (ALL X (QX) OR (NOT(PX)))
list has a pointer to both its successor and its predeces-
sor, sO an insertion or deletion requires only the knowl- Automatic question answering:
edge of one node. This idea can be generalized into lists Who is on first? (WHO IS ON FIRST?)
whose nodes have any number of pointers to nodes con-
sidered neighbors for one reason or another, and at least The list is a convenient way of representing non-
one list-processing language had this feature. In general, numerical data, such as English sentences, mathematical
though, singly-linked lists are sufficient for most pur- formulas, a position in a game, logic theorems, or com-
poses, with doubly-linked lists common in some applica- puter programs. The structure of a list is a natural way
tions. to represent the structure of data for the computer. By
For some problems, simple lists are not enough. nesting sublists, sub-sublists, etc. one can create list
Sometimes one wants to represent truly infinite lists, such structures of arbitrary complexity. List processing tech-
as a list of all the prime numbers. This kind of infinite niques are especially useful for data that has variable
structure can be built with an extension to the list con- structure, such as languages.
cept, lazy evaluation. The idea of lazy evaluation is to Some of the terms used in connection with list pro-
LISTPROCESSING 757
cessing are used in slightly different ways by different and reference. In this example, each memory word is
writers. Some rough definitions are as follows. divided into a front half and a rear half. Each half contains
the address of another memory word. Each such address
An atom is the basic list element. It is not alist. An atom is represented in the diagram as an arrow pointing to the
corresponds to a word in English. In the examples word to which it refers. The characters of the atoms are
above, EST, INT, **, X and WHO are some of the located in a special part of the memory reserved for
atoms. characters. The arrow pointing to SEE represents the ad-
An element is one item on a list. It may be an atom or dress of a special memory word that represents the atom
another list. Synonyms sometimes used for element SEE. The other arrows pointing to atoms have similar
are node, item, record, entity, and bead. meanings. The special atom NIL is used to mark the end
A list structure is a list whose elements may be atoms of a list.
or lists or list structures. This type of memory organization has several advan-
tages:
A list is represented externally to the computer in
terms of characters, and internally in terms of memory 1. When adding or deleting items in the Fortran
cells. The external representation (shown in the tabu- array representation, it is necessary to move
lated examples above) is designed for the convenience down or move up all elements below the point at
of the user and is used by the computer for input and which the addition or deletion is made, whereas
output operations. The exact rules for writing a list vary in the pointer type of organization, one can add
from one language to another. In the preceding examples or delete an element by changing only two point-
we have used the notation of Lisp. Parentheses indicate ers. If a list is large, this is an important saving of
the beginning and end of a list, and blanks separate time.
atoms.
2. If a single sublist appears in many main lists, it
can be represented by one pointer in each main
Internal List Representation The internal repre- list, instead of repeating the entire sublist many
sentation ofa list is the way in which the computer stores
times. This can save considerable memory
the list in its memory cells. This varies from one language
space.
to another.
3. In Lisp, a sublist of any size can be added to or
An important part of list processing concerns the
deleted from a main list by changing just two
way that lists are stored in memory. To clarify this point,
pointers. Thus, the processing of large sublists is
a comparison will be made between the way lists might
more efficient.
be stored in a conventional language such as Fortran and
the way lists are usually stored in a list-processing lan- 4. In the Fortran array, adjacent elements of the list
guage such as Lisp. are physically adjacent in memory. In Lisp, adja-
Fig. 1 is a simple list—(SEE (THE BIG) DOG)—as it cent elements are linked by pointers, so the
might be stored in a Fortran array and also as it might be memory cells need not be adjacent. This means
stored in the memory of a Lisp system. Each rectangle that any available memory word can be used in
represents one memory cell or word. In the Fortran array, any list. This allows more efficient use of memory
the list is stored in the conventional form of coded char- space.
acters, one atom to a memory word. We assume here that 5. The Fortran programmer must estimate the max-
the words are filled with blanks and are right-justified. imum size of each list and then reserve that
Parentheses indicate the beginning and end of sublists. number of words for each array. In Lisp, the
The same list is represented in a Lisp system in the computer decides where to store lists while the
form of pointers. A pointer is the address of a memory problem is being run. This is called dynamic stor-
word. Other terms sometimes used for pointer are link age allocation and saves programmer effort.
6. Another advantage of Lisp representation is that,
when searching a main list, one can easily skip
FORTRAN LISP
over the sublists if this is desirable, but in the
Fortran representation, one must search through
each sublist in detail.
First we will define the data language that is used in Lisp has few special rules and exceptions. It was de-
Lisp. An “S-expression” (short for symbolic expression) is signed by mathematicians and therefore has the virtues of
the general name for legal input data in Lisp. An S-expres- mathematical elegance and simplicity. The semantics of
sion is either an atom or a list structure. An atom is a string - Lisp are also straightforward. The Lisp system contains a
(sequence) of characters other than blanks or parenthe- program called the interpreter. The interpreter reads a
ses. The start and finish of each atom is indicated by Lisp form and then prints the value of that form. To under-
parentheses or blanks. Numbers are atoms. A list struc- stand a Lisp program (a form), one must know what value
ture consists of a left parenthesis followed by any number the interpreter will produce when evaluating that form.
of atoms or list structures, followed by a right parenthesis. The simplest form is a variable. A variable is any atom
For example, each of the items below is an S-expression. to which a value has been assigned. The value is a pointer
to some S-expression. For example, a variable X may have
DOG
as value a list of three elements (A B C). The other atomic
1984
Lisp form is the constant. A constant is simply a variable
(WHERE IS TURING NOW)
that has been assigned itself as a value. Typical constants
((MCCARTHY) IS MASTER OF (THE DARK TOWER) )
are numbers, T, and NIL. The constant T means “true,” and
(LIST STRUCTURE ((((CAN))) BE (((VERY)))
NIL means “false” and also “end of list.” The QUOTE form is
((C(((DEEP))))))))
written (QUOTE a), where “a” can be any S-expression. The
Let us consider how data is represented internally in value of (QUOTE a) is “a.” The argument is not evaluated.
the computer memory. The memory is divided into two This is how data is put into a program.
parts: free storage and full-word space. The free storage The next kind of Lisp form is the SuBR form (short for
contains the list structure in pointer form, as described subroutine). CAR is a SUBR function that returns the first
earlier. The full-word space contains the characters in element of a list. If X has the value (A B C), then (CAR x)
atoms. has the value A. A companion to CAR is CDR, which returns
An atom is represented internally as a special list in the rest of the list. The value of (CDR x) is (B C). One can
free storage space. The second half of the first word of an use nested CARs and CDRs to isolate any fragment of an
atom is a pointer to the property list of the atom. This S-expression. The names CAR and CpRare historical fossils.
property list contains information about that particular They relate to assembly language on the IBM 704 com-
atom. Some typical properties are print name (a pointer to puter, the first machine on which Lisp was implemented.
the characters of the atom name in full-word space), value The term Car is short for “Contents of the Address part of
(if the atom is a variable), and function definition (if the Register,” and CDR is short for “Contents of the Decrement
atom is a function name). Also, the programmer can add part of Register.”
properties to any atom at will. For example, an atom that The SuBR function CONS (short for construct) is used
is an English word might be given ADJECTIVE or NOUN as a to build S-expressions. CONS takes two arguments. The
property. The Lisp reading routine checks each newly second is an existing list, and the first is anew element for
read atom against a list of all atoms known to the system. that list. If Y has the value A, then (CONS Y x), with X as
If the atom is already known, a pointer to the existing above, has the value (A AB C). Lisp also contains predi-
atom is used. Otherwise, a new atom is created. cates: ATOM is a predicate of one argument. A predicate is
Numbers may also be used in Lisp. They may be either true or false: (ATOM X) has the value T for truth if X
integers, fixed-point, or floating-point numbers. All Lisp is an atom; otherwise, NIL for false.
functions that operate on numbers automatically test the Predicates are particularly useful in conditional
number type and perform needed conversions. The word forms, the Lisp equivalent of a branch instruction. The
NIL is a special atom in Lisp and is used to mark the end of following is a typical conditional form:
a list. By itself, NIL just means the “empty list” ().
(COND ((ATOM X) X) (T (CAR X)))
Programs The language for writing programs in Lisp is
The arguments of a conditional form come in pairs. In
actually a subset of the data language. Therefore, it is easy each pair, the first is the predicate part and the second is
to write Lisp programs that operate on other Lisp pro-
the value part. The interpreter evaluates conditional pairs
grams (e.g. compilers, optimizers, interpreters). from left to right. If the predicate has the value T, the
Lisp has a reputation among programmers as being a
interpreter then evaluates the second portion of the con-
difficult language to use. This is an illusion caused by the
ditional pair and returns this as the value of the entire
unconventional syntactic style of Lisp. Actually, by any
conditional form. If (the value of) the predicate is NIL, the
measure of complexity, Lisp would have to be judged one
interpreter starts to work on the next pair. If X is (ABC),
of the simplest computer languages extant. The basic unit
the value of the sample conditional form above is A, since
of a program in Lisp is the form. A form is usually a
(ATOM X) is NIL and (CAR X) is A.
function with its arguments. Almost all Lisp forms follow
The LAMBDA form is a way of assigning local or tempo-
the basic format: (function arg, arg,...arg,). Other kinds of
rary values to variables. (The name is reminiscent of the
forms are variables and constants, which are just atoms.
lambda calculus, on which Lisp is based.) The LAMBDA form
The only other kind of form is the conditional expression,
consists of aLAMBDA function followed by some arguments.
which has the format: (COND (arg, arg,) (arg, arg,)...).
A LAMBDA function is a list of three elements, for example,
Since one form can be the argument for another, large
programs can be built by nesting. (LAMBDA (X Y).(CONS Y X))
LIST PROCESSING 759
The second element is a list of LAMBDA variables, the is exactly the same, whether the function happens to be
third is a form that uses those variables. Arguments may the same as the one being evaluated or a different one. In
be added to a LAMBDA function to make a complete form the preceding example of the function LAST, the recursion
according to the usual syntactic rule: (function arg, depth will be equal to the number of elements in the list
arg,...arg,). being searched.
The results look more complex than other forms, A Lisp function may also call itself at several different
since the LAMBDA function is a list of three elements, places in its definition (possibly with different argu-
instead of just one atom like the other functions. An ments). A Lisp function may also call itself implicitly. For
example of a complete LAMBDA form is: example, function FNA may Call FNB, which then calls FNA
again. One must take care that a recursive function is not
((LAMBDA (X Y) (CONS Y X)) (QUOTE given a circular definition.
(A B C)) (QUOTE A))
The Reclaimer The reclaimer, or garbage collector, aids
The interpreter first evaluates the arguments. These the dynamic storage allocation in Lisp. It periodically
values are then assigned to the corresponding variables searches memory to locate list structures that are no
on the LAMBDA variables list. The form in which the LAMBDA longer needed. The memory cells in this garbage are then
variables appear (the internal form) is then evaluated, added to the list of available space (free storage) to be
and this value is then the value of the entire LAMBDA form. used in making new list structures. Reclaimers are also
In the preceding example, X will have the value (A B C) used in most other list processing languages.
and Y will have the value A. Thus, the internal form, (CONS
Y X), will have the value (A A B C), and'this will be the
value of the entire LAMBDA form. A Practical Lisp Program As a practical example
An EXPR function is a function written by the Lisp to illustrate the use of Lisp, we will now write a program
programmer. The programmer can make any atom into a to differentiate algebraic expressions. Polish prefix nota-
function by assigning to that atom a suitable Lisp expres- tion is used for the algebraic expressions. Variables may
sion. Below is an example of a simple ExPR function being be indicated by letters of the alphabet, such as X, Y, and
defined and then used. In this example, TIMES means mul- Z. Constants may be indicated by other letters or by
tiply and DEF means DEFINE. numbers. These may be added or multiplied by the spe-
cial symbols PLUS and TIMES, as used in polish prefix
(DEF SQUARE (X) (TIMES X X)) notation:
(SQUARE 9)
(PLUS X A) means X + A
(TIMES 3 X) means 3X
The DEF form in the preceding example will assign, to
the atom SQUARE, an EXPR property with the value (LAMBDA Larger expressions may be built up by nesting:
(x) (TIMES X X)). When evaluating (SQUARE 9), the Lisp inter-
preter will first look up the definition of the ExPR function, (PLUS 3 (TIMES X X)) means 3 + X?
as given on the property list of the atom, and then evalu-
ate the LAMBDA form. Thus, the value of (SQUARE 9) is 81. The program will carry out four mathematical rules
Recursive Functions. A useful property of Lisp is the of differentiation:
ability to evaluate a recursively defined function, i.e. a
function that uses its own name as part of its definition. dX/dX = 1.
For example, dc/dX = 0.
d(PLUS Y Z)/dX = (PLUS (dY/dX) (dZ/dX)).
(DEF LAST(X) (COND eed(TIMES Y Z)/dX = (PLUS (TIMES dY/dX Z)
oie
((ATOM (CDR X)) (CAR X)) (TIMES dZ/dX Y)).
(T (LAST (CDR X)))))
The program to carry out these rules is straightforward.
where LAST searches a list of one or more elements and The top-level function, call Dir, takes two variables—E, the
returns the last element of that list. (ATOM (CDR X)) is true expression to be differentiated, and x, the variable of
only if X is a list of just one element. If X is a list of two or differentiation. Also, DIF uses a conditional form to decide
more elements, LAST Calls itself and shortens the list by which of the four rules should be applied. The fifth alter-
removing the first element. Eventually, the list is short- native is an error message, in case none of the four rules
ened to just one element. Then (CAR x) is returned, which applies.
is the last element of a one-element list. The subfunction DIF] applies rule three above. DIF2
How can a recursively defined function be evaluated? applies rule four. DIFl and DiF2 each take three argu-
When the Lisp interpreter is evaluating an EXPR function ments—E2, E3, and X. E2 and E3_are the second and third
and it encounters another call of the same function, it elements of the expression E, which was given to DIF. The
simply obtains a pointer to the definition from the prop- form (CAR (CDR E)), which occurs in DIF, obtains the second
erty list of the atom. The interpreter saves its place in the element of E. The form (CAR (CDR (CDRE))) obtains the third
old definition by putting a pointer on an internal structure element of E. The last subfunction, DIF3 is called by DIF2 to
known as the pushdown stack. The evaluation procedure handle the innermost part of the TIMEs differentiation rule.
760 LIST PROCESSING
Note that DIF1 and DiF3 call DiF, the top-level function. series of Fortran subroutine calls. This makes it easy to
Thus, DIF is a recursive function. This recursive design use standard Fortran subroutines with a Slip program.
allows DIF to differentiate expressions that are nested to Data is represented in memory by Slip cells. A Slip
any depth. Thus, this simple program can handle alge- cell is two or three memory words (depending on the
braic expressions of arbitrary complexity. Here is the implementation) that are physically adjacent. The cell
program listing. represents one element of a list. It contains a pointer to
the next cell on the list, a pointer to the preceding cell on
COET OTE CELA). (COND
the list, and some alphanumeric data. The data may be an
CREE Ade 1)
atom or the name of another list.
((ATOM E) 0)
Since Slip cells contain pointers in both directions, it
CCEO™CCAR ED (QUOTE PLUS)
is as easy to search a Slip list backward as it is to search
(DIF1 (CAR (CDR E)) (CAR (CDR (CDR E))) X))
it forward. This is why Slip lists are called symmetric.
(CEQ CCAR E) COUOTE TIMES)) Many Slip functions come in pairs—one forward and one
(DIF2 (CAR (CDR E)) (CAR (CDR (CDR E))) X))
backward. In most other list processing languages, the
(T (CONS (QUOTE ERROR) E))))
programmer must save a pointer to the start of a list and
(OER AD EF ISCEZ LES xX) seCOONS -CQUOTE. PLUS)
start from there if any backtracking is necessary.
CCONSE (DIPS E2=X)
The language Pop-2 is a descendant of Lisp and Algol.
CCONS (DIE ES X) NIL)))
It was developed by R. J. Popplestone in the Department
(UEPSDIr2 (re tae.) X CONS (QUOTE PLUS)
of Machine Intelligence and Perception at the University
CCONS “(DIFS "EZ E3"X)
of Edinburgh. Programs written in Pop-2 look very much
CCONS= (DEPS=ESeEc x) NIE)"
like Algol. Pop-2 is a very general language with many
GDEPSOLES CEZ NES sk eeGCONSCOUQTE yhLMES)
ingenious features. It might be described as a combina-
(CONS E2
tion of Algol and Lisp. The pushdown stack is accessible
COONS SCD.DE SE 3. X) NL ),).).)
to the programmer. The compiler is a subroutine that can
Below is a use of the DIF and the value that is returned be called by a program. An automatic reclaimer is avail-
by the computer. The problem is to differentiate 3X2: able. Pop-2 is also extensible with little difficulty in terms
of data structures and the programs to handle them.
(DIF (QUOTE (TIMES 3 (TIMES X X))) (QUOTE X))
to get the result 6X (= 3(X + X) + X?- 0)
Extensions and Applications
CrLUo SiMe os (CPLUSTCTIMES X 1) (TIMES X
Do CL MES. (TEMES xX. 0)2092) 1. Data types. The programmer is allowed to define
new data types in a convenient way. Examples
It is obvious that this program could use a subroutine to
are n-tuples, unordered sets, etc.
simplify the answers.
2. Control structures. Multiarchies are now replacing
hierarchies. In a hierarchy, the program control
Other List Processing Languages IPL-V is the structure is like that of a tree. Multiarchies allow
grandparent of all list processing languages. It was devel- greater freedom. In some languages, any subrou-
oped by Allen Newell and his associates at the RAND tine may call any other. Two subroutines may be
Corporation and later at Carnegie-Mellon University. IPL executed simultaneously (simulated). Condi-
is an acronym for Information Processing Language, a tional interrupts, known as demons, are some-
choice that reflects the lack of competition when the times used.
name was selected. IPL-V is the fifth member of the IPL 3. Deduction. Built-in deductive mechanisms allow
family. IPL-V was the first language to use lists made of the programmer to specify what result is desired
memory cells linked with pointers, but garbage collection without telling the computer exactly how to doit.
was the programmer’s responsibility. Planner, Conniver, MicroPlanner, and Popler are
The programming language Comit (see STRING PROCESS- four languages with powerful deductive capabili-
ING) was originally designed for research on the mechani- ties.
cal translation of Russian into English. It was based on the 4. Pattern matching. The style of matching found in
notations used by some linguists working on this problem. Comit has been extended in other languages,
Comit was generalized into a general-purpose language such as Snobol-4 and Icon (see STRING PROCESS-
sufficiently powerful to perform any data processing task. ING). Patterns for matching are known as “skele-
In addition to the usual list processing advantages of auto- tons,” or “templates.”
matic storage allocation and efficient manipulation of 5. Knowledge representation (q.v.). Special features
strings, Comit has pattern-matching capability. make it easy to put domain-specific knowledge
The language Slip differs from other list processing into the computer. One example is KRL (Knowl-
languages in two main ways: It is embedded in Fortran and edge Representation Language), developed by
uses symmetric lists. Embedding in Fortran means that, Bobrow and Winograd.
except for a small number of assembly language subpro- 6. Symbolic mathematics. For example, the pro-
grams, all Slip primitive functions are written in the form grams Macsyma, Mathematica, Reduce, Derive,
of Fortran subprograms. Slip programs are written as a and Maple are used by researchers all over the
LITERATE PROGRAMMING 761
world to perform symbolic mathematical opera- actual program. Efficient means are provided to extract
tions, such as integration, differentiation, expan- the program code from the literate program so that it may
sion, simplification, and solving differential be compiled or processed in the usual way. Consider the
equations (see COMPUTER ALGEBRA). following extract from the source of a literate program
7. Hardware execution. Computers have been built that illustrates interleaving of code, documentation, and
for the direct hardware execution of Lisp pro- macros. The @ signs are a system convention for intro-
grams. Such computers are known as Lisp ma- ducing various literate programming features.
chines.
8. Automatic programming. Research continues on
automatic program synthesis from axiomatic
specifications, from information specifications,
@*Insertion sort
or from examples. Automatic documentation and
This is the standard insertion sort
proving programs to be correct are other active algorithm.
research areas.
Assumes a sentinel at $a[0]$.
9. Common Lisp. Common Lisp (Winston and Horn,
@p
1989; Koschmann, 1990; Steele, 1990) combines TOR p= 2 von do
the best features of previous dialects of Lisp. It is begin v := alil; j :=7;
the commercial standard and is supported by @Insert...@)
many computer manufacturers. end
@
References @<Insert $v$ in the array@>=
1961. Newell, A. (Ed.). Information Processing Language-V Manual. whit ecalg=1) > .vedo
Englewood Cliffs, NJ: Prentice-Hall. begin al jJ.:= aljqli; j.2=.j-1 end:
1971. Burstall, R. M., Collins, J.S., and Popplestone, R. J. Program- aCj] := v
ming in POP-2. Edinburgh: Edinburgh University Press.
1971. Findler, N. V., Pfaltz, J. L., and Bernstein, H. J. Four High Level
Extensions of Fortran IV: SLIP, AMPPL-II, TREETRAN and SYM-
BOLANG. New York: Spartan Books.
1989. Winston, P. H. and Horn, B. LISP, 3rd Edition. Reading, MA: The example shows the use and definition of amacro
Addison-Wesley. called <Insert $v$ in the array>. Note also that
1990. Koschmann, T. The Common LISP Companion. New York: macro names may be abbreviated (e.g. <Insert..>),
John Wiley and Sons. which encourages programmers to use mnemonic names.
1990. Steele, G. L. Common LISP, 2nd Edition. Bedford, MA: Digital The $ symbols tell the literate programming system to
Equipment Corporation.
typeset and cross-reference certain text as code rather
JAMES R. SLAGLE than as commentary. The result of processing the exam-
ple fragment is shown in Fig. 1.
Literate programming need not be confined to pro-
gramming languages and conventional documentation of
LITERACY, COMPUTER. See Computer Lir- programs written in those languages. The idea of com-
ERACY. bining different types of text to make them easier to
maintain together is quite general. Kurokawa [1985] ex-
hibits a runnable Pascal program documented in Japan-
ese, and another obvious application is the combination
LITERATE PROGRAMMING of-formal specification with conventional program. The
For articles on related subjects see DOCUMENTATION; MACRO- symbolic mathematics system Mathematica uses a form
INSTRUCTION; METAFONT; STRUCTURED PROGRAMMING; and TEX of literate programming in its “notebooks” (see Wolfram,
1988). Mathematica allows mathematical articles to be
Literate programming is a system of combining pro- written, mixing text with mathematical formulas that can
gram and internal documentation so that they may be be evaluated. No cross-referencing is provided, but, as
co-developed with ease. A literate programming system with literate programming, the very close proximity of
provides automatic aids to readability such as substantial “documentation” and “code” helps ensure their mutual
cross-referencing, indexing, and pretty-printing. Special correspondence. Other possibilities and advantages are
macro processing allows the program to be written in any suggested in Thimbleby (1986).
order to improve and simplify the exposition. Macros are Literate programming was developed by D. E. Knuth
numbered automatically so that their usage is easily in the late 1970s and has been used most successfully in
cross-referenced. the implementation and documentation of his large type-
A literate programming system converts documenta- setting system, TEX. The clarity resulting from the tech-
tion and code into beautifully typeset material with no nique has been instrumental in the range of its successful
additional effort by the programmer. All features combine implementations. Knuth’s programs are unique in being
to simplify and encourage the documentation process published in their entirety as readable books (see Knuth
and to keep it in very close correspondence with the 1986). Other programs have also been published, of
762 LITERATURE OF COMPUTING
FIG. 1.
course, but they are not as readable, nor are they in (for instance, Whittaker and Robinson’s Calculus of Obser-
exactly the form in which they may be compiled and run. vations, Scarborough’s Numerical Mathematical Analysis,
and Eckert’s Punch Card Methods in Scientific Computa-
References tion) could, in retrospect, be said to have dealt exclusively
with computing, although their subject matter was then
1984. Knuth, D.E. Literate Programming, “ Computer Journal, 27, 2,
97-111. considered to be part of applied mathematics. Contrary
1985. Kurokawa, T. “Literate Programming,” BIT 17, 4, 426-450. to legend, science fiction literature did not foreshadow
(pub. Kyoritsu Shuppan). Japanese translation of Knuth the stored program digital computer, and except for the
(1984). machine for writing books discovered by Captain Lemuel
1986. Knuth, D. E. “Computers and Typesetting Series,” TeX: The Gulliver on the flying island of Laputa (as reported in 1726
Program, Vol. B; METAFONT: The Program, Vol. D. Reading, MA: by Jonathan Swift), did not mention computers at all.
Addison-Wesley. Since then, the situation has changed completely. We
1986. Thimbleby, H. W. “Experiences of ‘Literate Programming’
encounter computers and their literature everywhere and
Using cweb (A Variant of Knuth’s WEB),” Computer Journal, 29,
every day. Chain bookstores have several shelves exclu-
3, 201-211.
1988. Wolfram, S. Mathematica. Reading, MA: Addison-Wesley. sively devoted to computer books and special magazine
1989. Knuth, D. E., Larrabee, T., and Roberts, P. M. “Mathematical racks displaying current issues of the most popular com-
Writing,” MAA Notes, 14. Washington, DC: Mathematical Asso- puter periodicals. More than 500 magazines and newspa-
ciation of America. pers are published worldwide, covering everything from
1991. Cordes, David and Brown, Marcus. “The Literate-Program- Artificial Intelligence (g.v.) to Unix (g.v.). Only doctors
ming Paradigm,” Computer (IEEE), 24, 6 (June) 52-61. have more professional periodicals. Computer books in
print exceed 5,000. In addition, there is a wide variety of
HAROLD THIMBLEBY
constantly replenished other literature such as research
reports, trade publications, theses, patents, proceedings
of conferences, abstracts and indexes, dictionaries, ency-
clopedias, data compilations, and product catalogs. Each
LITERATURE OF COMPUTING year, many thousand technical and popular articles about
Before 1947, the only computing literature concerned computing are published. The computer is a common
analog computers (then called “analyzers”), punched part of the background of all current writing, reporting,
card machines, and calculations made with pencil and fiction, non-fiction, stage and TV drama, and movies. _
paper or desk calculators. No periodicals were devoted to The literature of computing, especially original tech-
the subject. The literature was sparse, entirely technical, nical publication, is almost entirely in English. In the past
and was scattered through the publications of mathemat- half-century, the few commercial efforts to provide English
ics, statistics, physics, electrical engineering, and other translations of Russian and Japanese computing literature
sciences, especially astronomy. At that time a few books have failed for lack of source material as well as customers.
LITERATURE OF COMPUTING 763
Bibliographic and Basic Literature Computer Literature Index—A quarterly devoted to U.S.
trade publications, general business and manage-
Guides and Lists There are no overall summaries or lists
ment periodicals, and the less esoteric and aca-
of all computer literature, other than the usual library ref-
demic publications of the professional societies.
erences such as Books in Print, which contains several
Most entries include a one-sentence abstract.
dozen categories relative to computing and programming.
Computing Reviews—U.S. orientation. Strong in pro-
Since 1960, the Association for Computing Machinery
gramming, software, and theory. Unique in that
(ACM) has published annual indexes to the technical
reviews are critical and signed. Occasionally com-
literature, ACM Guide to Computing Literature. The Guides
pares several books in a single review.
include references to everything reviewed in the monthly
Computing Reviews plus 15,000 to 20,000 additional cita-
Glossaries, Dictionaries, and Encyclopedias The glos-
tions from all major publishers in the computing field,
sary that should be on the shelves of all serious computer
including scholarly journals and trade magazines. They
users is A Glossary of Computing Terms: An Introduction,
provide the most comprehensive coverage of the techni-
edited by the British Computer Society and published by
cal literature for the year. The Guides’ emphasis on the
Cambridge University Press, 1989. Its 92 pages are beauti-
technical and neglect of the popular, including personal
fully produced and illustrated and its definitions are con-
computing, reflects the orientation of the ACM. The Guide
cise and accurate. The Computer Glossary by Alan
is available in printed form, as a CD-ROM product, as well
Freedman, AMACOM, 19839, is a longer alternative that is
as on-line on Dialog through the Math/Sci file and on the
more directed toward personal computing.
CompuScience file of STN.
The best current dictionary is Que’s Computer User's
Lists of several hundred technical periodicals giving
Dictionary by Bryan Pfaffenberger, published by Que Cor-
addresses are printed annually in Computing Reviews and
poration, 1990. It is written to be read with informative as
quarterly in Computer Literature Index. These lists are
well as advisory entries. The book you are reading was
added to but seldom thinned out and consequently in-
the only one or two-volume encyclopedia until 1992 when
clude too many titles of the deceased.
Encyclopedia of Computers, edited by Gary G. Bitter, was
The abstract journals listed below publish bibliogra-
published by Macmillan. It contains about 210 articles in
phies on specific subjects at irregular intervals. The arti-
1,000 pages in two volumes. The only possible alternative
cles in Computing Surveys will often include reference lists
to these is a badly outdated 12-volume giant, the Encyclo-
that amount to comprehensive subject bibliographies.
pedia of Computer Science and Technology, edited by Jack
The ACM Special Interest Group newsletters will some-
Belzer et al. (Dekker, 1975-1979).
times publish bibliographies. Now and then, some in-
trepid librarian will attempt to publish a list for a narrow
Annual Reviews The publication of annual review vol-
fashionable specialty (e.g. Expert Systems (q.v.) or Net- umes, popular when computers were new, has apparently
works (q.v.)), but the flood of material soon overwhelms proven unprofitable, the only survivor being Advances in
and outdates all efforts. Computers (Academic Press), which started in 1960.
There is no comprehensive listing of miscellaneous
literature. Publication catalogs of the principal computer Introductory Books Out of the hundreds of introduc-
societies list their available conference and symposia
tions to computers for laypeople, the best combination of
proceedings and reports of their technical and special-in- easy reading, accuracy, and attractive illustrations is the
terest divisions. first volume of the Time-Life series, Understanding Com-
puters. The later volumes are less satisfactory.
Abstracts Although most of the significant original tech-
nical material on computing appears in a relatively small
number of core journals, there is some relevant material Texts and Professional Books
in the journals of other disciplines. Computing is now
recognized as a science and a technical art in its own Introductory Texts Any of the following four books will
right, but it is also an important service discipline, and give a good, well balanced introduction to academic com-
thus much computer literature is interdisciplinary. Cur- puter science. They all use Pascal. Detailed critiques ap-
rent abstracting services ameliorate this problem of vol- pear in Computing Reviews for June 1990:
ume and scatter of computer literature to some extent. Introduction to Computer Science: A Structured Problem
The principal abstract services listed below overlap in Solving Approach, by Ali Behforooz and Onkar
their coverage of periodicals, conference proceedings, Sharma (Prentice-Hall).
research reports, patents, books, movies, and academic Principles of Computer Science: Concepts, Algorithms,
theses. No one service attempts to cover everything. All Data Structures, and Applications by M. S. Carberry,
but one are issued monthly, have indexes, and regularly A. T. Cohen, and Hatem M. Kahalil (Computer Sci-
publish cumulative indexes. ence Press).
Computer Abstracts—U.K. and international orienta- Introduction to Computer Science (3rd Ed.) by Neill Gra-
tion. Strong in applications. ham (West Publishing Co.).
Computer and Control Abstracts—U.S. and U.K. orienta- Computer Science 2: Principles of Software Engineering,
tion. Strong in computer hardware, control technol- Data Types, and Algorithms, by Henry M. Walker
ogy, and subjects related to electrical engineering. (Scott Foresman).
764 LITERATURE OF COMPUTING
Classic Texts Several hundred publishers produce col- ies. Academic periodicals report original results, are ref-
lege textbooks on computing, at least half amounting to ereed, and are published for the benefit of the authors and
instructional manuals on programming, with Fortran, their peers. Commercial periodicals interpret original re-
Cobol, Basic, Pascal, and C being the most popular lan- sults for practitioners, report and evaluate new products
guages. Since 1980, publishers have given up publishing and practices, are professionally edited for clarity and
general computing books and have focused narrowly on interest, and are published to sell the products of their
machines, systems, particular software packages, and lan- advertisers. News publications are a form of commercial
guages, but some of the older texts are classics that have publication in which content currency is the most signifi-
stood the test of time and are still fully accepted and often cant criterion.
referenced. They are:
Academic Periodicals The best are those of the princi-
The Art of Computer Programming, by Donald E. Knuth pal societies. None have circulations of more than
(Addison-Wesley, 1968-1973), is a three-volume om- 100,000, the size of the two major societies, and most have
nibus survey of computer science written with style less than 10,000. They are: The Journal, Communications,
and wit. It has been recognized for two decades as and Transactions (on Mathematical Software, Database
the definitive statement of the fundamentals of com- Systems, Programming Languages and Systems, Information
puter science. Systems, Computer Systems, Graphics, Software Engineering
The Psychology of Computer Programming, by Gerald and Methodology, and Modeling and Computer Simulation)
Weinberg (Van Nostrand Reinhold, 1