100% found this document useful (1 vote)
61 views

Encyclopedia of Computer Science & Engineering

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
61 views

Encyclopedia of Computer Science & Engineering

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1604

ENCYCLOPEDIA OF

COMPUTER SCIENCE
THIRD EDITION
Edited by Anthony Ralston and Edwin D. Reilly

Since 1976 the Encyclopedia of Computer Science has


been the authoritative reference that computer
professionals, engineers, scientists, and lay readers
have turned to again and again for concise yet
thorough guidance in important areas of computer
science and technology.
Still the only one-volume resource to cover every
major aspect of the field, the new edition of this
influential work has been substantially expanded,
updated, and revised to reflect the latest
developments in computer science and technology
since publication of the second edition in 1983.
This edition contains 175 completely new articles
on issues ranging from algorithmics to computational
geometry, fiber optics to logic programming, network
protocols to window environments. In addition, the
550 articles from the previous edition have been
rigorously examined—most have been significantly
updated, while approximately 100 articles have been
merged with new material or deleted because of
obsolescence.
What truly distinguishes the Encyclopedia from
other reference sources is the sheer amplitude of each
of its more than 700 entries. Far more than mere
“definitions,” each of the articles elaborates on the
topic at hand, providing readers with the kind of
substantive discussion they can readily apply to their
work. Each article has been written by a distinguished
computer specialist—and selected by the Editors in
consultation with an editorial board composed of
internationally-acclaimed experts.
Like the articles, the more than 700 illustrations,
tables, and charts have undergone the same tough
editorial scrutiny—many have been made more
current, and extensive new illustrations have been
added to give this edition an unequaled visual power.
The Encyclopedia now offers a unique 12-page color
insert that spotlights advanced computer applications,
providing vivid evidence of the explosive growth of
color graphics technology over the past decade.
The Encyclopedia offers another new and
innovative way of highlighting breakthroughs in
computer science and technology—an historical
timeline that pinpoints discoveries from the “Big Bang”
to the present. Tucked between that huge span of time
you'll find such pioneers as Charles Babbage, who in
1822 designed and partially constructed a Difference
Engine, and Thomas Edison who, in writing to a friend
in 1878, first coined the term “bug”—some 65 years
before it became an integral part of the computer
lexicon.
At the same time, the Encyclopedia has retained
many of the features that made the first two editions
so popular. All articles are classified under nine main
headings:
e Hardware e Theory of Computing
e Software ¢ Methodologies
e Computer Systems e Applications
e Information and Data e Computing Milieux
e Mathematics of Computing

(continued on back flap)

A Van Nostrand Reinhold Book


Encyclopedia
of Computer
Science
_| THIRD EDITION
“yomaa asi |
7

i ;
.
vad P .

ate

} ) | oC

a
Encyclopedia}
of Computer
Science
THIRD EDITION

Editors:

Anthony Ralston
Edwin D. Reilly

Managing Editor:

Caryl Ann Dahlin

VAN NOSTRAND REINHOLD


ee ee ee NEW OLK
Copyright © 1993 by Van Nostrand Reinhold

Library of Congress Catalog Card Number 92-14553


ISBN 0-442-27679-6

All rights reserved. Certain portions of this work ©1983, 1976 by


Van Nostrand Reinhold. No part of this work covered the copyright
hereon may be reproduced or used in any form or by any means—graphic,
electronic, or mechanical, including photocopying, recording, taping,
or information storage and retrieval systems—without written permission of the publisher.
Printed in the United States of America
Van Nostrand Reinhold
115 Fifth Avenue
New York, New York 10003
Chapman and Hall
2-6 Boundary Row
London SE1 8HN, England
Thomas Nelson Australia
102 Dodds Street
South Melbourne 3205
Victoria, Australia
Nelson Canada
1120 Birchmount Road
Scarborough, Ontario M1K 5G4, Canada
6m Dela 3a Ze ll OROr St (e07 on4eon 21

Library of Congress Cataloging-in-Publication Data

Encyclopedia of computer science / Anthony Ralston, Edwin D. Reilly,


editors ; Caryl Ann Dahlin, managing editor.
p. cm.
Includes bibliographical references and index.
ISBN 0-442-27679-6
1. Computer science—Encyclopedias. 2. Information science-
-Encyclopedias. |. Ralston, Anthony. Il. Reilly, Edwin D.
QA76.15.E48 1992
004’ .03—dc20 92-14553
CIP
CONTENTS

Editorial Board vi

Contributors vii

Preface to the Third Edition xiii

Editors’ Foreword XV

Classification of Articles xvii

Trademarked Items XXV

ENCYCLOPEDIA 1-1445

Appendices

I. Abbreviations and Acronyms, Mathematical Notation, Units of


Measure 1447

ll. Numerical Tables (Powers of Two, Numerical Constants) 1461

Ill. Computer Science and Engineering Research Journals 1465

IV. Ph.D.-Granting Departments of Computer Science and


Engineering 1467

V. Key High-Level Languages 1471

VI. Glossary of Major Terms in Five Languages 1479

VII. Timeline of Significant Computing Milestones 1485

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

Eric A. Weiss (Chair)


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”

| Chee ADDIE Mit etepes.! Lengfete he Shear PA oak, Sin :


au he > TA wens? laierma fhsay Pees a erar
* ef cySY citaren He MIRica ae
iu: ge Rh EAE, axtpiouagd. Wow dt es
7 NPY, . ’ Se cenit eres aap SRE Anorectalin
- ) ee ate rel iz GPereuddanwenat ae ; é
= bona W Teew, QcBid ponte unit oud _ eal Biomemes
POREhyleer
Atehans) Woy tapedetih peti, SopaaAd hae, ’

pata tegen mis casio) Bias oy Valet. - j veel


<.
Laan. Ce ‘wdate, TM Boqausibed te. ens
ore,ate
# set pAlb
i Dated en cgay ME armenghkariett | ae ene ag
skeen PVA toysl) sniS Trek - $n Mare 2 a
Nipia howd siolfints da, IE).aie vesibenies = pcan a i,
a ' te AegtT Jardiet: re \ wees, hie ie
Seco piyiian isMadani 985 aren (ei rergio
Ese. Ser, 692, Pur LEO. 10 1, sae Pt BY oh sastt head
DU, omnes Para, of Dgaiertia (bine a ong a5, a, A we.
} me oy Mee haonpagtiy’,”
oar Sue ol ewe Gh hee g he k-2- an
aed ce
:
are’
él hehe wile Pres tier 0Shiai at Chia roy
as
ee fio
ue ety ahh
bist 1 Sy of uate’ ha wou « peas re rea ne
+wollnyVibaiys) @y xf.“ 2) 4 wa (homedt deverss, ST a a?
mis idiiersi*) ta. — =) ~ Gr gh ‘ rh ‘tse

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 .

oe 6. 32. Ti me! seer, ang


Shtney & Bons meagan
iid, en cae se 7 7
nae t
Aon try ‘hereoss
_ re a rad ® a é -
bus headin<a
a teh © & Arya i Sera ein i i mitiyn: Te ayia, V0 ws a
—- snd papin® (omtg ' a8 a ee Al a ae
- [ 7 peasy | %

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

‘puede Af i Ldatp Gaa

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 :

ftquis—iaesl fos “ideale hie— tees ie Per eo Me


is nfidieatae warts
dapaiell aiteoaeet) pronooto AG sped heowiatts ok tedlegne & ek podeGutes bole
pas 7 coma :
mache damit Sinan) to olnegehaneya.o7 RAvgEN: mee.)
treovaiite
ye atiud-—ad biges worm oA) canition teh ait ie
done Od eelttvcagia op yrtlieactohiyrat avn! ow Qauipe
Leahey?poota aen A enattthe boreianp fiomareyr: ts

AS) Yo akkemolemna eacilhs beer astm weys migneyt cA


al iad blup, cad i trance twin sane a are melee abe
tenes to «inayed “kn eoalg io” alt Haste |
jaia euele
W xneviilers setSs? ciilnes ett a baalasiiq nme
W anidiersbianco potted. sieve one Of Sits afti
Dei 22Do9 yun ic 1fret fh a ie fui onsw onal (un ata
miPet ie
| lsh pedi = ss pik inl cohMita
Gio, Sarewais’, SE) Sra | Rage aah:Stee seb

- i ten how socaihiny fone Sows oA7 isroit,


ia ais le peas awd wod Ao estasl onal etosmdiog
: alue istonibba inf beewqintiad blu: ebsquingris
PY so tunt ie arovie gis brill eeuly IME Therww ds 9h :
satbolita
; aq aswethoqoly and witires Hitt”, aneevrey Inmhaing
Belilons& svaitos OF qe am ah doteieot mies fom
an ob—wolvas too lalteere)—anors 16.tedaiin
@hd af test 88 Diveie comohanauoie®? RA) anal vent
bool may oon) / viflgniqit 2A OMG i.
roie Y¥, Sua * 4A <invd iit ai: biothisk

—-

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.

1. *HARDWARE Front-End Processor 572


Laptop Computer 738
Mainframe 811
*TYPES OF COMPUTERS Microprocessors and Microcomputers 874
Embedded System 509
Systolic eee 1345
Abalog Comvita
Differential Ss
Analyzer 432 Minicomputer 889
Digital Computers 434 Supercomputers 1317
Calculating Machines 157 Workstation 1442
Calculators, Electronic and Programmable 162
Hybrid Computers 626
Data Acquisition Computer 381
Transputer 1389
Database Computer 412
XVii
XViii. = CLASSIFICATION OF ARTICLES

COMPUTER ARCHITECTURE 245 Latency 739


Memory-Mapped I/O 868
Addressing 14 Multiplexing 901
Computers, Multiple Address 333 Paper Tape 1009
Indirect Address 651 Port, Memory 1068
Input-Output Instructions 677 Punched Cards 1138
Instruction and Data Representation 683 Input-Output Control Systems (IOCS) 672
Instruction Set 684 BIOS 130
Open Architecture 964 Logical and Physical Units 789
Parallel Processing: Architectures 1015 *Input-Output Devices
Program Counter 1107 DSU/CSU 486
Register 1159 Interactive Input Devices 696
Base Register 120 Mouse 900
General Register 579 Modem 892
Index Register 651 Optical Character Readers (OCR) 993
RISC Architecture 1165 Punched Card Machinery 1136
Storage Hierarchies 1290 Terminals 1348
Stored Program Concept 1299 Memory: Auxiliary 855
von Neumann Machine 1425 Block and Blocking Factor 131
COMPUTER CIRCUITRY 271 CD-ROM 165
Floppy Disk 557
Adder 12 Hard Disk 595
Bit Slicing 131 Videodisc 1415
Integrated Circuitry 687 Volume 1424
Logic Design 775 Memory: Main 849
Microcomputer Chip 872 Associative Memory 100
Motherboard 900 Cache Memory 153
Superconducting Devices 1329 Local Store 774
DIGITAL COMPUTERS: GENERAL PRINCIPLES 434 Lockout 775
Memory Protection 868
Access Time 5 One-Level Memory 963
Cycle Time 375 Read-Only Memory (ROM) 1148
Interleaving 699 Ultrasonic Memory 1403
Microprogramming 882 Williams’ Tube Memory 1433
Synchronous/Asynchronous Operation 1340
Throughput 1374 HARDWARE DESCRIPTION LANGUAGES — 597
*DIGITAL COMPUTER SUBSYSTEMS HARDWARE RELIABILITY 604
Bus 146 Cyclic Redundancy Check 376
Wait State 1427 Fault-Tolerant Computing 547
Central Processing Unit (CPU) 167 Hardware Verification 608
Arithmetic-Logic Unit (ALU) 76 Redundancy 1157
Interrupt 706
Interval Timer 711 MAINTENANCE OF COMPUTERS 811
Channel 168
Communication Control Unit 196 OPTICAL COMPUTING 1000
FileServer 554
Firmware 557
Front End Processor 572
*Input-Output Principles and Terminology 2. COMPUTER SYSTEMS 323
Access Time 5
Analog-to-Digital and Digital-to-Analog Converters 62
Bandwidth 116
*ACCESS-BASED SYSTEMS
Buffer 142
Channel 168 Data Acquisition Computer 381
Contention 352 Interactive System 699
Cycle Stealing 375 Window Environments 1434
Cylinder 378 Processing Modes 1104
Direct Access 467 Teleprocessing Systems 1347
Interlock 700 Time Sharing 1376
Interrupt 706 Transaction Processing 1386
CLASSIFICATION OF ARTICLES xix

*STRUCTURE-BASED SYSTEMS DATA MODELS 399


Database Computer 412 DATA SECURITY — 403
Dataflow: Principles 416
Distributed Systems 476 Computer Virus 329
Embedded System 509 Privacy, Computers and 1073
Front-End Processor 572 DATA STRUCTURES 406
Host System 619
Multiprocessing 904 Abstract Data Type 1
Networks, Computer 924 Encapsulation 511
Local Area Network (LAN) 771 Information Hiding 657
Metropolitan Area Network (MAN) 870 Class 178
Network Architecture 920 DataType 411
Parallel Processing: File 553
Principles 1011 Directory 467
Concurrency Control 348 FileServer 554
Concurrent Programming 349 Login File 792
Architectures 1015 Open and Close a File 963
Systolic Array 1345 Scratch File 1185
Algorithms 1025 Graph Theory 584
Languages 1028 List Processing: Principles 754
Pointer 1064
Queueing Theory 1141
Record 1154
3. INFORMATION AND DATA 653 Stack 1272
String Processing: Principles 1302
Tree 1390
CODES 180 INFORMATION ACCESS 652
ASCII 90 INFORMATION PROCESSING — 659
Baudot Code 121
Binary-Coded Decimal (BCD) 124 INFORMATION RETRIEVAL — 660
EBCDIC 489
INFORMATION SYSTEMS 667
Error-Correcting Code 531
Universal Product Code 1406 INFORMATION THEORY _ 671
CRYPTOGRAPHY, COMPUTERS IN 369 MEMORY MANAGEMENT 863

DATA COMMUNICATIONS: Virtual Memory 1420


Principles 381 Working Set 1441
Software 387
Standards 392

Baud 121 4. SOFTWARE 1214


Bus 146
Communication Control Unit 196
Communications and Computers 198 APPLICATIONS PROGRAMMING 72
Conditioning 351
Cyclic Redundancy Check 376
GROUPWARE 588
DSU/CSU 486 LOGIC PROGRAMMING: PRINCIPLES 778
Fiber Optics 549
Gateway 578 MACHINE AND ASSEMBLY LANGUAGE PROGRAMMING
Handshaking 595 799
Integrated Services Digital Network (SDN) 693
Assembler 92
Modem 892 Calling Sequence 163
Network Protocols 921 Disassembler 469
Open Systems Interconnection (OSI) 964 Masking 819
Packet Switching 1007 No-op 934
Parity 1031 Shifting 1198
Polling 1068
Protocol 1135 OBJECT-ORIENTED PROGRAMMING 959

DATA COMPRESSION AND COMPACTION = 396 OPERATING SYSTEMS 966


XX CLASSIFICATION OF ARTICLES

Operating Systems: Contemporary Issues 980 Loop 795


Accounting System, Computer 7 Loop Invariant 796
Command and Job Control Language 193 Object-Oriented Programming 959
Monitor 898 Operand 965
Shell 1197 Package 1007
Time Sharing 1376 Program 1106
Unix Operating System 1407 Calling Sequence 163
Operating Systems: General Principles 966 Coroutine 367
Boot and Reboot 140 Object Program 962
Concurrency Control 348 Reentrant Program 1158
Directory 467 Source Program 1263
Job 715 Subprogram 1315
Kernel 717 Procedure 1087
Login File 792 Statement 1280
Memory Protection 868 Declaration 423
Multiprogramming 907 Executable Statement 535
Multitasking 910 Guarded Command 589
Overhead 1005 Macroinstruction 809
Privileged Instruction 1074
Scheduling Algorithms 1173 PROGRAMMING LANGUAGES — 1121
Software Configuration Management 1216
Assembler 92
Supervisor Call 1330
Authoring Languages and Systems 104
Thrashing 1374
Compiler Construction 207
Time Slice 1380
Compile and Run Time 206
User Interface 1411
Compiler-Compiler 206
Virtual Memory 1420
Working Set 1441 Cross Assemblers and Compilers 369
Load-and-Go Compiler 768
Preprocessor 1072
PROCEDURE-ORIENTED LANGUAGES: PROGRAMMING
1091 Command and Job Control Language 193
Dataflow: Languages 418
Checkpoint and Restart 174 Decision Table 422
Concatenation 347 Extensible Language 541
Concurrent Programming 349 Functional Programming 573
Debugging 419 Language Processors 727
Bug 143 List Processing: Languages 756
Diagnostic 429 Garbage Collection 577
Dump 487 Literate Programming 761
Errors 532 Logic Programming: Languages 783
Trace 1385 Nonprocedural Languages 934
Exception Handling 535 Parallel Processing: Languages 1028
Functional Programming 573 Problem-Oriented Languages 1077
Iteration 712 PostScript 1069
List Processing: Principles 754 Simulation: Languages 1208
Literate Programming 761 Procedure-Oriented Languages: Survey 1088
Modular Programming 898 Ada_ 10
Object-Oriented Programming 959 Algol 68 26
Parameter Passing 1030 Cenrlsi
Programming Support Environments 1134 Forth 565
Recursion 1154 Logo 792
Activation Record 9 Modula-2 895
Side Effect 1199 SETL.~ P1195
String Processing: Languages 1302
*PROGRAM ARCHITECTURE MUMPS 911
Argument 76
*PROGRAMMING LANGUAGE SYNTAX
Block Structure 133
Constant 351] Backus-Naur Form (BNF) 114
Control Structure 361 Metalanguage 870
Expression 540 Vienna Definition Language (VDL) 1419
Global and Local Variables 580
Identifier 645 PROGRAMMING LINGUISTICS 1125
CLASSIFICATION OF ARTICLES Xxi

Arithmetic Scan 80 Loader 768


Binding 125 Storage Allocation — 1286
Coercion 184 Swapping 1332
Default Condition 425 Trap 1390
Delimiter 426
Operator Precedence 993
Polish Notation 1065
Production 1105 5. *MATHEMATICS OF COMPUTING
Programming Language Semantics 1115
Vienna Definition Language 1419
Syntax, Semantics, and Pragmatics 1342 COMPUTATIONAL GEOMETRY 214
DISCRETE MATHEMATICS 470
SOFTWARE ENGINEERING 1217
Arithmetic, Computer 81
Chief Programmer Team 175 Complement 210
Computer-Aided Software Engineering (CASE) Interval Arithmetic 709
Documentation 478 Precision 1072
Formal Methods for Computer Systems 564 Significance Arithmetic 1200
Human Factors in Computing 619 Significant Digit 1201
User Interface 1411 Boolean Algebra 135
Modular Programming 898 2° Codes 180
Program Specification 1107 Combinatorics 190
Program Verification 1111 Cryptography, Computers in 369
Loop Invariant 796 Factoring Integers 543
Software Configuration Management 1216 Fractals 566
Software Engineering Institute (SEI) 1222 Graph Theory 584
Software Flexibility 1223 Mathematical Programming 820
Compatibility 205 Simplex Method 1202
Emulation 510 *Mathematical Statistics and Probability
Portability 1068 Monte Carlo Method 899
Transparency 1388 Queueing Theory 1141
Software Libraries, Numerical and Statistical Random Number Generation 1145
Mathematical Software 826 Regression Analysis 1159
Software Maintenance 1232 Number Theoretic Calculations 941
Software Management 1232 Numbers and Number Systems 942
Software Metrics 1234
Software Monitor 1238 NUMERICAL ANALYSIS 946
Software Personalization 1240 Approximation Theory 73
Software Prototyping 1241 Chebyshev Approximation 173
Software Reliability 1242 Least Squares Approximation 740
Software Reusability 1244 Error Analysis 526
Software Testing 1246 . Fast Fourier Transform 544
Debugging 419 Finite Element Method 555
Errors 532 Matrix Computations 828
Programming Support Environments 1134 Optimization Methods 1003
Structured Programming 1308 Partial Differential Equations 1032
Roundoff Error 1170
SYSTEMS PROGRAMMING _ 1343 Spline 1268
Access Methods 2
Boot and Reboot 140
Buffer 142 6. *THEORY OF COMPUTATION
Compiler Construction 207
Concurrent Programming 349
Driver 486 ALGORITHM 27
Echoing 489
File Server 554 *Types and Specific Examples
Garbage Collection 577 Algorithms, Design and Classification of 33
Interrupt 706 Parallel Processing: Algorithms 1025
Microprogramming 882 Probabilistic Algorithms 1074
Emulation 510 Searching 1185
Linker 753 Sorting 1249
XXii CLASSIFICATION OF ARTICLES

ALGORITHMICS 29 Tomography, Computerized 1381

ALGORITHMS, ANALYSIS OF 30 INFORMATION RETRIEVAL — 660

Computational Complexity 212 Current Awareness System 370


Information-based Complexity 655 Hypertext 632
NP-Complete Problems 938 MEDLARS/MEDLINE 847

RUE CORE CLC Se EL, | INFORMATION SYSTEM 666


Undecidable Problems 1404 Information Systems Methodology 669
AUTOMATA THEORY = 105 Videotex 1416
Cellular Automata 166 MATHEMATICAL SOFTWARE = 826
Probabilistic Automata 1076 OPERATIONS RESEARCH (OR) 989
Sequential Machine 1191
Switching Theory 1332 PATTERN RECOGNITION — 1034
Turing Machine 1397 percentronmal04l

FORMAL LANGUAGES _ 561 ROBOTICS 1167


Chomsky Hierarchy 175 SEARCHING 1185
Grammars 581
Production 1105 SIMULATION:
Regular Expression 1160 Principles 1204
Well-Formed Formula (WFF) 1428 Languages 1208

LAMBDA CALCULUS 725 Emulation 510


LOGICS OF PROGRAMS _—_ 789 SORTING:
Internal 1249
PETRINET 1062 External 1261

7. *METHODOLOGIES 8. *APPLICATIONS

ee oe ADMINISTRATIVE APPLICATIONS —21


Expert Systems 536 Banking Applications 116
Heuristic 611 Electronic Funds Transfer (EFT) Systems 505
Knowledge Representation 719 Electronic Office 507
Natural Language Processing 913 Management Information Systems (MIS) 813
Language Translation 733 Real-Time Business Applications 1149
Neural Networks 929 Spreadsheet 1269
Perceptron 1041 Transaction Processing 1386
Speech Recognition and Synthesis 1264
Theorem Provin g 1372 *COMMUNICATIONS APPLICATIONS

COMPUTER ALGEBRA: Bulletin Board 144


Principles 227 Computer Conferencing 280
Systems 231 Electronic Mail 507
Groupware 588
COMPUTER GRAPHICS: PRINCIPLES 294
COMPUTER-ASSISTED LEARNING AND TEACHING 263
Computer Animation 242
Fractals — 566 Authoring Languages and Systems 104
Computer-Assisted Instruction (CAIl 261
COMPUTER VISION 330 Computer-Managed Instruction (CMI) 311
DATABASE MANAGEMENT SYSTEM (DBMS) 413 Neri JOR esta ae
Det ptioesiatabasenie ea COMPUTER-AIDED ENGINEERING 222
Relational Database 1161 Automation 109
IMAGE PROCESSING 645 Computer-Aided Design/Computer-Aided Manufacturing
(CAD/CAM) 216
Medical Imaging 842 Computer-Integrated Manufacturing (CIM) 306
CLASSIFICATION OF ARTICLES XxXiii

Control Applications 353 Turnkey 1401


PERT/CPM 1061
Robotics 1167 *COMPUTER SCIENCE AND TECHNOLOGY

DESKTOP PUBLISHING 426 *Basic Terminology and Jargon


FIFO-LIFO 552
Metafont 869 Flowchart 559
PostScript 1069 Guru 590
TEX 1353 Justification 715
Kludge 719
ENTERTAINMENT INDUSTRY, COMPUTERS IN THE 512
Machine-Readable Form 809
HUMANITIES APPLICATIONS 623 Power User 1071
Wizard 1436
Computer Animation 242
Cognitive Science 185
Computer Art 257
Computer Engineering 284
Computer Music 312
Computer Literacy 311
Dictionaries, Computerized 430
Computer Science:
Language Translation 733
Overall Scope 315
LEGAL APPLICATIONS OF COMPUTERS 741 Disciplinary Structure 319
Computer Science, Academic 322
Legal Protection of Software 747 Cybernetics 372
LIBRARY AUTOMATION 750 Data Processing 402
Information Processing 659
MEDICAL APPLICATIONS 835 Information Science 665
Hospital Information Systems 615 Information Theory 671
Intensive Care,Computersin 694 Symbol Manipulation 1336
MedicallImaging 842 COMPUTERS IN SOCIETY 335
Tomography, Computerized 1381
MEDLARS/MEDLINE 847 Information Access 652

*RECREATIONAL APPLICATIONS COMPUTING AND THE HANDICAPPED 341

Computer Chess 269 *THE COMPUTING PROFESSION


Computer Games:
Personnel in the Computer Field 1058
History 285
Programmer § 1114
Arcade 287
Hacker 593
Traditional 290
Wizard 1436
Entertainment Industry, Computers in 512
Systems Analyst 1342
Stamps, Computing on 1274
*Scientific and Technical Societies
SCIENTIFIC APPLICATIONS 1175 American Association for Artificial Intelligence (AAAI)
39
Biocomputing 125 American Federation of Information Processing Socie-
Number-Theoretic Calculations 941 ties (AFIPS) 40
Factoring Integers 543 American Society for Information Science (ASIS) 41
Statistical Applications 1283 Association for Computing Machinery (ACM) 98
Regression Analysis 1159 Association Francaise Pour la Cybernetique
SOCIAL SCIENCE APPLICATIONS 1210 Economique et Technique (AFCET) 99
British Computer Society (BCS) 140
Political Applications 1066 Canadian Information Processing Society (CIPS)
TEXT EDITING SYSTEMS 1355 164
CODASYL 179
Spelling Checker 1266 Computing Research Association (CRA) 315
Word Processing 1437 Data Processing Management Association (DPMA)
485
Institute for Certification of Computer Professionals
(ICCP) 680
9. *COMPUTING MILIEUX Institute of Electrical and Electronic Engineers—Com-
puter Society (IEEE-CS) 682
International Federation of Automatic Control (IFAC)
*THE COMPUTER INDUSTRY 701
Entrepreneurs 517 International Federation for Information Processing
Original Equipment Manufacturer (OEM) 1005 (FIP) 703
XXIV CLASSIFICATION OF ARTICLES

International Society for Technology in Education Church, Alonzo 176


(STE) 706 Eckert,J.Presper 491
Society for Computer Simulation (SCS) 1212 Eckert, Wallace J. 491
Society for Industrial and Applied Mathematics (SIAM) Hartree, Douglas R. 610
1213 Hollerith,Herman 612
User Groups 1409 Hopper, Grace Murray 614
Kilburn, Thomas 718
EDUCATION IN COMPUTER SCIENCE: Leibniz, Gottfried Wilhelm von 749
Europe 501 Lovelace, Countess of 797
Japan 502 Mauchly, John William 833
United States 493 Napier, John 913
Pascal, Blaise 1034
Computer Science, Academic 322 Perlis, Alan J. 1052
Education in Computer Engineering 492 Powers, James 1071
Shannon, Claude’ 1196
*HISTORY
Simon, Herbert A. 1201
Analytical Engine 67 Stibitz, George Robert 1284
Calculating Machines 157 Strachey, Christopher 1300
Charles Babbage Institute 173 Torres Quevedo, Leonardo 1384
Difference Engine 431 Turing, AlanM. 1394
Digital Computers: History: Origins 440 von Neumann, John 1424
Atanasoff-Berry Computer 103 Watson, Thomas J.,Sr. 1427
Bell Labs Relay Computers 122 Wiener, Norbert 1429
Colossus 189 Wilkes, Maurice V. 1430
Differential Analyzer 432 Wilkinson, James A. 1431
EDSAC 503 Williams, Sir Frederic C. 1432
EDVAC 504 Zuse, Konrad 1444
ENIAC 511 Software History 1224
Hollerith’s Machine 613 Turing Award Winners 1395
Manchester University Computers 817
MarkI 819 LEGAL ASPECTS OF COMPUTING 743
Naval Ordnance Research Calculator (NORC) 917 Computer Crime 281
SEAC 1185 Computer Virus 329
SWAC 1331 Legal Protection of Software 747
Univac! 1405
Privacy, Computers and 1073
Whirlwind 1429
Zuse Computers 1443 LITERATURE OF COMPUTING 762
Digital Computers: History: Early 443
Atlas 104 *MANAGEMENT OF COMPUTING
IBM 1400 Series 637
Computing Center 342
Livermore Automatic Research Computer (LARC) 767
Accounting System, Computer 7
Stretch 1301
Supercomputing Centers 1327
Digital Computers: History: Contemporary Systems
Human Factors in Computing 619
447
Performance of Computers 1048
Apple Computer, Inc. 68
Benchmarks 123
Control Data Corporation (CDC) Computers 358
Grosch’s Law 588
Digital Equipment Corporation VAX Computers 463
Hardware Monitor 602
IBM 360/370/390 Series 638
Performance Measurement and Evaluation 1043
NCRComputers 919
Software Monitor 1238
Digital Computers: History: Personal Computers 460
Throughput 1374
IBM PC and PCCompatibles 642
Turnaround Time 1401
Entrepreneurs 517
Software Management 1232
Generations, Computer 580
Standards 1274
McDowell Award Winners 834
Computer Graphics: Standards 303
*People
Data Communications: Standards 392
Aiken, Howard 25
Atanasoff, John Vincent 102 Keyboard Standards 717
Babbage, Charles 113 Programming Language Standards 1118
Boole, George 134
PERSONAL COMPUTING 1053
Burroughs, William S. 145
Bush, Vannevar 148 WOMEN AND COMPUTING 1436
TRADEMARKED ITEMS MENTIONED
IN ENCYCLOPEDIA ARTICLES

Item Trademarked by Article in Which Mentioned

AIX IBM IBM System 360/370/390


ESA/390, IBM IBM System 360/370/390 and various others
ES/9000,
System 390,
System 360,
System 370
InfoWindow IBM Videodisc
Intel 386, Intel Corporation Microcomputer Chip
Intel 386SL
Lego LEGO Systems, Inc. Logo
Microcom Microcom Modem
Networking
Protocol
OSCAR Hecht-Nielsen Optical Character Readers
Neurocomputers
PR/SM IBM IBM System 360/370/390
Quick Medical Camdat Corporation Medical Applications
Reference
Scout View General Electric Tomography, Computerized
Ultrix Digital Equipment Digital Equipment Corporation
VAX Series
Unix AT&T Bell Laboratories Unix Operating System, C, and various others
VAX Digital Equipment Digital Equipment Corporation
VAX Series and various others
VAXELN Digital Equipment Digital Equipment Corporation
VAX Series
VMS Digital Equipment Digital Equipment Corporation
VAX Series
X Window M.LT. Computer Graphics: Standards
System
Zip+4 U.S. Postal Service Optical Character Readers
ee
a
ss

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

virbinrte, ex Rv: ee pes


eens
re
we ,oOtne A464 : ee Ca
»
- uf | 1c op toe i ods Zt
oe
a
' ae pean See s
va ps
Ame
t ators, ofr ee
tte ea hatacaaaintce they
a) { a

<=
Pen ionl potty ot eo
é
a) a a a er © came ta te tment ir oat

*
~

i i
~ 2 t '
sition Cole: Mao =, ) ee
a rae
Ga- sf 4 " ~ S < i
a ie wre of, Gastig™ ary

are Wee ars OOM EAT IE, esisys ct er tera Pll a i


So. 4 ie oe hy in €4 Se om
ip
at nije
ial me ef ae
ry Ne
=
cram & en
Beat
sathoah ly ‘ | ae
=
_
a.
‘ : € rr ‘
> weitel
AG ria ot
d r ‘ gprs
ne

+)
. 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.

declare ACCESS METHODS


X: Stack(integer); For articles on related subjects see ACCESS TIME; DATABASE
Y: Stack(real); MANAGEMENT SYSTEM; DIRECT ACCESS; FILE, and RECORD.
Z: Stack(MyType);
J: integer; An access method is a technique for accessing data
g: real; that has been placed on some kind of mass storage de-
P,q: MyType; vice, most often a disk. While the term “access method”
is used to describe the method used to retrieve the data,
Push(X,j); Pop(Y); p := Top(Z); the process is frequently closely related to the structure
Pop(X); g := Top(Y); Push(Z,q); of the data as it resides on the disk. As a result, the term
is sometimes loosely used to describe the structure of the
The specification techniques used for abstract data data itself and, often, “access method” is used as a syn-
types evolved from the predicates used in simple sequen- onym for the program or routine that implements the
tial programs. The method for formally verifying that the method.
specification of an abstract data type is consistent with its All modern computer manufacturers provide service
implementation was originally formulated by Hoare routines to implement access methods, generally as
(1972). Additional expressive power was incorporated to a
component of the operating system (gq. v.). Instead of ac-
deal with the way information is packaged into modules cess method, terms such as data management, file control
and with the problem of abstracting from an implementa- program, and I/O (input or output) supervisor are some-
ACCESS METHODS 3

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

FIG. 1. Division of functions.


4 ACCESS METHODS

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

FIG. 2. Overlap of processing with data transfer.


ACCESS TIME 5

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

Direct access devices require varying times to posi-


tion a read/write head over a particular record. In the case
of a moving-head hard disk drive, this involves position-
ing the comb (head assembly, as in Fig. 1) to the desig-
nated cylinder, plus rotation of the selected track to the
desired record. Comb-movement times for a typical me-
dium-sized disk drive are shown in Fig. 2.
For a disk, total access time is the sum of comb-move-
ment and rotational times to reach a particular record Time,
ms
(plus the time to switch from reading or writing one
surface to another, but, since this is done at electronic
speeds, it contributes almost nothing to the access time).
There is a different access time for each record retrieved
at random from a disk drive, since it is necessarytomove 0 20 40 60 80 100 120 140 160 180 200
from cylinder C, to cylinder C, (Fig. 2), and then await Number of cylinders traveled
rotational positioning of record R. Suppose the disk drive,
FIG. 2. _Comb-movement times for typical disk drive.
whose comb-movement time is shown in Fig. 2, rotates at
3,600 rpm, which is equivalent to 16.7 ms per rotation.
Then the maximum access time for this device is 87 ms (70 disk drives have improved relatively little: 3,600 rpm is
ms for the comb movement, plus 17 ms for the rotation), typical. But bit densities per track have increased fivefold
the average access time is about 43 ms (35 + 8) and the in this same period, so that average transfer speeds have
minimum access time is 12 ms. The latter time, which is increased even if track-to-track access times have not
the time required to move the comb to an adjacent cylin- diminished. During this period, average access times
der is also called the track-to-track access time. Of course, have been halved as a result of a widespread changeover
if successive records are on the same cylinder, the access from hydraulic actuators to “voice coil” actuators for
time can be zero. moving the comb mechanism.
Average access time is an important parameter for For a floppy disk drive, the average access time is 25
analytical planning of a real-time computer application, ms; the access times for compact disc read-only memo-
e.g. an on-line inquiry system. Minimum access time is ries (CD-ROMs) are approximately twice as long as for
more important for sequential usage of disk drives. The floppy disks.
dominant component of delay for sequential retrieval of For a drum or fixed-head disk, average access time is
records from a disk drive is the average time for a half-ro- a half-revolution and maximum access time is a full revo-
tation (8.3 ms for the drive described in Figs. 1 and 3). lution, since both have heads that are fixed over the data
During the past 30 years, rotational speeds for hard areas. Average access times for drums are 5 to 10 ms.

Read- write head


Cylinders

x Disk | pack

Surface
numbers

+>
Access
mechanism Axial
motion rotation

FIG. 1. Side view of typical disk drive.


ACCOUNTING SYSTEM, COMPUTER 7

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
-_ ->

Development of Accounting and Resource


Record R Control Systems
Read-write head

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

user and periodically inform users of their accu-


mulated computer resource utilization.
(Local variables).
As described, automated systems can be fairly costly.
However, the benefits provided both to the computing
center operations staff (e.g. current resource use, system Activation (Old AP);
record for
load, operating difficulties) and to the users (e.g. current proc3 (Old FP),
pricing structure, resources available, job flow) generally (Old PC),
outweigh the costs. Indeed, by knowing the state of the
(Saved registers),
computing system, both operators and users are able to
(Argument list), AP
optimize their interaction with it so as to increase its
effective utilization.
(Local variables),

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.

Activation (Old AP),


record for
proci (Old FP),
ACTIVATION RECORD (Old PC),
For articles on related subjects see BLOCK STRUCTURE; CALL- (Saved registers),
ING SEQUENCE; and PARAMETER PASSING. (Argument list),

An activation record consists of all of the information Main


pushed onto the system stack (g.v.) during execution of a program
storage
procedure call in a high-level block structured language.
The activation record has only transient existence during
execution of the called procedure. Typically, the record FIG. 1. Activation records on a stack.
contains arguments used by the programmer as part of
the procedure’s calling sequence, current contents of im-
portant system registers (g.v.) pushed by the machine stack frame are synonyms, but VAX terminology is that a
command used to invoke the procedure, and local vari- stack frame consists of just that part of the activation
ables pushed by the procedure itself. record that is created by the command that invoked the
Suppose that, on the Digital Equipment Corporation _ procedure, not those parts consisting of arguments
VAX, a main program calls proc!, which then calls proc2, pushed by the calling procedure and local variables
which in turn calls proc3. Fig. 1 shows how the stack pushed by the called procedure. For the topmost activa-
would then appear. Each activation record results from tion record, the FP at the top right of the diagram points
execution of a procedure call, and each called procedure to the beginning of the stack frame, and the AP below it
terminates execution by executing a return command, points just beyond the end of the frame.
which removes the topmost activation record from the In the figure, the second and third nested procedures
stack (by merely resetting the stack pointer, SP in the are called proci and proc2, but the essence of the figure
figure). As first proc3 and then proc2 and finally proc] would be no different if those procedures happened to be
finish, their corresponding activation records will be re- later activations of proc] itself. This is equivalent to pic-
moved from the stack, and thus the stack will return to its turing how the stack would look just after recursive pro-
status prior to the call of proc]. Among the important cedure proc! has called itself twice. As far as the recursive
registers saved by each procedure call are the PC, the logic is concerned, additional activation records may be
program counter, which is needed so that the corre- created indefinitely, bounded only by the amount of mem-
sponding return can transfer control to exactly the right ory available to enlarge the stack. But lack of such a
place in the calling routine. The registers labeled AP and resource is exactly what usually causes a runaway recur-
FP, called the Argument Pointer and the Frame Pointer, sive procedure to abort. A properly written recursive
are used by the procedure in order to reference proce- routine will contain terminal conditions and an inductive
dure arguments and local variables, respectively. step that relates to those conditions in such a way that
On some systems, the terms activation record and the stack will accumulate activation records only until a
10 ADA

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.).

ADA Language Characteristics Although the early Ada


For articles on related subjects see CONCURRENT PROGRAM- development was heavily influenced by Pascal, extensive
MING; ABSTRACT DATA TYPE; EMBEDDED SYSTEM; INFORMATION syntactic changes and semantic extensions make it a very
HIDING; PROGRAMMING LANGUAGES; and STRUCTURED PROGRAM- different language. The major additions include:
MING
e Module structures and interface specifications for
Ada is a programming language developed under the large-program organizations and separate compi-
auspices of the United States Department of Defense lation;
(DoD) for the purpose of reducing software development e Encapsulation (g.v.) facilities and generic defini-
and maintenance costs, especially for large, constantly tions to support abstract data types;
changing programs with long lifetimes. It was designed e Support for parallel processing; and
during the period 1975-1980, and it was specifically in- e Control over low-level implementation issues re-
tended to support modern programming techniques such lated to the architecture of object machines.
as structured programming, information hiding, abstract
data types, and concurrent processing. There are three major abstraction tools in Ada. The pack-
The original motivation for the Ada development age is used for encapsulating a set of related definitions
stemmed from military command-and-control applica- and isolating them from the rest of the program. The type
tions, particularly for computers “embedded” in weap- determines the values a variable (or data structure) may
ons, airplanes, or other military equipment (see EMBEDDED take on and how it can be manipulated. The generic defi-
SysTEM). Although these applications have some special nition allows many similar instances of a definition to be
requirements, such as real-time processing, concurrency, generated from a single template. Support for parallel
and nonstandard I/O, the requirements that emerged are processing includes concurrently executable procedures
suitable for a general-purpose programming language. called tasks and language facilities for synchronization.
The design proceeded in that spirit, and as a result Ada Support for low-level matters includes control over a
has found wide use in industrial, business, and university type’s storage layout and a loophole mechanism that
facilities as well as in the military. provides access to machine-dependent features.
The following example, taken from Shaw (1980),
History The impetus for the Ada development effort illustrates some of the important features of Ada. The
came in the early 1970s, when it became clear that DoD purpose of the example program is to produce the data
was supporting an enormous number of programming needed to print an internal telephone list for a division of
languages (estimates on the number range from a few a small company. A database containing information
hundred to a few thousand). In 1976, DoD issued a direc- about all employees, including their names, divisions,
tive on the use of advanced computer technology in telephone numbers, and salaries, is assumed to be avail-
defense systems in order to halt the proliferation of able. The program must produce a data structure contain-
similar languages. This directive required most new soft- ing a sorted list of the employees in a selected division
ware to be developed in one of a small number of ap- and their telephone extensions.
proved languages. The initial list of approved languages An Ada program to solve this problem is organized in
contained seven programming languages in which DoD three components: 1) a definition of the record for each
had already made significant investment; these languages employee (Fig. 1); 2) declarations of the data needed by
are CMS-2, SPL/1, TACPOL, Jovial J3, Jovial J73, Cobol, the program (Fig. 2); and 3) code for construction of the
and Fortran. telephone list (Fig. 3).
At the same time, DoD initiated an effort to develop a The package of information about employees whose
modern language to add to this list. An initial draft of specification is shown in Fig. 1 illustrates one of Ada’s
requirements for such a language, the “Strawman” pro- major additions to our tool kit of abstraction facilities.
posal, was circulated in 1975. This was revised in re- This definition establishes EmpRec as a data type with a
sponse to the comments received, and a series of small set of privileged operations. Only the specification
requirements proposals called “Woodenman,” “Tinman,” of the package is presented here. Ada does not require the
ADA 11

package Employee is there is no danger in doing so. An auxiliary type was


type PrivStuff is limited private; defined to protect the salary and division information;
type EmpRec is the declaration
record
Name: string(1..24); type PrivStuff is limited private
Phone: integer;
PrivPart: PrivStuff; indicates not only that the content and organization of the
end record; data structure are hidden from the user (private), but also
procedure SetSalary(Who: in out EmpRec; that all operations on data of type PrivStuff are forbidden
Sal: float); except for calls on the routines exported from the pack-
function GetSalary(Who: EmpRec) return age. For limited private types, (i.e. if variables p and q are
float; declared outside package Employee to be type PrivStuff,
procedure SetDiv(Who: in out EmpRec; Div: both “p := 1” and “if p = q then...” are prohibited).
string(1.8)); Naturally, the code inside the body of the Employee pack-
function GetDiv(Who: EmpRec) return age may manipulate these hidden fields; the purpose of
string(1.8); the packaging is to guarantee that only the code inside the
private package body can do so.
type PrivStuff is The ability to force manipulation of a data structure
record to be carried out only through a known set of routines is
Salary: float; central to the support of abstract data types. It is useful
Division: string(1.8); a not only in examples such as the one given here, but also
end record; for cases in which the representation may change radi-
end Employee; cally from time to time and for cases in which some kind
of internal consistency among fields, such as checksums,
FIG. 1. Ada package definition for employee records.
must be maintained. Support for secure computation is
not among Ada’s goals. It can be achieved in this case, but
only through a combination of an extra level of packaging
module body (i.e. the implementation of the procedures
and some management control. Even without guarantees
and functions) to accompany the specification (though it
about security, however, the packaging of information
must be defined before the program can be executed);
about how employee data is handled provides a useful
moreover, programmers should rely only on the specifica-
structure for the development and maintenance of the
tions, not on the body ofa package. This makes it possible
program.
to compile programs that use this package before the
The declarations of Fig. 2 illustrate the use of abstract
code of the package is actually compiled. The specifica-
data types. One new type (PhoneRec) is defined; the type
tion itself is divided into a visible part (everything from
defined in Fig. 1 is used, and another non-primitive type,
package to private) and a private part (from private to
String, is used. The Employee package is used instead of
end). The private part is intended only to provide infor-
a simple record. The clause
mation needed by the compiler to generate code, but not
needed by the programmer. use Employee;
Assume that the policy for using EmpRec’s is that the
Name and Phone fields are accessible to anyone, that it is says that all the visible names of the Employee package
permissible for anyone to read but not to write the Divi- _are available in the current block.
sion field, and that access to the Salary field and modifi- The type definitions for EmpRec and PhoneRec
cation of the Division field are supposed to be done only abstract from specific data items to the notions “record
by authorized programs. The scope rules prevent any
portion of the program outside a package from accessing declare
any names except the ones listed in the visible part of the use Employee;
specification. In the particular case of the Employee pack-
age, this means that the Salary and Division fields of an type PhoneRec is
EmpRec cannot be directly read or written outside the record
package, but can only be accessed using the routines Name: string(1..24);
declared inside the package. Therefore, the integrity of Phone: integer;
the data can be controlled by verifying that the routines end record;
that are exported from the package are correct. Presum-
ably, the routines SetSalary, GetSalary, SetDiv, and GetDiv Staff: array (1..1000) of EmpRec;
perform reads and writes as their names suggest; they Phones: array (1..1000) of PhoneRec;
might also keep records showing who made changes and StaffSize, DivSize, i,j: integer range 1..1000;
when, or a password could be added as a parameter to WhichDiv: string(1..8);
the sensitive routines. q: PhoneRec;
Although the field name PrivPart is exported from
the Employee package along with Name and Phone, FIG. 2. Declarations for Ada version of telephone list program.
12 ADDER

—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;

FIG. 3. Code for Ada version of telephone list program.


ADDER
*This example uses a simple selection sort, not as an endorsement of this
method but because many readers will recognize it. For articles on related subjects see ARITHMETIC, COMPUTER;
ARITHMETIC-LOGIC UNIT; LOGIC DESIGN; and SUPERCOMPUTERS.

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

records as single units substantially simplifies the


manipulation of names and the interchange step of the
selection sort used compared with a language such as
Fortran where each element of the record would have to S;
be processed separately. Ada also provides a way to create S$: Sum
C: Carry (a) Diagram
a complete record value and assign it with a single
statement; thus, the assignment Phones(DivSize) :=
(Staff@i).Name, Staff(i).Phone); sets both fields of the
PhoneRec at once.

Ada = 9X Ada is an ANSI standard language, and under


the ANSI requirements, this standard must be reviewed
every few years. This is not a reflection on any inadequa-
cies in the language. Rather, this revision process is useful
in keeping the language up to date with the needs of real
users.
For these reasons, the DoD has recently established
the Ada = 9X project, to solicit revision requests and
incorporate these changes in an orderly manner. This
(b) Truth table
process will take a few years to complete. It is expected
that Ada = 9X will be largely upward-compatible with the FIG. 1. The binary full adder (FA).
ADDER 13

Xn-1 Yn-1

Ci

Si So

FIG. 2. Binary ripple-carry adder.

Xn=1 Yn-1 Zn-1 2S Viale 2D Zo

(a) Detailed oats (b) Compact notation


FIG. 3. Three-operand binary carry-save adder.

U Vv Ww x ve Zz

Two- Input adder

S=P+Q+UtVt+WtY¥+Z

FIG. 4. CSA summation of eight operands.


14 ADDRESSING

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

1965. Garner, H.L. “Number Systems and Arithmetic,” in Alt, F and


Rubinoff, M. (Eds.), Advances in Computers 6: 131-194. New
For example, the operation code Au (add to upper) im-
York: Academic Press. plied that the upper half of the accumulator register was
one of the operands, along with the explicitly named
ALGIRDAS AVIZIENIS operand, and the result was to remain in the upper half of
the accumulator.
As the amount of storage increases, however, and the
ADDRESS, INDIRECT. See inpirecr Appress. number of digits (either binary or decimal) needed to
represent an address becomes large relative to the size of
the instruction, it becomes clear that it is no longer feasi-
ble to represent an entire address each time it occurs in
an instruction. This is especially true when the address
ADDRESSING
part of an instruction must be able to accommodate the
For articles on related subjects see BASE REGISTER; COMPUT- largest possible storage that might be attached to a par-
ERS, MULTIPLE ADDRESS; GENERAL REGISTER; INDEX REGISTER; IN- ticular model of computer, even though an individual
ADDRESSING 15

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

FIG. 1. Extension of addressing through indirect addressing.


16 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

Instruction General Base Index


code register register register Displacement

cap coe ee OSrets


fo eee
1yl

——
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

memory control on some


‘ models)
16 32-bit General registers
24 bits used for addressing

FIG. 2. Effective address calculation on the IBM 360.


ADDRESSING 17

different programs may be in the computer memory, each SOFTWARE ASPECTS


occupying a contiguous area. Thus, program A might
occupy the area from 40,000 to 67,777, but this program Corresponding to each hardware aspect of addressing,
(as well as all other programs in memory) is written and there must be one or more techniques by which the
loaded into memory as if the area it occupies actually has programmer specifies addresses in the program.
the addresses 0 to 27,777. When program A is given con-
trol, the address 40,000 is stored in the hardware reloca- Absolute Addressing In the earliest and most ele-
tion register, and this constant is automatically added to mentary programming systems, a programmer would as-
all memory reference addresses while program A is run- sign instructions and data to locations in memory, and
ning. The program could have been loaded anywhere else instructions would refer to absolute locations in memory.
in memory, and can be loaded into different areas at Thus, using a decimal computer for convenience, a pro-
different times. It will always produce the correct memory grammer might write
addresses, since all addressing is automatically made
relative to the starting address of the area into which the 267 ADD 3256
program has been loaded.
In computers of this type, another hardware register and, as a result of the eventual loading process, the in-
will contain the field length or program size. Any attempt struction ADD 3256 would appear in location 267. It was
to reference beyond the area occupied by the program the responsibility of the programmer to make sure that
will be trapped, and an error condition will be signaled. the appropriate data word was in location 3256 at the time
In a machine with two relocation registers, like the the program was to be run. These are absolute addresses
Univac 1100, a program may consist of two segments: for in that 267 always represents the same physical location
example, a program segment and a data segment, which in memory and 3256 similarly represents a specific phys-
can be placed independently anywhere in memory. The ical location.
starting addresses of each of the two segments are placed
in the two relocation registers, and every effective ad- Relative Addressing Some of the first advances in
dress has an associated bit that specifies which reloca- programming involved permitting the programmer to
tion register is to be added. write programs or parts of programs without having to be
A relocation register is quite different in nature from aware of the absolute physical locations in which the in-
an index register or a register used as a base for relative structions and data were to be stored. One of the early ap-
addressing. The relocation register is a special hardware proaches to this goal was by way of regional or relative
register whose contents can be accessed and changed programming. A programmer, or several programmers,
only through the use of privileged instructions (g.v.) might decide that the program would be divided into a
under control of the operating system. number of regions, A, B, C, D, etc. Addresses would then be
relative to the start of aregion. A programmer might write
Content-Addressable Storage Content-address-
A5 ADD B15
able or associative memories (q.v.) are quite different in
concept from the more conventionally addressed memo-
to specify that an instruction located in the fifth location
ries described above. In a content-addressable memory,
in region Ais to add (to the accumulator) the data located
the data item itself contains a key, usually in a specified
in the fifteenth location in region B. A translator and
field. This key is, in effect, the address of the item. The key
loader would eventually take all regional addresses and
may be the whole data item itself. The desired data item
‘convert them into absolute addresses.
is located by means of an examination of all relevant keys.
There are a number of important advantages to this
This could be done by software in a computer system
procedure. The programmer does not have to make arbi-
with conventional memory addressing, but it would be
trary decisions about how large the regions are going to
quite slow.
be. Separate sections of the program can be written inde-
In an associative or content-addressable memory,
pendently, and unexpected or undesirable interactions
comparison circuits are used to provide a hardware-as-
can be avoided.
sisted and presumably very fast search through all data
items to find the one that matches the key. Small memo-
ries of this type have been used to speed up address
Symbolic Addressing It was a relatively short step
from regional addressing to free symbolic addressing. In
translation in virtual memory (g.v.) systems. Larger sys-
the typical assembly system the programmer may write
tems in which all addressing is associative have been
proposed and some experimental models have been built.
INCR ADD ALPHA
The use of content-addressable memory was very
expensive in terms of earlier technologies, but may
and leave it up to an assembler to decide where the
prove practical with modern very large-scale integration
instruction INCR is to be placed. Somewhere else in the
(VLST technology. There are a number of important
program, he or she would have a data item named ALPHA.
application areas in which associative memories would
be very useful.
Indirect Addressing Inacomputer that allows indi-
BERNARD A. GALLER AND SAUL ROSEN rect addressing, the assembly language programmer typ-
18 ADDRESSING

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-

Effective (logical) address

Page number Displacement

Physical address

To memory
Associative
memory of
page address
registers

Logical pages Physical pages

FIG. 3. Address translation on the Atlas computer.


20 ~=ADDRESSING

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

Make entry into associative memory


pao
seererrerr
eyFeneNpraee GEE)
Page Tables
fail (containing
CHUNG physical page
Segment Table address)
Segment table pointer] ——e[_—S——d pai? neha al

FIG. 4. Address translation of a virtual memory machine (IBM 370).


ADMINISTRATIVE APPLICATIONS 21

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.

Introduction In the early years of electronic comput-


Burroughs Computers In the Burroughs B5000 se-
ing, applications were classified simply as either “scien-
ries and its successors, ajobis represented in memory by
tific” or “business.” The essence of the distinction was
a program reference table (PRT). Along with some data
that scientific applications involved substantial arithme-
and other information, the PRT contains descriptors—
tic operations on rather small volumes of data, whereas
pointers to data segments and to program segments. A
business applications involved modest arithmetic opera-
descriptor for a data segment (an array) contains the
tions on substantial amounts of data. Internal computer
address of the beginning of the array and the length of the
speed (CPU instruction cycle time and memory access
array. Any reference to the array is automatically
time) was the crucial variable in scientific computing
checked, and an interrupt occurs if it is attempting to
applications, while input and output speed and versatility
reference beyond the array bounds.
(punched card input/output [i/o], printed output, mag-
In these systems, one bit of each data word is re-
netic tape i/o, disk i/o, etc.) were the crucial variables in
served as a marker bit that marks the word as a datum or
business data processing. The two types of applications
as a descriptor. This has been generalized on some tagged
were called “CPU-intensive” (sometimes “CPU-bound”) or
“input/output-intensive” (“i/o-bound”). Matrix inversion
was “typical” of scientific applications, and insurance
*An optional hardware modification on the 360/67 provided for
company premium transactions processing was “typical”
the use of a 32-bit address field that made it possible to use a 12-bit
of business applications. With the passage of time and
segment system and thus address 4,096 segments. Several soft-
ware systems, including TSS (Time Shared System) 360, took with the pervasive evolution of computer applications,
advantage of this extended addressing capability. the original two-category distinction no longer sufficed.
22 ~~ADMINISTRATIVE APPLICATIONS

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

1987. Perry, William E. The Information Center. Englewood Cliffs,


NJ: Prentice-Hall, Inc. (Mandate for change in the methods of
processing information.)
1987. Schweitzer, James A. Computers, Business, and Security: The
New Role for Security. Boston: Butterworth Publishers. (The
management and protection of information as the most criti-
cal business asset.)
1987. Vella, Carolyn M., and McGonagle, John J., Jr. Competitive
Intelligence in the Computer Age. New York: Quorum Books.
(Explores the concept of locating publicly available informa-
tion and converting it to useful strategic advantage over com-
petitors.)
1990. Penrod, James I., Dolence, Michael G., and Douglas, Judith
V. The Chief Information Officer in Higher Education. Boulder,
CO: CAUSE, The Association for the Management of Informa-
tion Technology in Higher Education. (Description of the role
and organizational placement of the CiO.)
1991. Primozic, Kenneth, Primozic, Edward, and Leben, Joe. Stra-
tegic Choices: Supremacy, Survival, or Sayonara. New York:
McGraw-Hill, Inc. (Description of the process of formulating
strategic plans for achieving competitive advantage.)

WILLIAM R. KING AND Mary ELLEN HANLEY

AFCET. See ASSOCIATION FRANCAISE POUR LA CYBER- FIG. 1. Howard Aiken


NETIQUE, ECONOMIQUE ET TECHNIQUE.
professors Ted Brown (Business) and Harlow Shapley (As-
tronomy) were impressed with his work, and both knew of
the interest of Thomas Watson Sr. in projects of this na-
AFI PS. See AMERICAN FEDERATION OF INFORMATION PRO- ture. With their encouragement, and the knowledge that
CESSING SOCIETIES. IBM had the necessary technology, Aiken approached
Watson. A contract was signed in 1939 whereby IBM would
build the Automatic Sequence Controlled Calculator (Har-
AIKEN, HOWARD vard Mark). The machine was running in 1944, and Aiken
and Grace Hopper described it in a paper in Electrical
For articles
on related subjects see DIGITAL COMPUTERS: Engineering (Vol. 65, 1946, pp. 384-391, 449-454, 522-528).
HISTORY: EARLY; HOPPER, GRACE MURRAY; MARK I; and WATSON, The Mark I was followed by the Mark II (a relay
THOMAS J., SR. machine built for the Naval Proving Ground at Dahlgren,
VA and completed in 1946), the Mark III (an electronic
Howard Hathaway Aiken was born 8 March 1900, in machine, also for Dahlgren, completed in 1950), and the
Hoboken N.J., and died 14 March 1973, in St. Louis, Mis- Mark IV (an electronic machine built for and delivered to
souri. He grew up in Indianapolis, Indiana, where he at- the Air Force in 1952). With the completion of Mark IV,
tended Arsenal Technical High School while working 12 - Aiken got out of the business of building computers.
hours a night at the Indianapolis Light and Heat Company. It is difficult to evaluate precisely the impact of
Upon graduation he went to work for the Madison (Wis- Aiken’s series of machines and the Harvard Computation
consin) Gas Company, a position that allowed him to go Laboratory, which he founded. Fortunately, the docu-
to the University of Wisconsin. He received his B.A. de- ments are available to anyone interested. One need only
gree in 1923 and was immediately promoted to chief look at the log books of the computation lab for this
engineer at Madison Gas. period to see the worldwide range of people who visited
In 1935 he returned to school, first at the University the laboratory. Another source of Aiken’s work is the
of Chicago and then at Harvard. His doctoral thesis at many publications in the “Annals of the Harvard Compu-
Harvard, resulting in a Ph.D. in 1939, was on the theory of tation Laboratory” series. The Harvard catalog also pro-
space charge conduction. The research required labori- vides clear evidence of the existence of courses in
ous calculations of nonlinear differential equations. This “computer science” a decade before the emergence of
experience led him to investigate the possibility of per- this program at most universities.
forming these types of calculations with machine assis- In 1947 and again in 1949 Aiken organized symposia
tance. His thoughts on this subject led him in 1937 to on large-scale digital devices at Harvard. Programs from
circulate a memo entitled, “Proposed Automatic Calculat- both meetings strongly reflect his hand and his philoso-
ing Machine” (reprinted in Spectrum, August 1964, pp. phy at that time. Perhaps his most profound impact was
62-69). in the environment he created at Harvard, which enabled
Harvard was not the most likely environment to get the University to become a vital training ground for many
support for this type of research. Fortunately, Harvard people who are outstanding in the field today. A perusal
26 ALGOL68

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 x — reference to a real vaule + 3.14

ALGOL 68 The effect of a standard assignment statement is


achieved by making the reference possessed by the iden-
For articles on related subjects see BLOCK STRUCTURE; Ex- tifier refer to the value specified in the statement. This is
TENSIBLE LANGUAGE; PROCEDURE-ORIENTED LANGUAGES; and not possible if the value possessed by an identifier is not
PROGRAMMING LANGUAGES. a reference, i.e. if this intermediate link is not present. In
that case the identity declaration establishes the identi-
Algol 68 is a language designed by a working group fier as a constant, which can be changed only by redeclar-
(WG 2.1) of the International Federation for Information ing it. An example of a declaration that establishes pi as a
Processing (IFIP) in order to provide a general-purpose constant 3.14 is real pi = 3.14, which gives rise to the
programming language that would be suitable for commu- following scheme.
ALGORITHM 27

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.)

OUTPUT = ‘V ’ INPUT program SquareRoot (input, output);


END var X, Y, Z: real;
begin
However, if we want a decimal expression, then the write (‘Find the square root of ’);
square root of 2 can never be calculated exactly . readin (X);
Hence, the requirement of a finite number of actions IF X >= 0 then
is violated. begin
A modified statement of the problem is more suited Yeo:
to our purposes. “Find the positive square root, to four ILENE SING
decimal places, of the real number x.” This statement has while abs (X — Z) >= 0.00005 do
three useful properties: begin
1. It explicitly names the positive square root as the Y:=(K/Y)+Y)/2;
desired one, whereas the earlier statement left Le YY
that quality ambiguous. end;
2. It eliminates the string “Vx” as a problem solu- writeln (‘The square root of ’,X:7:5, ‘is ’, Y:7:5, ‘.”)
end
tion.
else
3. By stating “four decimal places” (or any other
writeln (‘There is no real square root for ’,
fixed number of places), it provides a test for
XeS:5) a)
termination.
end.
A conceivable but questionable method of solution is:
When we run this program it requests input data and
1. Choose a number y and compute y. then responds with the square root of the input, or a
7A Ni ly — xl <5 X 107°, the solution is y; if not, message that there is no real square root. With successive
return to step (1). runs with the input 3, 107, 1, 0, —4, and 3.14159, the results
will be
This method fails to be an algorithm, since no procedure
is specified for choosing either the initial value y or sub- Find the square root of 3
sequent values. Moreover, even if there is a solution, there The square oot of 3.000007 1s 1773205.
is no guarantee that this method will find it. Find the square root of 107
Now consider another method: The square root of 107.00000 is 10.34408.
Find the square root of 1
1. Lety = 1. The square root of 1.00000 is 1.00000.
2. Compute y’. Find the square root of 0
3. If ly? — x! <5 X 107°, the solution is y, HALT; if not, The square root of 0.00000 is 0.00391.
go to step 4. Find the square root of —4
4. Replace y by ((~/y) + y)/2; go to step 2. There is no real square root for —4.00000.
Find the square root of 3.14159
This procedure is a special case of a general technique
The square root. of 3.14159 olson .7 2450.
known as the Newton-Raphson technique, a method that
has the precise definition of each step required of an
algorithm. Moreover, whenever applied to a non-negative Significance of Algorithms While the concept of
real number x, the method will produce the proper solu- an algorithm is useful in crystallizing the informal nota-
tion in a finite number of steps. However, whenever ap- tion of a “method of solution” for a problem, it has a much
plied to a negative number, the method will endlessly deeper significance. Whereas it was at one time assumed
recompute y without recognizing the futility of the task. that any properly stated mathematical problem was solv-
This is typical of a class of methods called semi-algo- able, mathematicians in the 1920s began to question this,
rithms: They will halt in a finite number of steps if the asking what precisely it meant to say that we could “solve
problem posed has a solution, but will not necessarily halt a problem” or “compute a function.” Several important
if there is no solution. areas of mathematics have resulted from attempts to
To transform the given method into an algorithm, two answer these questions, including the theory of Turing
things must be done: machines and the theory of algorithms. All the concepts
proposed proved to be equivalent: Any problem that is
1. Add astep, (0); ifx< 0, there is no solution; HALT; solvable according to one concept is solvable according
and to all other concepts. Thus, while the algorithm, properly
2. Rewrite the given method in a language suitable formalized, may not be the only way to solve problems, it
for the proposed device. (For English-speaking appears to be essentially the only way that the human
people, the given language is satisfactory; for a intellect in its present stage of development can compre-
computer, a programming language must be hend.
ALGORITHMICS 29

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

memory space that this becomes a critical factor. Thus,


one may have to sacrifice some speed to stay within
available memory bounds. ALGORITHM, PARALLEL. ‘See PARALLEL
The accuracy ofan algorithm is a characteristic often PROCESSING: ALGORITHMS.
more closely related to time than to memory require-
ments. For example, the square root algorithm previously
presented is not very accurate. Changing the test con-
stant from 0.00005 to 0.00000000005 will produce ~ALGORITHMICS
0.00000381 as the square root of zero at the cost of more For articles on related subjects see ALGORITHM; ALGO-
iterations through the loop of the algorithm. No addi- RITHMS, ANALYSIS OF; ALGORITHMS, THEORY OF; COMPUTATIONAL
tional memory is required, and the additional iterations COMPLEXITY; LOOP INVARIANT; and PROGRAM VERIFICATION.
require only a small fraction of a second. Further improve-
ment may be obtained from the corresponding algorithm Algorithmics is the systematic study of algorithms—
in double-precision at a cost of both run time and addi- how to devise them, describe them, validate them, and
tional memory space. In each case the basic algorithmic compare their relative merits. As the study of algorithms,
concept is unchanged. algorithmics might be deemed a synonym for computer
Altering the basic algorithmic concept may provide science. In practice, however, the term is used primarily
an improved algorithm to accomplish a given task. For by mathematicians and mathematics educators, and it
example, three multiplications and two additions are re- connotes an approach to mathematics where the study of
quired to evaluate the quadratic expression ax’ + bx +c the calculations by which answers are obtained is an
in the order ((ax’) + (bx)) + c. Changing the concept of important as determining that answers exist. This is quite
the evaluation algorithm to (((ax) + 6) x) + c eliminates different from the approach to mathematics during most
one multiplication, resulting in a more efficient process. of the 20th century. At the school level, there has been
This will improve the speed of solution of the problem, much doing of algorithms, but in a rote way. At the univer-
and probably also improve the accuracy of the result. sity level, the emphasis has been on the existence and
The remaining important characteristic of an algo- structure of mathematical objects. But now, with comput-
rithm is its generality. While there are occasions when an ers, such large and complicated problems are tackled that
30 ALGORITHMS, ANALYSIS OF

it is natural to be more systematic about the methodology Output Poly


for computing answers. Thus, algorithmics means not
Nested Algorithm
only being explicit about the use of algorithms to do
Poly <—a,
mathematics (for instance, by using algorithmic language fori=1ton
(i.e. pseudocode) to describe solution methods), but it Poly — Poly*x + a, _ i
also means regarding algorithms themselves as worthy endfor
objects of mathematical study. Output Poly
Algorithmics is usually divided into three parts: de-
sign, verification, and analysis. Design is the process of Perhaps the least evident part of the discussion
creating algorithms and the study of good creation ap- above is the claim that the nested algorithm is valid. This
proaches (for instance, reducing to smaller cases and claim follows from checking that the following is a loop
top-down planning). Verification is proving algorithms invariant: At the end of the ith pass through the loop,
correct; the primary technique is mathematical induc- Poly=X; yi ‘~J, Upon termination, i = n, so it follows
tion, often expressed in terms of loop invariants (g.v.). from this invariant that Poly = p(x) at the end.
Analysis is the determination of the efficiency of an algo- Devising these algorithms, validating them, and ana-
rithm (how long it takes to run as a function of input size, lyzing their efficiency illustrate the main parts of algorith-
or how much memory is required) and, when more than mics. In fact, it can be shown that the nested method is an
one algorithm is known to solve a problem, a comparison optimal algorithm in a strong sense. (Nested evaluation
of their relative efficiencies (see ALGORITHMS, ANALYSIS OF). itself is quite old; Newton used it, though it usually goes
Better yet, but usually quite difficult, is to determine or at under the name Horner’s Method. Proofs of its optimality
least bound the optimal efficiency for any method that are much more recent.) More to the point here, the idea
solves the problem at hand. Determining the optimum that evaluating polynomials is indeed a problem gets at
over all algorithms for a problem is called determining the the heart of algorithmics. When one looks for algorithmic
computational complexity (q.v.) of the problem. issues in mathematics, both in elementary and advanced
Here is a simple example. Consider the problem of material, many new avenues for exploration are opened.
evaluating a polynomial p(x) = a,x" + --- + a,x + a.
From a classical mathematics standpoint, there isn’t any References
“problem” here; of course the polynomial has a value. But
1977. Engel, Arthur. “Elementarmathematik von algorithmischen
what if n is very large and/or we must compute p(x) for
Standpunkt,” Stuttgart: Ernst Klett Verlag, translated as “Ele-
many values of x? (These situations can arise in coding
mentary Mathematics from an algorithmic standpoint” by F.R.
theory or in approximating functions with polynomials.) Watson, Staffordshire, U.K.: KMEP, Univ Keele.
Then it’s worthwhile to devise competing evaluation 1985. Maurer, Stephen. “The algorithmic way of life is best,”
methods and compare them. College Math J, 16 (January) 2-18 (Forum piece and reply to
For instance, if the standard representation above is responses).
evaluated directly, it takes n multiplications to compute 1992. Maurer, Stephen. “What are algorithms? What is algorith-
a,x", n — 1 to compute a,_, x"', etc., for a total of mics?” In The Influence of Computer Science and Informatics on
n(n + 1)/2 multiplications and n additions. If powers of x Mathematics and Its Teaching, 2nd Ed. Paris: UNESCO.
are not recomputed, then the number of multiplications is
STEPHEN B. MAURER
2n — 1. This saving can be accomplished by computing
a,x" first, but saving the intermediate powers Bie ett
tained along the way and recalling them when lower-order
terms like a,_, x n-l are computed. However, even these ALGORITHMS, ANALYSIS OF
memory requirements can be avoided if terms are com-
puted from the low end, as shown in the pseudocode For articles on related subjects see ALGORITHM; ALGORITH-
below. MICS; ALGORITHMS, DESIGN AND CLASSIFICATION OF; ALGORITHMS,
Further savings are obtained if p(c) is rewritten in THEORY OF; COMBINATORICS; COMPUTATIONAL COMPLEXITY;
nested form, GRAPH THEORY; NP-COMPLETE PROBLEMS; SEARCHING; and Sort-
ING.
PO) = xGrex(a,xit a.) ha,
The analysis of algorithms can be partitioned into
Then only n multiplications and n additions are needed. two areas: algorithm complexity and problem complexity.
This method is perhaps best understood if we write it and The former is concerned with consideration of a specific
the preceding, more standard approach in algorithmic algorithm for a problem and the analysis of its behavior
language. with respect to the amount of memory space, time, or
other resource used. The latter is concerned with the
Standard Algorithm
class of all algorithms for a particular problem and the
Poly — a, + a, *x
Power —x determination of its minimum requirements with respect
fork = 2ton to space and time or other resources. Such analyses are
Power <— Power * x second in importance only to the determination of the
Poly — Poly + a, * Power correctness of an algorithm. They provide the means to
endfor choose intelligently and improve algorithms.
ALGORITHMS, ANALYSISOF 31

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

possible candidates. The brute force approach would


generate all of these n-tuples and evaluate each one. The
idea of backtracking is to build up the vector one compo-
nent at a time, using modified functions to test whether
the vector being formed has any chance of success. Back-
tracking becomes most efficient when the modified func-
tions are able to eliminate large sets of possible vectors.
A classic combinatorial problem is to place 8 queens
on an 8 x 8 chessboard so that no two “attack” that is, so
that no two of them are on the same row, column, or
diagonal. Assume that the rows and columns of the chess-
board, as well as the eight queens, are numbered 1 to 8.
We see that each queen will be on a separate row, so we
15x? + 120x+ 200 can represent a solution to this problem by a vector,
(%),..-, Xg), where x; is the column on which queen i is
FIG. 2 A binary tree containing an arithmetic expression.
placed. There are 8° = 16,777,218 tuples, so if an algorithm
contents being the expression shown at the bottom of the attempts to enumerate all of these and requires 1/10 of a
figure. In Fig. 3 you see the definition of a binary tree node second to generate each one, the algorithm will require
and a Pascal version of an algorithm that traverses a over 19 days to get its answer.
binary tree in such a way that ail children of a node are The backtracking solution makes use of two import-
examined before the node itself. When the program has ant facts that help to prune the number of vectors it must
processed a node’s children, it uses the evalop procedure consider. No two x,’s can be the same (all queens in
to evaluate the operator on its arguments. When the field different columns). This reduces the number of tuples to
contains a variable, such as x, evalop simply stores its 8! = 40,320. No two x;’s can be on the same diagonal. The
value in the data field. backtracking algorithm will proceed by generating a tuple
Some well-known examples of traversal-and-search so that, if (x,,...,x,) has already been picked, x,, ,is chosen
algorithms are preorder, postorder, and inorder traversal so that (x,,...,x;,,) represents a chessboard configuration
of binary trees, evaluation of postfix expressions, in which no two queens are attacking.
breadth-first and depth-first traversal of graphs, code Fig. 4 shows a chessboard on which queens have
optimization, “and/or” graphs of artificial intelligence been placed in columns 1 to 5. But with the configuration
(g.v.), and finding connected and biconnected compo- shown, no queen can be placed in column 6. So we back-
nents of a graph. track to column 5 and move the queen down column 5
looking for another “safe” square. However, none exists
Backtracking Backtracking is an appropriate algo- so we backtrack again to column 4 and move the queen in
this column down to row 7, which is also safe. Then we
rithm design strategy when the desired solution is ex-
pressible in the form (%,,...,x,), where the x, are chosen try again to put a queen in column 5, etc. Eventually, we
from some finite set S,. Often, the problem calls for finding find a solution: (1,1), (5,2), (8,3), (6,4), (3,5), (7,6), (2,7),
one vector that maximizes, minimizes, or satisfies some
(4,8). This is one of 92 solutions, 12 of which are really
criterion function. Sometimes it seeks all such vectors. If distinct, (i.e. not related to each other by some type of
the size of S, is m,, there are m = m,---m, n-tuples that are symmetry). All 92 solutions could be found by continuing

type btpointer = “btnode; { btpointer points to btnode}


btnode = record { a record with 3 fields}
leftchild : btpointer;
data : char;
rightchild : btpointer
end;

procedure postorder (cnode:btpointer);


{this recursive procedure visits a binary tree in postorder}
begin
if cnode <> nil then
begin
postorder(cnode”. leftchild);
postorder(cnode”. rightchild);
evalop(cnode™. data) { take the operator and
apply it}
end
end; { postorder}
FIG. 3 _ Pascal program for postorder traversal of a binary tree. FIG. 4 Backtracking in the 8-queens problem.
*
36 ALGORITHMS, DESIGN AND CLASSIFICATION OF

(e) (f) (9) (h)


FIG. 5 Arriving at one solution to the 4-queens problem. The dots represent unsuccessful at-
tempts to place a queen. Backtracking occurs after displays (c) and (e).

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

The headquarters of ASIS are located at 1424 16th


Street, N.W., Suite 404, Washington, DC 20036

Technical program The technical and professional


AMERICAN STANDARD CODE
activities of ASIS extend from the work of the Special FOR INFORMATION
Interest Groups and the 27 regional chapters and 27 stu- INTERCHANGE. see ascit.
ANALOG COMPUTER 43

ANALOG COMPUTER log computer in the mid-1930s and is credited by many to


have first used feedback amplifier theory to develop the
For articles on related subjects see ANALOG-TO-DIGITAL AND
operational amplifier (see Holst, 1971). He envisioned the
DIGITAL-TO-ANALOG CONVERTERS; CONTROL APPLICATIONS; DiF-
analog computer as an electronic model of the system to
FERENTIAL ANALYZER; DIGITAL COMPUTERS; HYBRID COMPUTERS;
be studied. Independently of and shortly after Philbrick’s
NUMERICAL ANALYSIS; and SIMULATION. first work, the Bell Telephone Laboratories developed the
M-9 Gun Director under the impetus of the then impending
Background The history of the analog computer World War II. The M-9 computer was a union of electronic
goes back to antiquity, when tax maps were first reported analog computation and the mechanical differential an-
as being used for assessments and surveying. However, alyzer. The first published work seems to have been hand-
this article is confined to the analog computer as it books accompanying the M-9 Director.
evolved in the period from World War Il to the present Following World War Il, J. B. Russell of Columbia
time. (For those interested in the history of the analog University brought the electronic circuitry used in the
computer from antiquity to World War Il, the reader is M-9 Gun Director to the attention of J. Ragazzini and
referred to an excellent article by J. Roedel, 1955.) others. Basing their work on the operational amplifier
Between World Wars | and II, much work was done in used in the M-9 Gun Director, Ragazzini, Randall, and
developing the mechanical differential analyzer, a close Russell (1947) built an all-electronic d-c analog computer.
relative of the modern analog computer. Simultaneous Immediately thereafter, several companies designed
equation solvers and harmonic analyzers of many types and developed analog computers for their own use and
appeared in the 1920s and 1930s. Special-computers in the for sale to others. In 1948, Reeves Instrument Co., under
form of network analyzers for the simulation of power a Navy contract, built the forerunner of the first commer-
networks appeared around 1925. The network analyzer is cially available analog computer.
a passive analog element. A scale model of the particular Many companies have entered and left the analog
network to be studied is made with resistors, capacitors, computing field since its birth in 1948. By 1992 almost all
and inductors. The early network analyzers could be used purely analog computers had been replaced by hybrid
only to investigate steady-state problems, i.e. voltage computers or purely digital systems.
drops along lines, possible current flow in lines, etc. The
more recent network analyzers can be used to investigate Types of Analog Computers Fig. 1 shows the
transient conditions during faults or switching on net- classification system used to characterize analog com-
works. These may be considered true general-purpose puters. The two main branches of analog computers are
computers. direct (special-purpose) and indirect (general-purpose)
George H. Philbrick worked on an all-electronic ana- computers, as shown in the figure.

Modern
computers

Analog computers
Digital computers Analogous system operates in
parallel on continuous variable

Indirect Direct
(General purpose) (Special purpose)

Electrical | Mechanical Electrical Hydraulic Mechanical Pneumatic


Electronic Slide rule Resistance-capacitance arrangement Towing tanks | Scale models Acoustical and
Linkages representing electrical networks River watershed Windtunnels other:
Bush analyzer RC Networks representing heat transfer models Pilot plants
Planimeter problems and heat exchangers
Ft
Norden bomb sight | Anti-aircraft fire control predictors

Simulator- :
fe
General purpose erainara pestaes
mecironic s0aio4 (Fixed Simulated instruments
se vergliseanhlS// purpose) and displays
‘\ —— ZA,

FIG. 1. Types of analog computers.


44 ANALOG COMPUTER

i/

Digital logic (discrete)

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

generally to less accuracy than the analog computer solu-


tions thereto. For a detailed discussion of error analysis
of analog programs, see Hausner (1971).
Capacity. Modern self-contained analog computers
may have any capacity, from the very smallest sold today
(such as ten amplifiers and ten potentiometers) to the
largest capacities currently being sold as single units, High-gain
which have a capacity generally measured as 250-300 d-c amplifier
amplifiers, 200-300 potentiometers, 60 multipliers, 20-40 gain =—A
function generators, and significant quantities of digital
logic devices, such as comparators, flip-flops, “and” gates,
“one-shots,” shift registers, and counters. If a larger ca-
pacity than that available in a single unit is required in a
single problem, then two or more units may be connected FIG. 3. Block diagram of an operational amplifier.
together to form a single, large, analog computing system.
Analog computing systems containing more than 1,000 A further property of the high-gain amplifier is that
amplifiers have been successfully assembled. the current i, is at least a factor of 10* smaller than i, SO
Acommon use of analog computers occurs as a major that i,can be set equal to zero; consequently, F is a voltage
portion of a hybrid computer .Hybrid computation gener- that is much smaller (by at least a factor of 10*) than
ally enlarges the equivalent capacity of the analog part of either V, or V, so that E = 0. Then
the system by a factor of about 2. This is due to the mix of
high-frequency and low-frequency parts of a problem. If a Viied,
hybrid computer problem were put on an all-analog ma- V; Z; (3)
chine, it would usually require at least twice as much
This is the fundamental relationship in analog computation.
analog equipment as that required in the hybrid solution.
The output voltage will not be affected by the internal
characteristics of the amplifier; it will be governed by, and
its accuracy will be dependent upon, the accuracy of the
Basic Concepts input and feedback elements.
The Operational Amplifier
Inversion When both Z, and Z, are resistors, the
General amplifier output will be a constant times the input volt-
age. If both are equal, the constant is unity and we have
The operational amplifier is the basic component in the an inverter, as shown in Fig. 4.
analog computer. It can be used in a “summing mode” to To represent an inverter on computer circuit dia-
perform the operations of inversion, summation, and mul- grams, the symbol shown in Fig. 5 is used. Fig. 5 is the
tiplication by a constant. It can also be used in an “inte- “shorthand notation” for Fig. 4. Note that the number 1 at
grating mode” to integrate a voltage or the sum of a the input to the amplifier signifies a gain of 1. The change
number of voltages. The change from one mode of opera- in sign is inherent with the amplifier.
tion to another is determined by the feedback element
around the amplifier. Summation If several input resistors are con-
The Fundamental Relationship nected to asumming junction SJ at the grid of an amplifier
and voltages are applied to them, as shown in Fig. 6, then
To understand the basic operations performed by the
amplifier, consider the block diagram in Fig. 3. Associated R,=1M
with the high-gain amplifier are the input and feedback
networks, having impedances of Z, and Z,, respectively.
Now let the voltages at the input, the output, and the
amplifier grid be V, V,, and E, respectively. Using
&g = ei,
Kirchoff’s and Ohm’s laws, we may write

V-E V,-E
——_ =i
i Z; : (1) FIG. 4. The inverting amplifier (M = megohm).

where i, is the grid current. By definition

= -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.

(owing to the fact that the grid voltage of the amplifier is


effectively at zero potential) no single input will interfere R 1
ein )
with any other input, and their effects on the output will
be independent of one another. It is easily derived, then,
that
FIG. 9. Operational amplifier with capacitor feedback and
resistor input.
eA Botasiee,MiBeige
Pacer R, Crt... soit
R. es (4)

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.

Note that the proportionality factor RC is actually a time


constant that, if we make R = 1M and C = Ipf (i.e. atime
constant of 1 sec), will produce an integration rate of 1
ey volt/sec when e; is equal to 1 volt.
Modern analog computers are equipped with integra-
& tors that have a variety of selectable time constants. The
range of time constants normally encountered is from 10
&3
sec (for very slow real-time solutions) to 100 us (for very
&,4 fast iterative and/or repetitive solutions).
Several inputs may be connected to produce the
& integral of the sum of a number of voltages. Figs. 10 and
11 show a typical integrating amplifier and its equivalent
&
symbol. There is also an input terminal for inserting inde-
FIG. 7. Example of a summing amplifier. pendent initial conditions on each integrator.
48 ANALOG COMPUTER

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.

Operate This mode produces the time-variant solu- Multiplication by a Constant


tion. Derivative terms are connected to integrator grids,
initial condition networks are disconnected, and capaci- Potentiometers
tors associated with integrators are connected to the
Multiplication by a positive constant less than unity can
grids of integrator amplifiers. be achieved with a potentiometer. The most common
“pots” on 100-volt computers are ten-turn, 30,000-ohm,
Hold This mode provides a stationary solution at t
linear, wire-wound potentiometers with one end con-
= T (HOLD may be selected manually by operator or se-
nected to ground, as shown diagrammatically in Fig. 12.
lected by a computer for a previously defined value of f).
They can be used either in conjunction with the reference
Derivative terms and initial condition networks are dis-
to obtain a fixed accurate voltage less than the reference
connected from the integrators, capacitors remaining as-
or in conjunction with a signal voltage to multiply that
sociated with integrators.
voltage by any constant less than unity. For example, if
Repetitive Operation +100 volts is applied to the high end of the pot, as shown
in Fig. 12, the output at the wiper will be & times 100 volts,
In this mode all integrators are switched or cycled auto-
where k = R,/R, (neglecting the effect of external loading).
matically from reset-to-operate to reset-to-operate, etc.

The Potentiometer Symbol Two forms of potenti-


ometer or, as it is sometimes called, attenuator, are shown
+ Reference
in Fig. 13; both electric circuits and analog programming
symbols are shown.

e,, = + 100 volts


high

Ry er ear €g = 100k volts

&

& = 7e, —So (10e, + 10e, + 10e, +e, +e, + eg)dt


FIG. 12. Schematic of a potentiometer shown with +100 volts
FIG. 11. The symbol for the integrating amplifier of Fig. 10, connected to the input side to give an output at the wiper of
including the initial condition. +100 k volts, where k = R}/Rr.
ANALOG COMPUTER 49
x = input

kx = output

= Circuit

high

k(x —y) + y k + k(x-—y)


+y

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.

Application to Linear Differential Equations


AMPLIFIER AND POTENTIOMETER CIRCUITS While the analog computer is most useful in solving com-
plex, nonlinear differential equations, it is instructive to
Addition, Subtraction, and Sign Inversion consider a linear differential equation example to learn
Amplifiers Only how it is programmed.
The Bootstrap Method. Consider a mechanical system
Circuits are shown in Fig. 14. with a sinusoidal forcing function
Arbitrary Gains (using pots), Including Multiplication
F(t) = yD = Asin of, (9)
and Division by a Constant

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

29% (Note paralleling of inputs


to obtain a gain of 2)

FIG. 14.

- (ax + 10by) +1.6y

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

- 10b f,'x dt +at+c

FIG. 16. Integration circuits.

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

For example, quarter-square multiplication could be


mechanized, as shown in Fig. 21. The boxes marked FG are
function generators (described in the next section),
which here have the property of producing the square of
the input variable.
General-purpose analog computers have quarter-
square multipliers with fixed squaring networks that can
be used for either one product or two squares. Here we
adopt the convention that the multiplier has all the nec-
essary hardware and therefore can be regarded as a
“black box.” The symbol for multipliers is shown in
FIG. 17.
Fig. 22.

The Transconductance Multiplier


x oh tl
oS atts te a.
= (12)
Consisting basically of a number of transistor-resistor
Se networks, this device can produce the best high-fre-
et (13) quency-accuracy product available today. Manufactured
in high volume, using integrated circuit and laser trim-
where ming techniques, it is also the lowest cost multiplier
available (see Sheingold, 1978).
Pee
x=
ener dy
qe y= de
sax
aah etc. Squaring

Squaring is accomplished by connecting the same vari-


The symbolic analog computer diagram for Eqs. 12 and 13 able to both inputs of a multiplier, as shown in Fig. 23.
is shown in Fig. 18.
Division and Square Root by Use of
Using the necessary summers, integrators, inverters, Implicit Arithmetic
and pots, the inputs to the derivatives are generated and
the diagram of Fig. 18 becomes that of Fig. 19. A nonlinear component may be used in the feedback loop
The initial condition for —y/w is obtained from around high-gain amplifiers to perform the inverse of the
operation that the component performs in the forward
loop configuration. The most frequent use of this tech-
ee eine iaties0
@ dt (14) nique is in division and square root circuits with multipli-
ers.
An alternative method is to sum the acceleration terms
for X directly into the x integrator. This saves one sum- Square Root Refer to Fig. 24. Let
ming amplifier, as shown in Fig. 20. The y circuit remains
the same, since no saving of amplifiers would occur in e=XK— 72 (16)
that circuit.
and assume that, for a high-gain amplifier, the output is
related to the input grid voltage
NONLINEAR OPERATIONS
Z=AeE dy
Multiplication and Division of Variables

The Quarter Square Multiplier where A > 10°. Eliminating e,

Consisting of a number of diode-resistor networks, cou-


Z
pled with op amps, this device can produce high-accu- X-Z
—_ 2 esi 0. (18)
racy products of two variables, at frequencies up to 1 Khz.
Its fundamental operation is derived from the relation.
Therefore,

1+ 1-4-1 =2Y. ‘ts Z=X" (19)

y y/@

FIG. 18.
52 ANALOG COMPUTER

FIG. 19.

FIG. 20.

%(X + Y)?

FIG. 21. Quarter-square multiplication.

Ne

FIG. 22. Multiplier symbol (note the sign inversion).


ANALOG COMPUTER 53

Zz -2?

FIG. 23. Squaring circuit.

FIG. 26. Division circuit (X >0).

the multiplier terminal in order to satisfy the stability rule


described above for the square root circuit.
Since some analog computers have provision for au-
tomatically converting a multiplier to a divider, a conve-
nient symbol to use is shown in Fig. 27.

FIG. 24. Square root circuit (X >0). 7 Special Multiplier Hookups

Some multipliers have provisions for obtaining special


For stability, the feedback loop must have an odd sign-sensitive squares and square roots, which are im-
number of inversions of the signal so that the sum of the portant in fluid flow phenomena. As an example, take the
currents through the input resistors to the amplifier grid case of the flow of fluid through an orifice, which is
is equal to zero (e). It is this rule that allows the determi- proportional to the square root of the pressure drop
nation of the sign of the output, which would otherwise across the orifice. If the reverse flow is to take place, it is
be indeterminate. necessary to implement the equation
Note that a squaring device has the property of act-
ing as a sign changer for only one sign of the input vari- Q = sign(AP) (AP)”” (20)
able. In analog multipliers there is usually a built-in sign
inversion, as described previously under “Amplifier and Similarly, drag forces acting on bodies moving
Potentiometer Circuits,” so that analog squarers act as through fluids are generally proportional to the square of
sign inverters for positive inputs only. Consequently, in the relative velocity between body and fluid, and are
the square root circuit the squarer counts for zero inver- opposite in sign to the direction of motion. It is necessary
sions, since when Z is negative the output —Z is also to implement the equation
negative. The one inversion in the circuit is the high-gain
amplifier producing —Z = —(X)”. Carag = —sign(V)'V?. (21)
Note also that the circuit is stable only forX > 0. For
values of X < 0, an additional inverter must be placed in By a simple patch change on modern analog computers,
the feedback loop, and the output of the high-gain ampli- the two operations exemplified by Eqs. 20 and 21 are
fier becomes + Z = (—X)"”. directly implemented without requiring any special logic-
Since modern analog computers have provision for switching operations. Since these are direct analog out-
automatically converting a multiplier to a square root puts, convenient symbols may be used, as shown in Fig.
circuit, a convenient symbol to use is shown in Fig. 25. 28. Note that the two special multiplier hookups in Fig. 28
apply only to squaring and extracting square roots.
Division Circuit Similarly, for division (Fig. 26), let
Function Generators There are two types of function
e=Y-XZ, Z=Ae generators commonly in use today, diode function gener-
y —-XZ=Z2/A=0, Z= Y/X. ators (DFG), and digitally controlled function generators
(DCFG). These are used to insert, or input, arbitrary func-
Note that X must be positive but that Y can be of either
sign. Also note that the negative of X must be brought to

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)

FIG. 29. Diode circuit for output slope change at origin.

+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

FIG. 31. Complete DFG circuits, including bias pot Yo.


eo

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

X= x, Special Function Generators (Fixed-Function


Generators)
Nicpdomei (22)
Certain functions such as exponentials, sines and co-
sines, squares, and cubes recur so often in engineering
is the normalized value of x in the interval [x,, x,,,]. The
and scientific studies that it has been found useful to
equation used to generate f(x) is then
build fixed-function generators for these operations.

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]

f(x) = Axf(xi-1) + (1 - Ax)f(x,)

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

FIG. 35. The sin/cos generators.


ANALOG COMPUTER 57

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.

X° and X‘ Generators These are similar in opera-


tion to the previously discussed special generators,
differing only in the output function. The programming
symbols are shown in Fig. 41. The X* generator is partic-
ularly useful in heat radiation studies.
Functions of More Than One Variable

In the past, most analog programmers resorted to some


mathematical juggling or simplification of functions in
order to be able to use multivariable functions in an
FIG. 38. Polar resolution geometry. analog computer. For example, a function f(x,y), may
ANALOG COMPUTER 59

+ 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

FIG. 42. Origin discontinuity circuit.

+R

X. negative
X, positive

FIG. 43. Dead-space circuit.

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

aided by the rapid development of sophisticated, yet


ANALOG-TO-DIGITAL AND
inexpensive microcomputer systems and by the ability to
DIGITAL-TO-ANALOG now integrate both analog and digital functions on single
CONVERTERS VLSI (Very Large Scale Integration) chips.
For articles on related subjects see ANALOG COMPUTERS;
DATA COMMUNICATIONS; and HYBRID COMPUTERS. Some Applications A simple classification of appli-
cation areas where A-D and D-A converters are used is
Whenever it is necessary to communicate between given below.
analog and digital systems, analog-to-digital (A-D) and/or
digital-to-analog (D-A) converters are required. These Digital Control Systems Fig. 1 is a block diagram illustra-
converters form basic links between the world of “real” tion of a digital control system. Variables originate within
phenomena, where the variables are generally continuous the plant or system. They are sensed by an analog sensor,
analog quantities, and the “engineer designed” world of digitized by an A-D converter, and then transmitted to a
digital information processing and data communications, digital processor. If the processor merely manipulates and
where the variables are discrete quantities. stores this information, the system is a simple data acqui-
The number of applications and types of converters sition system. If, on the basis of the input information,
available has grown significantly in recent years. This has control signals determined by the processor are returned
resulted from increased recognition of the capabilities of to the plant, then a digital control system is present. A
digital, as opposed to analog, signal processing and data variation on this system requiring fewer converters can be
transmission. The importance of these capabilities is ap- designed if the signal frequencies and number of sensors
plication-dependent; however, in general, the advantages and controllers are not excessive (Fig. 2).
of digital processing and transmission lie in the increased
accuracy, noise immunity, processing flexibility, and stor- Communications and Entertainment Systems The ad-
age facilities afforded by the digital format. This increas- vantages of digital data transmission have resulted in
ing use of digital processing of analog signals has been extensive use of converters as parts of telemetering,

Analog
Sensor

Analog
Sensor
Plant or
Digital
System To
Processor
Be Controlled
Analog
Controller

FIG. 1. Digital control system.

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

FIG. 2. Digital control system with multiplexers.


ANALOG-TO-DIGITAL AND DIGITAL-TOANALOG CONVERTERS 63

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

FIG. 3. The basic ideal relationships.

Reference
Voltage

Digital Input Resistor Output Analog


Input Register Network Amplifier Output

Basic D-A Converter

FIG. 4. D-AConverter and Accessories.

Sign __ Sign __
Bit Bit

MSB — MSB—

Bit 2— Bit 2-

LSB-—

Switches Resistance Network Switches Resistance Network

(a) pyle
R/2R D-A Converter R/2 R D-A Converter
FIG. 5

64
ANALOG-TO-DIGITAL AND DIGITAL-TOAANALOG CONVERTERS 65

Another simple D-A converter based on summing Va


currents is shown in Fig. 5(b). This has the advantage of
Analog Input —]—O
requiring only one resistor per bit; however, a large range
of resistance values is necessary, making it impractical |
|
for monolithic and hybrid circuit manufacturing tech- |
niques. |
L
A-D Converters A simple form of A-D converter is
shown in Fig. 6. A conversion begins after the reset signal
clears the counter. The counter now receives clock pulses
Digital
and is incremented with each pulse. The counter output Output
is a digital word representing a voltage level. This word,
received by the D-A converter, results in an analog signal, FIG. 7. Dual slope integrating A-D converter.
which is compared with the incoming analog signal. When
the comparator signal becomes positive, the counter at verter is the “Integrating” converter. A “dual slope”
that point holds the correct digital representation of the version is shown in Fig. 7. The converter operates by
analog signal. An “output ready” signal indicates that this first integrating the unknown analog input voltage for a
has occurred. fixed period of time. During this time period, a voltage
The method, though simple, requires a relatively long proportional to the input builds up on the integrating
time for a complete A-D conversion due.to the counting capacitor. After resetting the counter to zero, a fixed
process. This time increases by a factor of two for each reference voltage of opposite polarity is now applied to
additional bit and makes the method unsuitable for cer- the integrator and the counter is started. When the null
tain applications. A modification to the above technique, comparator recognizes that the integrator output has
which speeds up the converter, calls for the incrementing reached zero, the control logic is notified and the counter
counter to be replaced with an “up-down” counter. Here, is stopped. The output count is proportional to the ratio
once a comparison has been made, the counter is de- of the input voltage and referenced voltage. Since the
signed to increment or decrement on each clock pulse, reference voltage is known, the count is therefore a
depending on the output of the comparator. The counter binary representation of the analog input. Triple and
thus follows the analog signal and the full counting pro- quad slope architectures that greatly increase the con-
cess is not necessary on each conversion if large changes version speed at the cost of added complexity are also
in the analog input do not occur. possible.
With the “Successive-Approximation” converter, the A more recent design that is gaining widespread ac-
counter box is assumed to contain a register and control ceptance in those applications requiring high dynamic
logic. The converter operates by successively consider- range, accuracy, and superior noise properties (e.g. digi-
ing each bit position in the register and setting that bit to tal audio) is the Sigma-Delta A-D converter (Fig. 8). The
a one or a zero on the basis of the comparator output. The high gain negative feedback loop provides for sampling of
MSB is first set to a one with all other bit positions set to the analog input at a rate substantially higher then the
zero. This word then enters the D-A converter and the D-A bandwidth of interest. The loop comparator output is fed
output is compared with the analog input. If the result into a digital filter that, by weighting successive bits ap-
indicates the analog input is larger, then the one in the propriately, creates the desired output (Boser and
MSB is kept; otherwise, it is set to zero. The remaining bit Wooley, 1988). The design exploits technology develop-
positions are considered successively in the same man- ments that permit effective integration of analog and dig-
ner and a decision is made on each bit position. After the ital functions on the same VLSI chip.
LSB is considered, the results of conversion are found in For higher-speed A-D conversion, all—or nearly all—
the register. Unlike the counting method, the conversion parallel methods are available. The simplest method uses
time with this method is constant for every possible an analog comparator for each quantization (Fig. 9). Each
analog input, and this approach is often used in high- comparator (C) represents a voltage level, and these lev-
speed converter design. els are coded into the appropriate three-bit codes with an
A somewhat lower-speed but high-accuracy A-D con- encoding network. Though conversion effectively re-

Digital
Output

D-A Output
Comparator
Converter Ready

Analog Input

FIG. 6. Counter A-D converter.


66 ANALOG-TO-DIGITAL AND DIGITAL-TO-ANALOG CONVERTERS

Integrator
Analog 0 Comparator
input

Digital Digital
filter output

Differential
amplifier

FIG. 8 _1st-Order Sigma-Delta A-D Converter.

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

FIG. 9. |Three-bit parallel A-D converter.


| Encoding Network
| Digital
Output
ANALOG-TO-DIGITAL AND DIGITAL-TO-AANALOG CONVERTERS 67

Analog
output Analog
output
Analog
output Analog
output

Digital input Digital input Digital input Digital input


(a) Nonlinearity (b) Nonmonotonicity (c) Gain error (d) Offset error
FIG. .10. D/A errors (Sheingold, 1986).

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

the Jacquard pattern-weaving loom the idea of a sequence


ANALYTICAL ENGINE
of punched cards to provide a more flexible alternative to
For articles on related subjects see BABBAGE, CHARLES; DIF- this “user program” barrel.
FERENCE ENGINE; and DIGITAL COMPUTERS: HISTORY: ORIGINS. By late 1837, Babbage had developed all of the essen-
tial ideas for a flexible programmed calculating machine.
The analytical engine, designed by Charles Babbage Subsequent work on the analytical engine was more tech-
between 1833 and 1846, anticipated many features of elec- nical in nature. Babbage repeatedly re-examined all of the
tronic computing devices invented in the 1940s and 1950s. basic elements to see if they could be simplified or
Although mechanical in all its operations, the analytical speeded up, conflicting tasks at which he proved remark-
engine could carry out calculations of arbitrary complex- ably imaginative and productive. Much work was applied
ity under the control of punched cards. Conditional to the “architecture” of the analytical engine—the func-
branching was possible, and Babbage had prepared test tional arrangement of the component mechanisms and
programs that included elaborate calculations based on the all-important microprograms for multiplication, divi-
nested loop structures. In a beautiful anticipation of twen- sion, and other operations.
tieth century thinking, Babbage showed that, given suffi- Some of the microprograms are remarkably sophisti-
cient time, any finite calculation could be carried out by cated. Signed addition, for example, is “pipelined” so that
the analytical engine. several additions are in progress simultaneously. Each
Babbage commenced work on the design of the ana- stage of the pipeline is controlled by its own barrel. These
lytical engine in 1833 after the collapse of the project to step independently through their own microprograms
build his difference engine (q.v.). Babbage had realized while co-operating to maximize the flow of operands
that the second difference of the sine function is propor- through the pipeline. It would be an impressive piece of
tional to the sine itself. If the difference engine could be technical design even today.
rearranged so that the tabulated value of the sine could In contrast, Babbage’s user-level programs are a dis-
be “fed back” to become the second difference; the sine appointment. Most were prepared in the early years of
could be calculated directly without an intermediate poly- Babbage’s work on the analytical engine, and almost all
nomial approximation. This image of the engine “eating its are elementary. They are well described in the notes by
own tail” led Babbage to place the number stores of the Ada Lovelace, where the idea of nested loops is developed
difference engine around a set of central gear wheels that in painful detail. On the strength of these notes, Ada
served as a “data bus” to transmit numbers from one Lovelace has been considered the “world’s first program-
store, or “register,” to another. mer,” but the accolade is unwarranted. The notes were
Unfortunately, it requires a multiplication to form the written at Babbage’s direction, as he had earlier directed
second difference of the sine function. Babbage realized papers by Lardner and Menabrea, and the example pro-
that this multiplication could be implemented as a se- grams were prepared by Babbage, mostly many years
quence of shift and addition operations. This would be before. In later years, Babbage’s interest in user-level
excessively slow, however, if the addition used the ripple- programs was almost non-existent. However, his reputa-
carry of the difference engine. Babbage’s anticipating tion as a “programmer” rests secure in the very sophisti-
carry, amechanical equivalent of carry-lookahead, greatly cated microprograms of the barrels.
speeded multiplication. But its complexity led Babbage to Disenchanted by the attempt to build the difference
separate the analytical engine into two distinct parts—the engine, Babbage did not attempt to build the analytical
store, in which numbers are normally kept, and the mill, to engine at this time, but treated the design as merely an
which they are brought for calculations. intellectual pursuit. In the mid-1850s, however, Babbage
Division needs little more calculating apparatus than returned to the analytical engine and simplified it so that
multiplication, but its control is more complex, as division it might be built within his own means. Although this
is inherently a trial-and-error process. To control the ana- period showed remarkable technological innovation, and
lytical engine, Babbage developed barrels, similar in prin- a test piece using diecast components was nearing com-
ciple to a music box, in which each row of pins puts into pletion at the time of his death in 1871, the brilliance of
gear those parts of the calculating mechanism that must the earlier years was missing.
act during one cycle of the drive shaft. Multiplication and
division each require many cycles, and the barrels step References
backwards and forwards from one row of pins to another
1987 Bromley, A.G. “The Evolution of Babbage’s Calculating En-
to control the various stages of each operation. Some pins
gines,” Annals of the History of Computing, 9, 113-138.
on the barrel control this movement, which may be con- 1990 Bromley, A.G. “Difference and Analytical Engines,” in Aspray,
ditional upon an intermediate calculational result. In ef- W. (ed), Computing Before Computers, Ames, IA: lowa State
fect, the barrel is a microprogram (qg.v.) store, and University Press.
complex operations are implemented by microprograms
represented by rows of pins on the barrel. ALLAN G. BROMLEY
Babbage envisioned that the overall calculation per-
formed by the analytical engine would be specified by a
further barrel that initiated sequences of operations by
the barrel just described, that is, a hierarchical organiza-
tion of control. But in June 1836, Babbage borrowed from ANIMATION. See Computer ANIMATION.
APPLE COMPUTER, INC. 69

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.

An Industry Grows Up _ During the next four years,


the personal computer industry exploded into the con-
sciousness of everyday life—in the U.S. and abroad.
FIG. 1. Apple co-founders Steve Wozniak, left, and Steve Jobs
Large, well-established manufacturers of mainframe com-
with the original motherboard of the Apple I. (Courtesy of
puters, office systems, and telecommunications prod-
Apple Computer, Inc.)
70 = APPLE COMPUTER, INC.

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

Gassee quite Apple in March 1990 when he and Sculley


failed to agree on product development direction. Sculley
took over direct supervision of Apple’s research and de-
velopment efforts. Michael Spindler, previous head of
Apple France, was chosen as Apple’s chief operating offi-
cer and later was also given the title of president of the
company.
In October 1990, Apple instituted an aggressive strat-
egy to gain share in all segments of the market with the
introduction of lower-priced Macintosh systems—The
Macintosh Classic, the Macintosh LC, and the Macintosh
Ilsi and lower-priced laser printers. As a result, Apple’s
market share began to increase despite an overall indus-
try downturn. The downturn, which continued into 1991,
tas AS see and overspending inside Apple led to the company’s sec-
FIG. 2. The popular Apple IIGS computer—the last of the ond massive layoff in a decade when 1,200 persons lost
Apple II line—which launched Apple computer 14 years ago. their jobs, reducing Apple’s worldwide employee base to
(Courtesy of Apple Computer, Inc.) about 13,000 people.
In May 1991, Apple began delivery of System 7, anew
high-powered workstations for universities and busi-
version of its proprietary operating system intended to
nesses. eis
make the system even easier to use and more powerful.
From 1987 through 1991, Apple continued to intro-
Apple views System 7 as an answer to Microsoft’s Win-
duce new versions of the Macintosh that made it faster,
dows 3.1 for the IBM-PC and compatibles.
more powerful, and more able to network with computers
based on the MS/DOS operating system. While Apple
The Alliance In October 1991, Apple Computer
remained dominant in the education market, by 1991 its
reached an agreement that startled and confused custom-
share of the business market was just slightly more than
ers and employees alike because it paired the upstart
10 percent, with low-priced clones proving to be ex-
Cupertino, California-based company with one of its arch
tremely tough competition. It was that intense price com-
rivals, International Business Machines, Corp. (IBM), in
petition that spurred Apple to seek an alliance with IBM
an alliance called Taligent to create new technologies that
in 1991 in an attempt to insure that Apple’s technology
both companies tout as being crucial to their futures.
could communicate with other, more dominant comput- The agreement consists of five distinct technology
ers in the business market. initiatives. Three expand the companies’ current technol-
After years of pursuing a strategy of high gross mar- ogies. Two focus on the creation of new technologies that
gins, Apple realized it would remain a niche player, espe- both companies expect to be foundations for what they
cially in the business market, unless it lowered its prices term “the second decade of personal computing.”
and expanded its market share. Reaching this decision Both companies vowed to remain tough competitors
came at a heavy cost. Employees endured several com- in the marketplace despite belief that alliance was neces-
pany reorganizations, executive management hiring, and sary for long-term survival and to insure that innovation
firings that included the dramatic exit of technology vi- in the personal computer arena continues. Market ana-
sionary Jean-Louis Gassee, president of Apple Products, lysts view the teaming of the two biggest makers of per-
who in many respects had years before stepped into the sonal computers as a direct assault on software maker
void left by Jobs as the company’s technolegical leader. Microsoft Corporation, which during the past decade has
grown increasingly powerful in the world of the IBM-PC
and compatibles.
Rivals IBM and Apple agreed to more closely inte-
grate Apple’s Macintosh technology into IBM networks.
They also agreed to create, with the help of Motorola, Inc.,
anew family of Reduced Instruction Set Computing (RISC)
(q.v.) microprocessors optimized for personal computers
and entry-level workstations (q.v.). Derived from IBM’s
single-chip implementation of its POWER RISC architec-
ture, the proposed PowerPC chips are scheduled to be
made by Motorola and IBM for both Apple Macintosh and
IBM computers by 1994.
The two companies also signed licensing agreements
for a new open-systems environment they called
“PowerOpen,” derived from AIX, IBM’s industry-standard
version of Unix, the Macintosh interface, and the POWER
FIG. 3. The Macintosh Plus—one of the earliest Macintosh architecture. The companies claim that the environ-
computers. (Courtesy of Apple Computer, Inc.) ment—not available until 1994—will enable a computer
72 APPLICATIONS PROGRAMMING

system to run both Macintosh and AIX applications on


RISC-based hardware from both companies.
John Sculley, Apple’s chairman and chief executive
officer, announced at the same time that by the end of the >
1990s all Apple products will be based on RISC architec-
ture (g.v.).
The two new technologies that these competitors
agreed to jointly develop are multimedia technologies
that enable computers to seamlessly integrate text,
sound, video, and graphics and a new operating system
based totally on object-oriented programming (OOP-g.v.)
technology. Both companies say they will use the new
operating system in future products—Apple in future
Macintosh computers and IBM in OS/2 and AIX technol-
ogy. Part of the deal included a cross-licensing of patent FIG. 5. Apple’s latest product—Macintosh PowerBook note-
and visual displays, including a limited license to the book computers. (Courtesy of Apple Computer, Inc.)
Macintosh visual displays.
Apple’s top-of-the-line machine is the Macintosh
house, Sony Corp.), PowerBook 140, and PowerBook 170,
Quadra 900 (a tower design), and the desktop Quadra 700.
all of which weigh 5 pounds and include an integrated
Both run at twice the speed of Apple’s previous top-of-the-
trackball and palm rest, full-size keyboard, full page-width
line computer, the Macintosh FX, by virtue of being pow-
screen, Apple’s System 7 operating system, AppleTalk
ered by the 25MHz 68040 Motorola microprocessor. The
Remote Access software, an SCSI port for peripherals
68040 contains more than 1.2 million transistors, so key
connection and a sound-output port and speaker. Each
features can be incorporated directly onto the chip, in-
PowerBook includes at least 2 megabytes of memory
cluding 8K of fast cache memory (q.v.), a floating point
expandable to 8 megabytes and a 20-megabyte or 40-
co-processor and a memory management unit. According
megabyte internal hard disk. They differ in power, ranging
to benchmark studies by Ingram Laboratories, the Quad-
from the PowerBook 100, based on the Motorola 16 MHz
ras run faster than 80386- and 80486-based personal com-
68000 microprocessor, up to the PowerBook 170, featur-
puters.
ing the 25 MHz 68030 microprocessor and 68882 math
The Quadra line features built-in high-performance
co-processor combination—computing power equivalent
ethernet and LocalTalk and a new input/output subsys-
to Apple’s Macintosh Ilci.
tem based on ASIC—Application-Specific Integrated Cir-
By the end of fiscal 1991, Apple reported net sales of
cuit—that allows the Quadra computers to access
$6.3 billion, a 14-percent increase over fiscal 1990. Apple
peripherals and networks twice as fast as earlier Macin-
started fiscal 1992 (in October 1991) by announcing more
tosh computers.
CPU products than in any previous year in its history.
Two years after introducing the “luggable” 15-pound
Apple appears to have survived the personal computer
Macintosh Portable, Apple in October 1991 finally caught
industry’s second major downturn and positioned itself
up with the rest of the portable makers by introducing
with new products and new alliances to capture higher
three notebook-size computers (see LAPTOP COMPUTER).
market share during the personal computer industry’s
The Macintosh PowerBook line includes PowerBook 100
second decade.
(co-designed and manufactured by Japanese power-

Mary A. C. FALLON

APPLICATIONS PROGRAMMING
For articles on related subjects see PROGRAMMING LAN-
GUAGES; and SYSTEMS PROGRAMMING.

Applications programs are programs written to solve


specific problems, to produce specific reports, to update
specific files. The term is used in contradistinction to
systems programming which deals with the development
of the software tools that the applications programmer
uses. The programming languages that are used most
FIG.4. Apple’s newest high-performance computer, Macintosh often in applications programming are Fortran and Ada
Quadra 700 desktop computer and Macintosh Quadra 900 (¢.v.) for scientific applications and Cobol for data pro-
tower computer with security key. (Courtesy of Apple Com- cessing applications. Special Report Program Generator
puter, Inc.) (RPG) languages are used on small data processing com-
APPROXIMATION THEORY 73

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

5,(X) =Yia, x" n>wN


k=0
APPLICATIVE PROGRAMMING. See differ from f(x) by less than e. Such expansions are unique
FUNCTIONAL PROGRAMMING. whenever they exist.
Some of the more important methods for generating
series expansions are based upon the analytic properties
APPROXIMATION THEORY of the function. Let fx) be continuous and have con-
tinuous derivatives of all orders at some point x, in X.
For articles on related subjects see CHEBYSHEV APPROXIMA- Then the Taylor series expansion of f(x) about x, is
TION; LEAST SQUARES APPROXIMATION; NUMERICAL ANALYSIS; and given by
SPLINE.

Approximation theory concerns the following prob- f(x) = sy a,(x- X,)*


lem: Given a function f(x) defined for x in a prescribed set k=0
k
X, a family of functions G, and a metric d(f.g) (a mathemat- a, = f(x,)/E! = 5Yo oS
ical prescription for measuring the distance between two dy® |x=x
functions), determine a function g(x) in G that is “close”
to f(x) for x in X. For computer applications, f(x) is typi- Since this expansion is based upon a detailed knowledge
cally a continuous function of one real variable, X is a real of the function of x,, the Taylor polynomials g,(x) of
interval, G is a family of polynomials or of rational func- degree n, obtained by truncating the series, approximate
tions (ratios of polynomials), or of piecewise polynomials f@) well for small |x — x,|, but the error fx) — g,@%)
(splines - g.v.), and the metric is either a least squares typically grows monotonically in magnitude with increas-
metric

atau) =| (16) ~ gd} wed ae,


or the Chebyshev metric

d_(fg,w) = max, |[Ax) — g)] wo

where w(x) is a weight function. For the Chebyshev met-


ric, the weight is usually either w(x) = 1 or w(x) = 1/ fo),
where f(x) is assumed not to vanish forx in X. This latter
weighting is most useful when f(x) varies considerably in
magnitude across the interval X. Basic theorems examine
the existence, uniqueness, and characterization of g(x),
sometimes in very abstract settings. In this article we will
concentrate on polynomials as the most important ap- FIG. 1. Error e* — g,(x) = 1 + x + (x2/2!) + (3/3!) + (4/4)
proximating family, and on the Chebyshev metric, which for approximation over [—1,1] by fourth-degree Taylor poly-
is more important than the least squares metric in the nomial.
74 APPROXIMATION THEORY

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

where the derivation of the coefficients a, generally in-


volves methods from the theory of functions of a complex
variable. The expansion

The corresponding Padé approximation R,,(x) is obtained


arctan(x) = 7 2144 1
feSE oc
Sas Scans oa : by truncating the S-fraction to just the terms given above,
and is
valid for |x| > 1, is of this type. Truncation of Laurent
12+ 6x+x
series leads to rational approximations for f(x). R,,(x) = ——————_—
If the interval X is semi-infinite, X = [b,-), b > 0,a 2) Dex tae
divergent asymptotic expansion of f(x),
Fig. 2 shows the error e* — R,,(x) over the interval [—1,1].
Note that the maximum error is less than half of that
f (x) ~ s)Cd,koe associated with the fourth-degree Taylor polynomial.
k=0 By sacrificing accuracy in the neighborhood of the
point of expansion, it is possible to distribute the error
may yield useful rational approximations to f(x) even over the interval of approximation and to obtain better
though it does not converge to f(x) for any finite value of approximations to f(x) over X in the sense of the
Chebyshev metric. The rational Chebyshev, or minimax,
x. Let s(x) = , : oak x* be the partial sum of the asymp-
approximation to f(x) of degree (m,n) is that rational
totic series. Then, for any fixed value of x, there is ann
which minimizes the error |f(x) — s,(x)|. For fixed n, and
x sufficiently large, the error can be made as small as
desired. Thus, for particular ¢ > 0, it is usually possible to
choose first an n and then an X (i.e. a,b) so that s(x)
approximates f(x) to within € over X in the Chebyshev
metric. The derivation of an asymptotic series is often a
difficult task involving advanced mathematical tools. As
with power series, the expansions are unique.
If the Taylor series expansion for f(x) exists, then the
Padé table for f(x) is the array of rational approximations

+ 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.@);

where which is the minimax approximation tox" by a polynomial


of degree less than n. The approximation error intro-
ie at f(x) T,(%) duced at each step tends to distribute the cumulative
error over the interval of approximation so that the poly-
eter (lx. nomials in the resulting sequence tend to be better ap-
proximations to f(x) than the corresponding truncations
is the Chebyshev polynomial expansion of f(x). (This is
of the original power series, but they are not as good as
related to the Fourier series for f(x) by the change of
those obtained by truncating the Chebyshev polynomial
variable w = cos"! x. The partial sums of this expansion
expansion. For example, the approximation
are the best polynomial approximations to f(x) for the
metric d,[fg, 1/U -— x’)”] and are very close to the g(x) = 1 + 0.997396x + 0.5x? + 0.177083x? + 0.041667x4
minmax polynomial approximation to f(x) in most cases.
As an example, the coefficients in the Chebyshev series to e* is obtained by truncating the Taylor series after six
expansion for e* are a, = 2/,(1), where the /, are modified terms and replacing x° by Pi) = (20x? — 5x)/16. The
Bessel functions. Truncation of this series after five terms corresponding maximum error over [—1,1] is more than
leads to the approximation four times that of the corresponding truncated Cheb-
yshev series, but only one-fifth that of the fourth-degree
g(x) = 1.000045 + 0.997308x + 0.499197x? Taylor polynomial (see Fig. 4).
+ 0.177347x? + 0.043794x* An extensive theory of approximation exists for func-
tions of a complex variable and for multivariate functions
for the interval [—1,1]. The maximum error associated (functions of two or more real variables). The theory
with this approximation is only about one-twentieth of relies heavily upon convergent or asymptotic power se-
that associated with the fourth-degree Taylor polynomial ries and continued fraction expansions. The Taylor and
(see Fig. 3).

FIG. 3. Error Fa T for approximation over


FIG. 4. Error e~ — g(x) for approximation over [—1,1] by
[—1,1] by truncated Chebyshev series. fifth-degree Taylor polynomial telescoped to fourth degree.
76 ARITHMETIC-LOGIC UNIT (ALU)

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.

10.7X? + (R1 + 6.23)X + S*S = 0 (1)


where RI and S are variables appearing elsewhere in the
program, the statement
ARITHMETIC-LOGIC UNIT (ALU)
QUAD Cy, z, j, 10.7, R1 + 6.23, S*S) For articles on related subjects see ADDER; ARITHMETIC,
COMPUTER; BOOLEAN ALGEBRA; BUS; CENTRAL PROCESSING UNIT;
might be given. Each argument in this statement is an CODES; INSTRUCTION SET; NUMBERS AND NUMBER SYSTEMS; OPER-
actual argument, i.e. the argument that will be associated AND; REGISTER; and SHIFTING.
ARITHMETIC-LOGIC UNIT (ALU) 77

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

FIG. 1. Functions of an ALU.


ARITHMETIC-LOGIC UNIT (ALU) 79

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

| Operand register (OPR)


(OPR) _|
Sequence
logic
(SL)

Overflow

G = gate —————— OUtOU

FIG. 2. Organization of an ALU.


80 ARITHMETIC SCAN

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

BET MSR Les sebeoue 12]aeaceaie


Normal Implied
binary _ binary
point point

1b) 57.8125 = 32+ 16+8+1+.5+ .25+ .0625


Seth BO 6h St5 if ea Oy

Normal Implied
binary binary
point point

FIG. 1. _ Fixed-point numbers.


82 — ARITHMETIC, COMPUTER

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

a) .15625 in (7, 24) Format


Ss 1 78 31

offofo}efofsfo[sfo]sfofees
fe] Setos +2 <otsees | Bias-64 exponent
° + Exponent —>|«—____ Mantissa

b) 57.8125 in (8, 23) Format

1110011101 * 26 = 57.8125
Bias-128 exponent
<——-. Exponent —+>|«—______ Mantissa ae

FIG. 2. Floating-point numbers.


ARITHMETIC, COMPUTER 83

correctly. A biased exponent is called a character-


istic. The advantage of using biased exponents
placed to the left of the floating-point word is that fe] aA tol ala
a
a sequence of such numbers can be sorted as if
they were integers. (On most computers, integer
comparisons are significantly faster than float-
x
Lo
|» Eau2)Pes!ass ale
"

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

the most significant bit (since it is always 1), but do not


store it, while systems using hexadecimal cannot imply
a non-zero most significant hexit, as it could be any of
elo}s|s]~= 1636 >0.1=
nN!

1, 2,...,-. The apparent 24-bit precision of the mantissa Rounded single-precision


product
on the IBM 360 and its successors degenerates to just
21 bits—the equivalent of six decimal digits—whenever FIG. 4. _ Fixed-point multiplication.
a mantissa begins with hexadecimal 1 (binary 0001). In
contrast, the apparent 23-bit precision of the mantissae when adding positive numbers overflow occurs when bit-1
on the DEC VAX actually provides 24-bit precision (about has a carry-out, as is shown in Fig 3. In some computers,
7 decimal digits) through appendage to the implied this carry-out bit is discarded, while in others it replaces
leading 1 bit.
the sign bit, resulting in an artificial negative number. In
Most computers automatically create normalized any case, the result is incorrect, and most hardware sets
numbers as the result of floating-point arithmetic opera- an overflow bit, which allows a programmer to test for
tions and, in so doing, retain the maximum number of
overflow by using a Branch-On-Overflow instruction.
significant bits. Some computer systems allow the pro-
Overflow cannot occur in fixed-point multiplication,
grammer to choose whether the result should be normal- since the product of two factors less than 1 in magnitude
ized. Advocates of leaving floating-point results cannot equal 1. But multiplying two n-bit numbers pro-
unnormalized claim it gives better accuracy in retained duces a 2n-bit product, which cannot be accommodated
results (see Fig. 10 for an example). in an n-bit register. Normally, the least significant n-bits
Double precision floating-point numbers typically are placed in a second register. Fig. 4 shows such a multi-
are stored in 64-bits; common formats include (7,56), plication, assuming a word length of 5 bits. Assembly
(8,55), and (11,52). “Extended” implementations include language programmers can retain the bits in the second
the 80-bit (15,64) and the 128-bit (15,112) formats. register, but normally only the rounded results are kept,
as shown in Fig. 4.
Fixed-Point Arithmetic Fixed-point arithmetic is Fixed-point division can result in overflow if the divi-
done essentially like ordinary binary arithmetic, except dend has magnitude greater than the divisor. A fixed-
for the restriction that negative numbers are generally point divide overflow causes an exceptional condition
stored in some complement form. However, some aspects (different from fixed-point addition overflow) that is usu-
of fixed-point arithmetic need to be considered explicitly. ally testable by programmers.
In the following examples, we assume that fixed-point The dividend in fixed-point division is usually double-
length (or precision) and occupies two paired registers.
numbers are binary fractions of magnitude less than 1
and that the binary point is at the left. The single-precision quotient is commonly placed in one
Fixed-point addition and subtraction are subject to register and the remainder in another, as illustrated in
Fig. 5.
the exceptional condition known as overflow. Since not
only the two addends but also the result in addition and
subtraction must be less than 1 in magnitude, a result Integer Calculations In modern computers, the
greater than 1 will not be correctly handled. To be precise, great majority of fixed-point calculations are performed

S$) An 2s45 wo at

Fo el eee
2 iH}
ale
|
—_

Soilie2nci4aigs © Bare

(| aa
6 lll) pela ES alN
Sole Zeon 4 75 eel

oem | Overflow in fixed-point addition.


Lo
|e
FIG. 3.
84 — ARITHMETIC, COMPUTER

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

FIG. 5. _ Fixed-point division.

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)

FIG. 7. Integer division in Fortran


fo} stole
FIG. 6. Representation of 32767 in 16-bit integer format.
ARITHMETIC, COMPUTER 85

(a) S$ 1 516 15

alolol1}1[+]ol+]o]+[ofofofofojojo 15625 = .101 * 27?


S 1 516 15

8 {of}ols]+fol+|s]sfofof+]s]+fo] 57.8125 = .1110011101 * 26

Step 1 E,= 10110


Step 2 F, = 0000000010 (Note the loss of precision)
Step 3 F,= 1110011111
Step 4 Nothing to be done (Answer already normalized)

(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°

Steps 1 and 2 Nothing to be done in these steps

Step 3 F,= [1] 01100 00000 (Note the overfiow)

Sai 516
step4 nomatza [0]4/o/o/o]+|1]o]1]+]o/o]o]o]o]0
=

FIG. 8. _ Floating-point addition.

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.

1. The IBM format uses 7-bit hexadecimal “bias-64”


exponents and 6-hexit (24-bit) mantissas, thus
increasing the exponent range over the binary
formats. Shifting for alignment and normalization
occurs 4 bits at a time, which often causes differ-
ent computed results from those generated using
Floating-Point Standards Modern computers binary formats.
normally provide some hardware support (either ma- 2. The VAX and IEEE formats use 8-bit binary biased
chine instructions or math co-processors) for floating- exponents. Digital uses “bias-128” exponents,
point arithmetic. At least 20 different floating-point while the IEEE specification, in order to reserve
formats have been implemented, and different computer both the exponents 0...0 and 1...1 for exceptional
systems often produce different calculated results from conditions, uses “bias-127” exponents.
identical floating-point inputs. 3. The IBM “ true zero” consists of “a 0 sign, a 0...0
In 1978, the Institute of Electrical and Electronics
exponent, and a 0...0 mantissa” (a whole word of
Engineers (IEEE) established a committee to develop a
Os). The VAX zero is “a 0 sign, an exponent of
floating-point standard. Early work was spearheaded by
0...0, and any mantissa.” The IEEE bias-127 for-
W. Kahan, J. Coonan, and H. Stone (1979). Draft 8.0 was
mat represents zero as “any sign, an exponent of
circulated (Cody, 1981), and the 754 Standard, with only
0...0, and a mantissa of 0...0.” The IEEE thus has
minor changes from Draft 8.0, was published in 1985. The
two zeros, while the VAX has 2” different zeros.
standard describes various conditions, including:
Special rules were needed in the latter two cases
Rounding Options, Invalid Operations, Overflow, Division
because, otherwise, the implicit 1 bit would
by Zero, Underflow, and Inexact Result. It introduced ex-
tremal numbers called Infinities, DeNormal Numbers, and imply that “all 0 bits” represents a tiny number
NANs (not a number); reserved bit patterns for these but not literally zero.
cases; and discussed how these conditions could be han- 4. The IEEE defines “denormalized” numbers
dled effectively. The standard is not without controversy, (denormals) as “any sign, an exponent of 0...0,
and a good summary of its detractors’ arguments is found and a non-zero mantissa”; an “infinity” as “any
in Waser and Flynn (1982). sign, an exponent of 1...1, and a mantissa of
Computing machines from IBM, Digital Equipment 0...0”; and “Not a Number” or “NAN” as “any sign,
Corporation (DEC), and other makers had floating-point an exponent of 1...1, and a non-zero mantissa.”
hardware implementations before 1980 and thus do not 5. The combination of the implied leading digit, the
conform to the IEEE standard. The standard has benefited implied binary point, and all the fraction bits is
newer designers, as math co-processors from Intel, called the “significand.” The range of signif-

TABLE 1. Floating-Point Formats

IBM/370 DEC VAX IEEE

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

number 106 106 10°8 10°8 ion 10% 1054


Minimum 16-4 1674 g7 127 g7127 —1023 g~ 126 g~ 1022

number 10R4 lass 1078 10523 105° De ie


Precision 16-6 16.3 ia. 7 ie pgs yak 9-58
1077 10717 107? 107" lon 10, ° 40°*°
Notes: S = Single Precision, D = Double Precision, H = Second VAX 64-bit Form, HX = Hexadecimal Digits
ARTIFICIAL INTELUGENCE 87

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

Computer Arithmetic and Real Arithmetic


Four common arithmetic laws that apply to real numbers
a, b, and c are: ARPA NETWORK. see NETWORKS, COMPUTER.

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.

The American Standard Code for Information Inter-


Robotics The area of robotics (g.v.) is concerned with
change (ASCII) is a seven-bit code also known as the USA
artifacts that can move about in the actual physical world
Standard Code for information interchange (USASCIN.
and/or that can manipulate other objects in the world.
Because eight-bit bytes are common on computers,
Intelligent robots must be able to accommodate to new
ASCII is commonly embedded in an eight-bit field in which
circumstances, and to do this they need to be able to
the high order (leftmost) bit is either used as a parity bit
solve problems and to learn. Thus, intelligent robotics is
or is set to zero. An 8-bit version of ASCII using the latter
also an Al-complete area.
option is shown as Exhibit 1. The leftmost four bits (or
first hexadecimal digit) of the eight-bit code are shown as
Applications Throughout the existence of the field, column heads across the top and the rightmost four bits
Al research has produced spinoffs into other areas of
computer science. Lately, however, programming tech-
niques developed by AI researchers have found applica-
tion to many programming problems. This has largely Code
come about through the subarea of AI known as expert Character Binary Hexadecimal
systems (q.v.). Whether or not any particular program
should be considered intelligent or an expert according to 4 00110100 34
the common use of those words is largely irrelevant to the Yi 01011001 59
workers in and the observers of the expert systems area. c 01100011 63
From their point of view, they have tools and a methodol- = 00111101 3D
ogy that are more useful for solving their problems than
Asc 691

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

Null Data Link Escape (CC)


Start of heading(CC) Device Control 1
Start of Text (CC) Device Control 2
End of Text (CC) Device Control 3
End of Transmission (CC) Device Control 4
Enquiry (CC) Negative Acknowledge (CC)
Acknowledge (CC) Synchronous Idle (CC)
Bell End of Transmission Block (CC)
Backspace (FE) Cancel
Horizontal Tabulation (FE) End of Medium
Line Feed (FE) Substitute
Vertical Tabulation (FE) Escape
Form Feed (FE) File Separator (IS)
Carriage Return (FE) Group Separator (IS)
Shift Out Record Separator (IS)
Shift In Unit Separator (IS)
Delete
Communication Control
Format Effector
Information Separator
92 ASSEMBLER

EXHIBIT 1 (Continued)
Special Graphic Characters

Space Less Than


Exclamation Point Equals
Quotation Marks Greater Than
Number Sign Question Mark
Dollar Sign Commercial At Sign
Percent Opening Bracket
Ampersand Reverse Slant
Apostrophe Closing Bracket
Opening Parenthesis -—-@~
"oA
V
>—
Circumflex
Closing Parenthesis Underline
Asterisk Grave Accent
Plus Opening Brace
Comma Vertical Line (This graphic is
Hyphen (Minus) sometimes stylized to dis-
Period (Decimal Point) tinguish it from the unbroken
Slant Logical OR, which is not an
Colon ASCII character.)
Semicolon Closing Brace
Tilde

(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.

ASSIS. See AMERICAN SOCIETY FOR INFORMATION SCIENCE.


History Although the use of a symbolic representation
of machine language programs now seems obviously de-
sirable, this was not always so. Right from the start there
was a dichotomy of view between the Cambridge group
ASSEMBLER (EDSAC), which advocated a measure of symbolic pro-
For articles on related subjects see ADDRESSING; BASE REGIS- gramming, and the Manchester group (MARK IJ), which
TER; CALLING SEQUENCE; CROSS ASSEMBLERS AND COMPILERS; GEN- believed that the programmer should write the program
ERAL REGISTER; INDEX REGISTER; INDIRECT ADDRESS; INSTRUCTION in a form as close as possible to the internal form (Wilkes,
SET; LANGUAGE PROCESSORS; LINKER; LOADER; MACHINE AND AS- 1956).
SEMBLY LANGUAGE PROGRAMMING; MACROINSTRUCTION; No-Op; The EDSAC had a rudimentary assembler called Ini-
OPERAND; and PROGRAM COUNTER. tial Orders, which allowed the user to write machine
instructions consisting of a single alphabet letter opera-
An assembler is a program that facilitates the prepa- tion code, a decimal address, and a terminating letter,
ration of programs at the machine language level by tak- which caused one of 12 constants preset by the program-
ing symbolic representations of individual (instruction or mer to be added to the address at assembly time. (The
data) words and converting them into a form (binary or Initial Orders were implemented in a form of read-only
byte) suitable for input to a linker or loader. It permits the memory (q.v.) consisting of a wired telephone uniselec-
use of mnemonic operation codes, allows symbolic names tor.)
to be assigned to memory locations, provides facilities for Probably the first assembler in the sense used in this
address calculations in terms of such symbolic names, article was SOAP (Symbolic Optimizer and Assembly Pro-
and (usually) enables the user to introduce numerical and gram) on the IBM 650 computer in the mid-1950s. How-
character constants in various forms. Assemblers are ever, the symbolic assembly features of SOAP were not its
used for systems programming when the need to access main feature (the 650 was a decimal computer anyway,
all the facilities of the “raw” machine precludes the use of which removed some of the difficulties of direct machine
a high-level language. If the micro is too small to support language coding). The 650 had a magnetic drum memory
an assembler, a cross-assembler is used, an assembler that and an instruction code in which each instruction speci-
runs on one (usually larger) machine producing object fied the address of its successor. For maximum efficiency,
code for another (usually smaller) machine. instructions had to be placed on the drum in positions
Although the term “assembly subroutine” was used such that the execution of each instruction overlapped as
ASSEMBLER 93

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

Listings An assembler usually provides a variety of 81 72 6465 10E1 12 -BYTE 101,100,114,129


information about the program that it has assembled. 81 72 6465 10E5 13 -BYTE 101,100,114,—127
Besides details of any obvious errors such as incorrect 8172 6465 10E9 14 .WORD 25701,33138
syntax or multiple definition of symbols, the following 8172 6465 10ED 15 -WORD 25701,—32398
may be provided. 81726465 10F1 16 -LONG 2171757669
81726465 10F5 17 .LONG — 2123209627
1. Listing of symbolic instructions side by side with 81 72 6465 10F9 18 ASCII /edr/<129>
generated binary or binary-symbolic code. 81726465 10FD 19 -FLOAT 4.2336319e+21
2. Table of symbols defined in a routine, with or 81 72 6465 1101 20 MULDS3 (74),—(r2),(r71)+
without their values.

LOC OBJECT CODE ADDR1 ADDR2 STi NAME OP OPERANDS

00000C 5830 2030 00038 8 L Since, £0. GLUEARGREGISUER


000010 5850 2030 00038 9 L 5. = 00 USING EERERAL
000014 4840 2034 00030 10 LH 4, = Ha ~LOADSREGTSTER
000018 47FO 2010 00024 11 B BCNT ENTER LOOP
00001C 4A53 2038 00040 22°>° BNTER AH .. 5,STZ(3) INDEX STZ BY REG 3
000020 4A30 2036 0003B 13 AH 3, = H’2’ INCREMENT INDEX
000024 4640 2014 O0OTO™ 14" BENT BCT 4,BNTER BRANCH ON COUNT
000028 5050 2054 O005C "15 Ste S).B SUM STORE SUM
one
000040 000F00E100010034 lye Site DC W115, 225,1,9¢,10,40,70 42.00 cor Lamamoe:
000048 000A00300046002A (Hexadecimal equivalents
000050 0058001A000E0004 Jof 13 numbers) |
000058 0020
00005A 0000 «(Filler needed to align next instruction properly)
00005C 00000000 18 BSUM DG FeO?
SSS
—_—_—_—ae———

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

CALL SUB,A,B AGO’ = "5

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,

Macro expansion will still generate two instructions, even


Definition Definitions of global symbols defined in
though the only one needed would be:
table the routine (i.e. symbols that will be
referenced in other routines).
movl RO, ans ; ans <— RO

(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

ASSOCIATION FOR Organizational Structure The Association is or-


COMPUTING MACHINERY ganized into 4 regions, 3 covering the United States and
Canada, and one international region. Each region is rep-
(ACM) resented in the Council of the ACM (the elected governing
For articles on related subjects see AMERICAN FEDERATION OF body) by a regional representative. With an additional
INFORMATION PROCESSING SOCIETIES and TURING AWARD WINNERS. four members-at-large and the ex officio members (presi-
dent, past-president, vice-president, secretary, treasurer,
chair of the Publications Board, and SIG Board Chair), the
Purpose The Association for Computing Machinery full Council comprises 15 members.
(ACM) is one of the two large scientific, educational, and Each region has local chapters and student chapters.
technical societies of the computing community. (The Presently there are approximately 100 local chapters and
IEEE—CS (q.v.) is the other.) Founded in 1947, the Associ- 450 student chapters.
ation is dedicated to the development of information pro- The four classes of ACM membership and their qual-
cessing as a discipline, and to the responsible use of ifications are:
computers in an increasing diversity of applications.
Quoting its constitution, the purposes of the Associa- Member—must subscribe to the purposes of the Asso-
tion are: (1) To advance the sciences and arts of informa- ciation and have attained professional stature by
tion processing, including but not restricted to the study, demonstrating intellectual competence and ethical
design, development, construction, and application of conduct in the arts and sciences of information
modern machinery, computing techniques and appropri- processing.
ate languages for general information processing, storage, Associate—must subscribe to the purposes of the As-
retrieval and processing of data of all kinds and the auto- sociation, but need not be eligible for Member sta-
matic control and simulation of processes. (2) To promote tus.
the free interchange of information about the sciences and Student—full-time registrant at an accredited educa-
arts of information processing, both among specialists tional institution.
and among the public, in the best scientific and profes- Institutional—institutions that subscribe to the pur-
sional tradition. (3) To develop and maintain the integrity poses of the Association.
and competence of individuals engaged in the practices of Total membership is about 70,000. The headquarters
the sciences and arts of information processing. of ACM are at 1515 Broadway, New York, NY 10036.

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

d’Instrumentation et de Controle). The merger was due to ASSOCIATIVE MEMORY


the relation between measurement and instrumentation
as well as the relation of operational research to automa- For articles on related subjects see ADDRESSING; CACHE MEM-
tion and data processing. The presidents of AFCET since ORY; MEMORY: MAIN; and VIRTUAL MEMORY
1969 have been
Data in an associative memory or content-addressable
R. Mercier, 1969 memory is not accessed by address as in conventional
J. Csech, 1970-1971 memory. Rather than being identified by the name of its
F. Genuys, 1972-1973 location, it is identified from properties of its own value.
L. Guileysse, 1974-1975 To retrieve a word from associative store, a search key (or
B. Roy, 1976-1977 descriptor) must be presented that represents particular
J. Carteron, 1978-1979 values of all or some of the bits of the word. This key is
A. Danzin, 1980-1981 compared in parallel with the corresponding lock or tag
J. P. de Blasis 1982-1983 bits of all stored words, and all words matching this key
R. Moreau 1984-1986 are signaled to be available. If the key is loose, with few
B. Paulré 1987-1989 attributes, it will access many words. The memory might
B. Robinet 1990-1991 indicate the number of such words and would in any case
G. Roucairol 1991- normally provide each of these in turn for examination.
The order in which they are presented is usually related
AFCET Members Members of AFCET (about 5,000) to their order in physical storage and tells nothing of their
come from all representative backgrounds: research, in- value. Once available, each word can be used or, if not
dustry and trade, public and private sectors, universities wanted, flagged (by a change of a single search bit) so that
and schools. They find in the association means of main- succeeding words can be retrieved.
taining and developing relations with their French and Associative search can be fairly complex if the search
foreign peers, diffusion media for their studies and works, key has few elements and the association is loose. A
and logistical support for the organization of meetings limiting case is that in which at most one occurrence of a
and scientific and technical events. search key match exists. This occurs in the use of associa-
tive stores between levels in a memory hierarchy where
AFCET Meetings AFCET organizes around 30 events the associative store is a scratch pad denoting the exis-
per year: conferences, workshops, forums and several tence of a copy of a record in the next higher-level store.
schools, gathering 2,000 to 3,000 participants. There are Such is also the use of associative storage in cache mem-
about 100 working groups. ory management.
Various attempts have been made to build associative
AFCET Publications AFCET publishes seven scien- processors in which the main memory is partially or com-
tific journals: pletely associative (Lewin, 1972). In this case each mem-
ory word, in addition to match or equality logic on each
e APII: Automatic Control Production Systems.
bit, has other facilities such as “greater than” detection.
MAN: Mathematical Modeling and Numerical Analy-
Fig. 1 illustrates the logical structure of an associative
sis.
store, showing the possibility of (“don’t care”) search in-
MBD: Models and Data Base.
puts whose value results in a positive match independent
RIS; International Journal of Systematics.
of the bit stored in the associative memory. In practice,
RO: Operations Research.
such a store will normally be implemented using inte-
Theoretical Informatics and Applications.
grated circuit technology. In addition to the associative
TSI: Technology and Science of Informatics.
search mechanism, the memory is usually equipped with
The AFCET journal that is dedicated to all its members is conventional read/write facilities (not shown in Fig. 1).
AFCET Interfaces. There are also several collections of A flip-flop is shown as the basic storage element and is
monographs published by Bordas-Dunod, as well as pre- shaded to indicate its current state. An equivalence circuit
prints of the AFCET conferences. (denoted by =) is used to make the comparison with the
search key. An additional or circuit (denoted by +) per bit
AFCET International Connections As the offi- allows the use of a “don’t care” search condition. The
cial representative of France within EURO, IAPR, IFAC, IFIP, output from each bit is combined in an AND, represented by
IFORS, IMACS, IMEKO, and WOGSC, AFCET is the natural the horizontal line on the figure. A match output is 1 if and
interface with its foreign homologues. Moreover, AFCET only if the stored data and key data bits match everywhere
has reciprocal agreements with societies such as ACM, that “don’t care” inputs are zero. Fig. 1 shows a match
IEEE, organizations from other European countries, and between a stored value of (1,0,0) and a search key of
members of the European Cooperation in Informatics. (1,0,X), where X indicates the “don’t care” condition.
AFCET is the privileged spokesperson of the authorities One important application of associative storage is in
and bodies of general interest when they need an impar- paged memory management. In such systems, of which
tial professional opinion. Atlas (q.v.) was an early example, a relatively small, fast,
main store is used in conjunction with a slow, large bulk
ISAAC L. AUERBACH or backup store. Each memory is divided into blocks or
ASSOCIATIVE MEMORY 101

Bit ! Bit
(i— 1) | ti)
Flip-flop
Storage
Element

Equivalence

Associative
Store Output

Search Key Data


Word
Input ‘Don’t Care” 10)

Bit (i— 1) Bit (i) Bit (i + 1)

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

FIG. 2. A paging organization using an associative lookup table.


102 ~ATANASOFF JOHN V.

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

1972. Lewin, D. Theory and Design of Digital Computers. Camden,


NJ: Thomas Nelson, Chapters 6 and 9.

KENNETH C. SMITH AND ADEL S. SEDRA

ASYNCHRONOUS OPERATION. See


SYNCHRONOUS/ASYNCHRONOUS OPERATION.

ATANASOFF, JOHN V.
For an article on a related subject, see ABC COMPUTER.

John V. Atanasoff is now widely recognized as the


inventor of the world’s first electronic computer, the dig-
ital Atanasoff-Berry Computer, or ABC (q.v.), so named to
acknowledge the contribution of his graduate assistant,
Clifford E. Berry.
Because the special-purpose ABC led directly to the
general-purpose ENIAC (q.v.) and on to the EDVAC (q.v.)
and other first generation stored-program computers,
Atanasoff is also widely recognized as the initiator of the
modern computer revolution.
Atanasoff (b. Hamilton, NY, 4 October 1903) received
his B.S. in electrical engineering from Florida State Univer-
sity in 1925, his M.S. in mathematics from Iowa State FIG. 1. John Vincent Atanasoff,
ATANASOFF-BERRY COMPUTER 103

unit, electronic (vacuum-tube) switching and _ logical


switching adders, base conversion, punched-card input-
output systems, automatic sequential controls, modular
units, and parallel operations.
Atanasoff’s priority over John W. Mauchly (g.v.) and J.
Presper Eckert (q.v.), whose ENIAC had been unveiled as
the first electronic computer in 1946, was not established
until 1973, when Federal District Judge Earl R. Larson
ruled in the now famous Honeywell vs. Sperry-Rand suit.
In his unappealed decision, Larson found that “Eckert and
Mauchly did not themselves first invent the automatic
electronic digital computer, but instead derived that sub-
ject matter from one Dr. John Vincent Atanasoff.”
Mauchly’s contacts with Atanasoff included a five-
day visit to lowa in 1941, during which he was allowed to
examine both the machine and a detailed written descrip-
he
tion of it.
Atanasoff received several awards in the 1940s for his FIG. 1. The ABC computer.
contributions as chief of the Naval Ordnance Lab’s acous-
tics division, including the U.S. Navy Distinguished Ser-
vice Award. In recent years he has received many
honorary degrees and other citations for his invention of
The binary digits of such a pair of equations were
the electronic computer.
represented as high or low charges on capacitors housed
in two drums on a common axle. As the drums rotated,
References
their signals were transmitted in parallel to the separate
1988. Burks, A.R. and Burks, A.W. The First Electronic Computer: arithmetic unit, where 30 add-subtract mechanisms, to-
The Atanasoff Story. Ann Arbor, MI: University of Michigan gether with an associated carry-borrow drum, performed
Press. the appropriate additions or subtractions and sent the
1988. Mollenhoff, Clark R. Atanasoff: Forgotten Father of the Com- results back to the memory drum from which a coefficient
puter. Ames, lowa: Iowa State University Press.
was being eliminated. Meanwhile, 30 restore-shift mecha-
1988. Mackintosh, Allan R. “Dr. Atanasoff’s Computer,” Scientific
nisms refreshed the addends or subtrahends and sent
American, 259, 2: 90-96.
those back to the other memory drum, shifting them if
ARTHUR W. BURKS AND ALICE R. BURKS necessary for the next rotation.
Computing in the binary system required base-con-
version in and out. The successive elimination of vari-
ables from such long equations also required a great
ATANASOFF-BERRY COMPUTER many intermediate binary input-output steps, for which
For an article on a related subjects see ATANASOFF, JOHN V. Atanasoff devised an electrical arcing method of punch-
ing and reading cards.
The Atanasoff-Berry Computer, or ABC, named for In the end, an error of extremely small frequency in
its inventor, John V. Atanasoff (q.v.), and his graduate this latter system spoiled results for sets of more than five
assistant, Clifford E. Berry, was arguably the world’s equations, a difficulty that Atanasoff and Berry were un-
first electronic computer. Atanasoff conceived the basic able to resolve before they left Iowa for war research
plan of the ABC during the 1937-38 academic year at positions in 1942. The capacitor memory and the vacuum-
lowa State, where he was a professor of both physics tube arithmetic unit worked exactly as intended, how-
and mathematics. ever, and established the feasibility of electronic
He spent the next year working out the details of its computing, as well as many of its principles, for all time.
central computing apparatus: vacuum-tube add-subtract The electronic switching principles of the ABC were
mechanisms, rotating drum memory, and vacuum-tube used throughout the ENIAC (q.v.), and its principles of
regeneration mechanisms to refresh the memory’s capac- both regenerative storage and logical switching adders
itor elements. He and Berry completed a successful were also used in the ensuing EDVAC (q.v.). Later comput-
ers have used all of these principles, plus those of me-
model of that central apparatus by December 1939, and
the computer itself by May 1942. chanically rotated memories and capacitor memory
The digital (binary) ABC was designed to solve sys- elements.
tems of up to 29 simultaneous linear equations (see
Reference
Fig. 1). Based on an original variant of Gaussian elimina-
tion, it used repeated additions and subtractions, sign- 1987. Mackintosh, Allan R. “The First Electronic Computer,” Phys-
sensing, shifting, and automatic sequential controls for ics Today, 40, 3: 25-32.
the main step of eliminating a designated variable froma 1988. Burks, A.R. and Burks, A.W. The First Electronic Computer: The
pair of equations. Atanasoff Story. Ann Arbor, MI: University of Michigan Press.
104 AUTHORING LANGUAGES AND SYSTEMS

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

FIG. 1. One representation of authoring activity.

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

polynomial time by deterministic Turing machines (see


NP-COMPLETE PROBLEMS).
In addition to ordinary and nondeterministic autom-
ata, a variety of automata called probabilistic automata
have been studied. A probability of occurrence is as-
signed to each of the possible next states in a probabilis-
tic automaton.
In 1943, McCulloch and Pitts introduced nets of for-
malized neurons and showed (in essence) that such neu-
ral nets could realize the state-change behavior of any
finite automaton. These nets were composed of synchro-
nized elements, each capable of realizing some boolean
function such as and, or, or not. It has been suggested that
von Neumann had these networks in mind when he estab-
lished his logical design for digital computers. In 1948, von
Neumann added to the computational and logical ques-
tions of automata theory by introducing new questions
pertaining to construction and self-replication of autom-
ata. The iterated arrays of interconnected finite automata
FIG. 3. The state diagram of a nondeterministic finite-state which he introduced have also been used to study pattern
automaton o, for recognizing {x € {a,b}*| x contains two processing for patterns of symbols, including (but not
consecutive a’s or two consecutive b’s (or both)}.
restricted to) one-dimensional strings of symbols.
Automata theory, especially finite automata theory,
impinges on both mathematical systems theory and mod-
ern algebra. In mathematical systems theory, one is inter-
states is empty. If a, is given the input string abababba, ested in the problem of which, (if any) input sequences
beginning in state 0, one possible succession of states will drive an automaton to some desired internal state. In
is (in order) 0,0,0,0,0,0,0,1. Here, 1 is not one of the modern algebra one can study the relations between
final states, so this way of running a, does not lead semigroups and automata. For example, certain decom-
to recognition. Another possible succession of states position theorems in group theory give information about
is (in order) 0,0,0,1, jam. Another is 1, jam. However, decomposition of automata into particularly simple com-
0,0,0,0,0,3,4,4 is still another possible succession of ponent automata.
states. Since 4 is a final state, a, (correctly) recognizes A linear-bounded automaton is a (possibly non-
abababba. It is easy to check that, o, is given babababab, deterministic), one-tape Turing machine whose read/-
beginning in state 0, then none of the possible ways write head is restricted to move only on the section
of running «, leads to a final state; hence, a, (correctly) of tape initially containing the input. Special end markers
does not recognize babababab. are placed on each side of an input string to prevent
Interestingly (and perhaps unexpectedly), it can be the tape head from leaving this restricted section of
shown that nondeterministic finite automata recognize tape. A form of deterministic linear-bounded automata
exactly the same class of languages as ordinary finite was first studied by Myhill in an attempt to find models
automata. Turing machine recognizers that operate non- of computation more realistic than the completely gen-
deterministically can also be defined, but they cannot eral Turing machines, but less restricted than the finite
recognize more languages than can ordinary Turing ma- automata. Later it was shown that linear-bounded au-
chines. For nondeterministic Turing machine recognizers, tomata recognize all (and only) the context-sensitive
as well as for some of the other nondeterministic devices languages, an important and natural class of languages
to be discussed below, some of the different possible which is more restricted than the languages recognizable
ways to process a given string x may take infinitely many by Turing machines, but more general than the context-
steps. For such devices it is convenient to imagine the free languages. It is an open question whether the
separate, deterministic control device C as operating in a linear-bounded automata can recognize more languages
parallel mode. than the deterministic linear-bounded automata.
The point of nondeterminism is that it is often con- A pushdown automaton is a (possibly non-
ceptually easier to program or design machines that op- deterministic) finite automaton with a special sort of aux-
erate nondeterministically. In fact, there are theoretical iliary tape called a pushdown store. A pushdown store is a
results to the effect that, for many types of automata, tape quite like the stack of plates found on a spring in
nondeterministic machines are significantly more com- cafeterias. It is a “Last In-First Out” store. A special
pact than the corresponding deterministic ones. Further- read/write head always scans the top symbol on the push-
more, many practically important recognition tasks can down store. The pushdown store is initially loaded with a
be solved by easy-to-design nondeterministic Turing ma- single special start symbol. The top symbol can be re-
chines that run in time bounded by a polynomial in the placed by any finite string of symbols (stack of plates),
size of their input strings. A famous open question in including the empty string of symbols. Replacing the top
computer science asks if these tasks can be done at all in symbol by the empty string has the effect of completely
AUTOMATION 109

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

vanced skills of machinists and toolmakers and were sub-


Function Examples
ject to annoying and expensive variations. Process manu-
Design layout Computer-aided drafting, facturing technology has benefited by minimizing the
printed circuit board layout. need for human surveillance and reaction in order to keep
Design analysis Computer optimization, finite manufacturing processes within design tolerances and to
element analysis, piping correct for the inherent perturbations that occur. The use
interference checking. of data collection and accelerated data processing tech-
Manufacturing engineering Group technology, tool design, niques in manufacturing have enabled tighter manage-
process planning.
ment control of the manufacturing enterprise and more
Facilities engineering Plant architecture and layout,
rapid response to changes that inadvertently occur or
equipment optimization.
Fabrication automation Numerically controlled tools, may be required. Even plant design and facility layout
process control systems. have been optimized through computerized simulations
Assembly automation Robotics, computer-controlled and a variety of design aids. Virtually every segment of
transfer lines. the production process, from product design and manu-
Materials handling Stacker cranes, driverless tractor facturing, through sales, warehousing and distribution,
systems, automated storage and has been touched by computer technology and rendered
retrieval systems.
more efficient by its implementation.
Industrial engineering Shop floor data collection, labor
standards calculations. Within each of the broad categories of design engi-
Quality assurance Coordinate measuring machines, neering, manufacturing engineering, and management sys-
automated circuit test equipment. tems, there is a trend toward a growing interrelationship of
systems. Programs and systems within these categories
Engineering computing and manufacturing comput- often have common elements within their databases; may
ing each may be subdivided as follows: be related by similar input data and output data; or the out-
put of one system may serve as a portion of the input to an-
1. Engineering computing other. The diminishing cost of computer power, the
a. Design and analysis functions proliferation of software, and the widespread introduction
b. Engineer productivity enhancement functions of affordable mini- and microcomputers has increased the
(word processing, E-mail, spreadsheets, data- number of sites within an organization for beneficial appli-
base management, etc.) cation of computers and data processing techniques.
c. Computer-based test cell or laboratory data- Thus, the pressure for an overall “architecture” of the com-
gathering and control functions puter systems within an organization has been increasing.
d. Engineering administration and information The needs for commonality of language, compatibility of
management functions databases, and accessibility of information from “foreign”
2. Manufacturing computing databases all become imperative.
a. Manufacturing operations functions (manu- Not only is an overall architecture required for the
facturing engineering fabrication, assembly, efficient automation of design engineering, manufacturing
inspection, etc.) operations, and business management segments, but in-
b. Manufacturing control functions (scheduling, tegration transcends the traditional boundaries within an
resource requirements planning, inventory industrial organization. For example, recent advances in
control, etc.) the automation of the design phase of activity have en-
abled entire design layouts to be accomplished at a com-
These broader classes of functions more accurately de- puter terminal, eliminating traditional distinctions
scribe the total set of activities amenable to automation between conceptual designers, detail designers, and
within the engineering/manufacturing environment. Be- draftsmen. The boundaries are becoming indistinct be-
cause of the potential organizational conflicts arising from tween management information systems (MIS) and the
the merging of engineering, manufacturing, and data pro- engineering/manufacturing operations units that are em-
cessing responsibilities, however, they are frequently con- ploying computers for their functions, often creating or-
sidered foo broad and pervasive in their impact, hence the ganizational conflicts.
more narrowly defined term “CAD/CAE/CAM” is normally
Interactive graphic displays allow the designer to pro-
used. duce a “drawing” on a cathode ray tube (CRT) and store
the design information in memory. Devices are available
Automation Concepts Engineering and manufac- that can produce a quick hard copy of the displayed graph-
turing have been fertile fields for improvement through ics and/or electromechanical pen and ink plotters can be
the application of computer technology. Design engi- used to produce accurate high-quality, full-scale layout.
neers, faced with problems requiring long iterative solu- The development of a profusion of database management
tions and extensive data, have relied on computers to software permits the storage and convenient access to
speed up solutions and analyze problems that could not information about standard components and subassembI-
have been solved before. Manufacturing engineers have ies, in addition to the analytical and computation capabil-
used numerically controlled equipment to control ma- ity generally required in an engineering design. This
chine tools, such as lathes and complex milling machines, approach, wherein an engineer/designer interacts with a
in production of parts that heretofore required the ad- computer using graphical input devices, various output
AUTOMATION 1117

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

(integer) :: = (unsigned integer) | = is defined to be


+ (unsigned integer) |— (unsigned integer). | alternatively
: end of production
For a second example, suppose that the metalin- [X] 0 or 1 instance of X
guistic variables (unsigned number), (variable), (function {X} 0 or more instances of X
designator), and (boolean expression) have all been (X|Y) a grouping: either X or Y
defined earlier, with usual meanings, and that the vertical “XYX” the terminal symbol XYZ
arrow stands for exponentiation. Here, then, is the com- Metaldentifier the nonterminal symbol Metaldentifier
plete sequence of definitions that culminates with the
definition of an Algol (arithmetic expression): The superficial difference between BNF and EBNF is
(adding operator) ::= + |— that, in the former, nonterminals need to be delimited (by
(multiplying operator) ::= < |/|+ angle brackets) and terminals are allowed to stand for
(primary) ::= (unsigned number) |(variable) | themselves, whereas, in EBNF, terminals must be delim-
(function designator) |(arithmetic expression)) ited (by quotation marks) and nonterminals are allowed
(factor) ::= (primary) |(factor) T (primary) to stand for themselves. The more profound difference is
(term) :: = (factor) |(term) (multiplying operator) (factor) that the bracket and brace notation of EBNF allows a
(simple arithmetic expression) :: = (term) |(adding simpler presentation of definitions that must be ex-
operator) (term) |(simple arithmetic pressed recursively in BNF. Consider, for example, these
expression) (adding operator) (term) contrasting definitions of a Pascal (identifier):
(if clause) :: = if (boolean expression) then (arithmetic
expression) :: = (simple arithmetic expression) | BNF: (identifier)::= (letter) | (identifier) (letter) |
(if clause) (simple arithmetic expression) | (identifier) (digit )
else (arithmetic expression) meaning: An identifier is either a single letter or else
something that is already a valid identifier followed
It is no error that the third definition contains (arith- by either a letter or a digit.
metic expression), enclosed in parentheses, even though EBNF: /dentifier = Letter{ Letter |Digit }.

(digit)
—~ (letter) -{—}-
(letter)
(@)
(digit)

FIG. 1. (a) (identifier) (b) (signed real ).


116 ~~ BANKING APPLICATIONS

meaning: An identifier is a single letter followed by any 20


number of letters or digits. foc)
016
Cc
The information conveyed through an EBNF produc- no)
tion can be displayed pictorially through use of syntax ai? One section (250 miles)C5 carrier
diagrams (railroad diagrams), a technique popularized by
the Pascal report of Jensen and Wirth (1985). The syntax = 8
Gs) 4 Links N carrier
diagrami for a Pascal identifier is shown in Fig. 1a.
The term “railroad diagram” stems from comparison
24
iS 5 Links K carrier
of the directed line segments to tracks along which a train
x0
can proceed on any physically realizable path. Since the
train cannot avoid passing through (letter), an identifier -4
consists of at least a single letter. Thereafter, the train may 0 04 08 1.2 16 20 24 28 3.2 3.6
pass straight through to the right, indicating that a single
FIG. 1. Attentuation for frequency division multiplexing
letter is a sufficiently complete definition of an(identifier),
(FDM) systems. (reproduced from Communication-Networks
or else it may traverse either the top or bottom circuits for Computers by D. W. Davies and D. L. A. Barber. New York:
any number of times in arbitrary order (before finally Wiley, 1973, Fig. 2.16.)
using the main track to end the definition).
A more complex syntax diagram, one that defines a
(signed real) number in Pascal, is shown in Fig. 1b. of attenuation is shown in Fig. 1, which indicates that
The diagram can be used to show that such character somewhere below 300 Hz and above 3-4 KHz, the at-
strings as 5.7, —19.0, +3.9, —7.36e-3, and 123e4 are valid tenuation rises very rapidly. The range of frequencies
signed real numbers but that —7., .2, and 123.e4 are not. in which the power level stays at above one-half its
BNF (or EBNF or syntax diagrams) can be used to peak value (the so-called 3 db points) is the nominal
describe any context-free language (see GRAMMARS), and bandwidth of the circuit. This is typically 3 KHz in a
hence, since most programming languages are context- switched telephone line.
free, most programming languages. There are competitive
notations, however, such as the Vienna Definition Lan- PETER T. KIRSTEIN
guage (g.v.), used to describe PL/I, and the notation typi-
cally used to describe Cobol which is closer to EBNF than
to BNF. BANKING APPLICATIONS
References For articles on related subjects see ADMINISTRATIVE APPLICA-
TIONS; DATA COMMUNICATIONS; DATABASE MANAGEMENT SYSTEMS;
1985. Jensen, K., Wirth, N., Mickel, A. B., and Miner, J. F. Pascal
DISTRIBUTED SYSTEMS; ELECTRONIC FUNDS TRANSFER SYSTEMS;
User Manual and Report, 3rd ed.: ISO Pascal Standard. New
York: Springer-Verlag.
and TRANSACTION-BASED SYSTEMS.
1985. Wirth, N. Programming in Modula-2, Third Corrected Edition.
New York: Springer-Verlag. Overview Since World War Il, radical changes have
occurred in the global economic and business environ-
DANIEL D. MCCRACKEN and EDWIN D. REILLY
ments within which banking applications of information
technology must operate. The systems approach and the
systems that have responded to these changes are unique
BANDWIDTH to the banking industry, and the chronology of their evo-
lution may be divided into four distinct periods.
For articles on related subjects see COMMUNICATIONS AND
COMPUTERS; and DATA COMMUNICATIONS. Mid-1950s to Early 1960s This was an era of experi-
mentation. Computer technology and the users’ grasp
The bandwidth of an analog communication network of how to exploit it were extremely immature. Few, if
is a measure of the range of frequencies it can transmit any, well-developed and stable generic banking applica-
at or near maximum power levels. As an example, tions existed. In two notable instances, technology was
consider a normal telephone system, which is an analog seriously misunderstood and misapplied: the industry
communication network normally designed to carry giants, Bank of America and Citibank, working, respec-
voice traffic in the frequency range 300-3,400 Hz. Thus, tively, with General Electric and ITT, attempted but later
the equipment in the telephone exchange collects in- abandoned the development of a special-purpose “bank-
coming data from the sound spectrum and arranges to ing computer” and a pre-magnetic-ink check-handling
attenuate sharply the signals outside that part of the machine.
spectrum. But even within that range, there is further
attenuation as the signals propagate through the tele- Early 1960s to 1970 The basic dependency of banking
phone network, since the power of signals passing upon information technology became well established.
through the telephone transmission system is reduced. With the introduction of magnetic-ink-encoded checks
A typical measurement on the U. S. telephone network and the equipment to handle them, essentially all but the
BANKING APPLICATIONS 117

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.

Bank Asset Applications DOMINANT BANKING TECHNOLOGIES


Personal Loans
Paper Continuing into the 1990s, paper as a medium for
The bank makes loans to individual customers using a information transmission and storage stubbornly refuses
portion of its deposits. Computers are involved in execut- to go away. In many jurisdictions, paper documents are
ing the loan contracts, controlling payments, and deter- the sole legally acceptable manifestation of a transaction
mining the accruals for cost of deposits, earnings of and hence will continue to be indispensable. Paper con-
interest/dividend, and taxes due. tinues as a primary medium for communication between
bank and customer, but it is no longer the sole medium.
Business Loans
Item processing, primarily check processing, is still
Similar to personal loans, business loans also have an done largely as it has been since the late 1950s’ introduc-
enormous variety of disbursement and repayment op- tion of magnetic-ink-encoded checks, and this early tech-
tions in one or multiple currencies. nology will continue to be important. The entrenched U.S.
consumer expectation that the physical check will be
Fee-Based Services returned—a practice either never established or long
abandoned in most other countries—continues to impose
Electronic Funds Transfer (EFT - q.v.) large, technologically unnecessary costs on the banking
This is the principal payment process among corpora- system and its customers. The technologies of image
tions. A customer gives the bank instructions to move capture and document processing have begun to show
funds from the corporation’s own checking account to a promise of providing an escape from this impasse.
payee checking account at the same or at another bank. Various stumbling blocks continue to delay elimina-
All parties involved require advice of such transactions. tion of the handwritten signature or equivalent, with its
Timely execution and correctly recording the date of the implication of the continuing need for a paper document
transfers is critical, and different currencies may be re- as a transaction authenticator or token of authority. None
quired. Computers and computer communications are of the impediments is technological; they are almost
the essential elements in such transfers. purely legal and traditional in nature. Perfectly adequate
electronic authenticators are in hand, but, being not uni-
Letters of Credit formly legally acceptable, they are rarely used in other
than intra-bank applications. Until the legal and attitudi-
A letter of credit is a financial service: banks guarantee
that their customers will have funds when a payment nal roadblocks can be cleared away, paper will continue
becomes due. to be important even where adequate substitute elec-
tronic technologies are well in hand.
Custodian Services
Computer Systems Systems ofall sizes, from very small
This is a banking service in which records are maintained
to very large, are used in computerized banking applica-
for several categories of customers in return for service
tions. The most successful systems combine the process-
fees. The most frequent examples of these applications
ing of all banking transactions with the accounting Se
are investment accounts, securities funds, pension funds,
regulatory information reporting.
and stock transfer registry.
In the early 1960s, computerized banking applica-
Credit Cards tions were oriented toward high-volume paper processing
through such techniques as MICR. Following the an-
In this financial service, fees are collected from businesses
nouncements of the third-generation computers in the
and interest is received from cardholders. This high item
later 1960s, several new approaches emerged. These were
volume could not be handled without computers.
based upon computers such as the IBM 360/40, GE 400,
Burroughs B5000, RCA Spectra 70, Univac 1100, and CDC
Reports 1604. Banking applications were savings accounts, on-line
Accounting tellers (checking), overdraft accounts (loans), automated
customer balance information, etc. Even though the data
The content of reports results from government regula- capture and validation and data inquiry were done on-
tions and from banking traditions. The information in this line, the transactions were stored in the computer files for
application defines the financial condition of the bank. It end-of-day batch processing.
BANKING APPLICATIONS 119

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

BASE REGISTER Some computers have several base registers. A rela-


tive address must then contain a field that indicates
For articles on related subjects see ADDRESSING; IBM 360- which register is selected, and the contents of that regis-
370-390 SERIES; INDEX REGISTER; and REGISTER. ter are added to the relative address to form the absolute
address. In such a machine, a program may be con-
A base register is used in addressing a computer structed in parts or segments that can be independently
memory. In a computer that uses base registers, the effec- loaded into available areas of memory. The Univac 1110 is
tive address (i.e. the address field of the instruction, an example of a machine with two base registers. The
possibly modified by indexing and indirect addressing) is Multics machine (Honeywell 68/80) is an example of a
a relative address. The actual memory address used is machine with multiple base registers.
determined by adding this relative address to the con- The term base register is sometimes used more or less
tents of one or more base registers. interchangeably with the term index register. Thus, the
The Control Data Cyber series is an example of a IBM 360, 370 and 390 have 16 general registers, each of
computer system that uses a single base register. Every which provides a 24-bit base address to which the 12-bit
program is written as if it were meant to run in a single address field (displacement) in an instruction is added to
memory area starting at location 0. The program may in produce the effective address. These registers can be, and
fact be loaded starting at any memory location. When the uSually are, loaded and stored by the programs that use
program is run, the operating system places the address them. It is conceptually better to think of them as index
of the first word of the program in the base register. The registers and to limit the use of the term “base register”
content of the base register is automatically added to to system registers that are not accessible to the pro-
every memory reference address, and thus every relative grams whose addresses they modify.
address is converted into an absolute address. This fea-
ture is useful in multiprogramming systems (g.v.), since it SAUL ROSEN
permits programs to be loaded wherever space exists,
and permits programs to be moved in memory or to’be
removed from memory and then resumed in a different
area of memory. Such base registers are thus often called
relocation registers. BASIC. See ProcepuRE-ORIENTED LANGUAGES.
12 bits

fo [ied eel20)offce atinAn 0°.| 0t* Mig penel ape aeCanad

— 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

BLOCK AND BLOCKING FACTOR


BIT SLICING For articles on related subjects see FILE; MEMORY: AUXIL-
IARY; OPEN AND CLOSE A FILE; and RECORD.
For articles on related subjects see ARITHMETIC-LOGIC UNIT;
and INTEGRATED CIRCUITRY.
. The term block is synonymous with physical record: A
sequence of words or characters written contiguously by
Bit slicing refers to the technique of constructing an
a computer on an external storage medium. Typically, one
m-bit arithmetic-logic unit (ALU) by interconnecting a set
block is written each time a WRITE command is executed
of identical n-bit (2 S m) LSI chips called bit slices. Bit slice
by an I/O channel (or equivalent I/O facility). Analogously,
chips—typically, one, two, or four bits wide—contain all
one block is read from an external medium each time that
of the circuits necessary to perform a large number of
a READ command is executed by the channel.
ALU functions, including arithmetic, logic, register stor-
The idea of a block is distinguished from that of a
age, and even I/O, for their segment of a processor word.
logical record as follows: A block is defined by the physical
Then, for example, four four-bit slices may be combined characteristics and constraints of the external storage
to form the CPU of a 16-bit computer. medium, whereas a logical record is defined by a particu-
While the interconnection of functional components lar data structure in a processing program. Logical rec-
within each integrated circuit (IC) may be rigidly pre- ords (often shortened to “records,” although this term is
defined, it is usual to include a degree of flexibility under also loosely used for “blocks”) are aggregates of data,
the control of peripheral pin connections on which sig- such as bits, numbers, and character strings which are
nals are established by an external microprogrammed naturally and conveniently transmitted at one time from
controller (see Fig. 1). Such signals are usually connected the main storage of a computer to an external medium.
in parallel to the corresponding peripheral pins of each One type of data aggregate is a master record, comprising
slice. Accordingly, the complexity of the controller is to a all attributes associated with a member of some popula-
degree independent of the length m of the ALU formed. tion.
Thus, the bit slice approach is most cost-effective for long Blocks typically contain several logical records when
word-length computer designs. written onto magnetic media such as drums, tape drives,
However, the major advantage of bit slicing is to and disk drives. The size of a block is chosen to take into
provide a rational basis for packaging very high-speed, account the software characteristics of a system (e.g.
high-performance circuits in a reasonable number of IC buffer size) and the hardware characteristics of the exter-
chips, each with limitations on die area, pin count, and nal medium (so as to avoid too much starting or stopping
when reading or writing tape). In the case of fixed-length
blocks, the standard format is as shown in Fig. 1. For
Bit Slice Controller fixed-length logical records, the number of records per
block is called the blocking factor. For many computers
(e.g. current IBM models), variable-length logical records
are formatted into blocks, as shown in Fig. 2. Fig. 3 shows
how large variable length logical records can be built up
from smaller fixed-size blocks to obtain the spanned rec-
FIG. 1. Conceptual view of a (16-bit) ALU consisting of four ord format.
(four-bit) slices operated in parallel by a (shared) controller.
Only three of the many control lines are shown. DAVID N. FREEMAN
132 BLOCK AND BLOCKING FACTOR

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).

Logical Logical Logical Logical


Record 1 Record 2 Record 3 Record 4

Total length
count for block;
4 bytes

Length counts for


individual records; 4 bytes each

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] +...

Record 1 Record 2 Record 3 (first part)

Block 1

Length counts for


individual records

Record 3 (remainder) Record 5 (first part)


Block 2

Total length counts for blocks


Record 5 (second part)

Block 3

Record 5 (remainder) Record 6

Block 4

FIG 3. Variable-length records (which may be larger than fixed-length physical blocks).
BLOCK STRUCTURE 133

BLOCK STRUCTURE begin


comment first block - main program;
For articles on related subjects see ACTIVATION RECORD;
integer sumx, sumxx,
CLASS; CONTROL STRUCTURE; PROCEDURE; PROCEDURE-ORIENTED
integer array x[1:100];
LANGUAGES; PROGRAMMING LANGUAGES; and STRUCTURED PRO-
real array y[1:50];
GRAMMING.
begin
Block structure is a programming language concept comment second block;
that allows related declarations and statements to be
integer p,y;
grouped together. When used judiciously, it can help integer array xx[1:100];
transform a large, unwieldy program into a disciplined, sumx := sumxx := 0;
well-structured, easy-to-understand program. forp := 1 step 1 until 100 do
Because of the important function it performs, block begin
structure (first introduced in Algol 60) is found in one comment third block;
form or another in many procedural languages developed sumx := sumx + x[p];
after 1960.
xx[p] := x[p] * x[p];
sumxx := sumxx + xx[p]
A Programmers View of Block Structure end;
From the programmer’s point of view, block structure forp := 1 step 1 until 100 do
performs two major functions: ee x[p] := xx[p] + sumxx
end
1. It allows a sequence of executable statements to end;
be grouped into a single compound statement.
2. It provides explicit control over the allocation of FIG. 1. An Algol program exhibiting block structure.
storage to variables and over the programmer’s
ability to refer to variables. second block is used to introduce the new variables p, y,
and xx. Storage for these variables will exist only while
The first function means that we can create and use a execution is in the block. The third block is used to group
compound statement anywhere that the programming three assignment statements so that they behave as one
language allows a single statement to be used (e.g. in statement in the body of the first for loop.
either branch of an if-then-else statement). This allows us
to think of a sequence of statements as a single entity and
thus simplify the process of program construction. Since Using Block Structure in Programs The mate-
a block may contain other blocks as components, block rial in this section has been adopted from Wegner (1971).
structure can be used to decompose a large program into
an orderly nest of blocks. This is perhaps the most im- Declarations In most block-structured programming
portant use of block structure from the programmer’s languages, a block has the form:
point of view, since it allows programs to be constructed
in a hierarchical fashion which often results in increased begin
program clarity and elegance. <block head>
Control over storage allocation and visibility of vari- <block body>
ables implies two things. First there is the ability to con- end
trol dynamically the allocation and freeing of storage
during program execution. The storage for variables de- A <block head> consists of a (possibly empty) list of
clared within a block is allocated when the block is en- variable, procedure, and function declarations. A <block
tered during program execution. Unless explicitly body> consists of a list of executable statements. The
inhibited, this storage is freed automatically when the rules of Algol 60 state that all identifiers (e.g. names of
block is exited. Second, each block introduces a new variables) used within a block have to be declared in its
scope (i.e. a domain of definition of variables). Variables block head or in the block head of some enclosing block.
declared within a block (i.e. local to the block) may be Identifiers can be used only within the block in which they
used only within that block (and any contained block). are declared (including any contained blocks). This block
Thus, variables declared within a block can have no effect is their scope and they are said to be local to it.
on the program outside of the block. This provides a In addition to scalar variables, arrays may also be
degree of data security, since a programmer can use a declared in the block head. In Algol 60, the expressions
block to “hide” variables (information hiding - q.v.) and defining the lower and upper bounds for arrays are recal-
thereby make them inaccessible outside of this block. culated each time the block is activated. Thus, the
In order to appreciate the importance of block bounds for a given array variable can be different for
structure, let us consider the Algol 60 code segment in different activations of the same block.
Fig. 1.
In the program in Fig. 1, the first block is used to Scope Rules A block body is a sequence of executable
declare the global variables sumx, sumxx, x, and y. The statements and a block is itself an executable statement.
134 BOOLE, GEORGE

Therefore, blocks may be nested to any depth. This has begin


several consequences: comment first block;
real c, b, x;
1. Although an identifier may be used only once as procedure P(x, y);
the name of an object in a block, the same identi- real x, y;
fier may be used to name different objects in begin
different blocks. A good programmer will use this comment body of P;
facility sparingly (e.g. for utility variables like j,j, real c;
k used as counters and loop indices). Wide-
spread re-use of identifiers can make a program b:=xXt+C
difficult to understand.
2. If the same identifier is used to name objects in end P;
several nested blocks, the programming begin
comment second block;
language’s scope rule is used to disambiguate
real b, d;
references to the identifier. The Algol 60 scope
rule (used in most procedural languages) starts
at the point where the identifier is used and P(d,b);
searches block heads starting with the block con-
end
taining the use of the identifier and working out-
end;
ward toward the main program block until a
declaration of the identifier is found. Note that FIG. 2. Block structure example.
with this rule the redeclaration of an identifier in
an inner block will make the object named by the
same identifier in an outer block inaccessible. gramming language. In Algol 60, a block may be used
For example, in Fig 1., the declaration of an inte- anywhere that a statement can be used. Any block can
ger variable y in the second block makes the real contain declarations and thus introduce new variables. In
array y declared in the main program inaccessi- Pascal, declarations may appear as a prefix to a block that
ble in the second block (and in all contained is the body of a function or procedure. No other blocks may
blocks). contain declarations and therefore such blocks can be
3. Whenever a block is entered during program ex- used only to group statements to form a compound state-
ecution, fresh storage is allocated for all the vari- ment.
ables declared in the block head. This storage,
known as the activation record of the block, de- References
fines a particular instance of the block in time.
1964. Randell, B. and Russell, L. S. Algol 60 Implementation. New
When execution leaves the block, the storage
York: Academic Press.
occupied by the activation record is freed. In
1967. Eckman, T. and Froberg, C. E. /ntroduction to Algol 60. Lon-
most procedural languages, the allocation and don: Oxford University Press. (This book contains the com-
freeing of activation records follows a strict last- plete text of the revised Algol 60 report, as well as a good
in-first-out discipline. This implies that a stack discussion of the control and data structures of Algol 60.)
mechanism is ideally suited for the storage of 1971. Wegner, P. “Structured Model Building in Computer Sci-
activation records. This also facilitates the im- ence.” Department of Applied Mathematics, Brown University,
plementation of recursive procedures (see RECUR- Providence, RI.
SION). 1975. Pratt, T. W. Programming Languages: Design and Implementa-
tion. Englewood Cliffs, NJ: Prentice-Hall.

Fig. 2 illustrates these points. The identifier b is used to


DAvID B. WorTMAN
name variables in both the first and second blocks. In the
block that is the body of the procedure P, the variable x
declared in the first block is inaccessible because the
identifier x was also used to name a formal parameter of
P; the variable c declared in the first block is inaccessible
BNF. See Backus-NAUR FORM.
in the body of P because another variable named c is
declared there. In the assignment statement in the body
of P, the identifier c refers to the variable c declared in P,
the identifier x refers to a formal parameter of P, and the
BOOLE, GEORGE
identifier b refers to the variable b declared in the first For an article on a related subject see BOOLEAN ALGEBRA.
block.
George Boole (b. Lincoln, England, 1815; d. Cork,
Ireland, 1864) was one of those rarities in an era of in-
Two Examples Algol 60 and Pascal illustrate two ap- creasing specialization: the self-taught man who followed
proaches to providing block structure in a high-level pro- his own path to the penetration of territory untouched by
BOOLEAN ALGEBRA 135

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

2513 ASoe Oe 1989) LOM ie i2 loan Ame om 1G

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.

Duality There is asymmetry in the operations of addi-


P=92~(eVi-nACPYV @)> D: tion and multiplication with a boolean algebra, which is
captured in the Principle of Duality:
In each of these three tables the truth values for the
given expression are in the boxed column. In the con- If a given statement holds in a boolean algebra, then

‘TABLE 5

() (2) (3) (4) (6) (6) Expression

p=q pv~r ~pv/q AG) (4)Dr ~(5) (36)

VAANA]
ntnman4
Aan JAM
44
BBB
7AA7AS44nngy |Fe
ee
ee
AMANAaAsSs AA4
ANAM a47s49g74
nah
37g Argaadsgat
138 BOOLEAN ALGEBRA

TABLE 6 so does the formula obtained by interchanging ad-


dition and multiplication, and the elements 0 and 1
(V~NACPV"G)) 2) throughout the given formula.

The properties of commutativity and associativity,


together with those shown in Table 1, are all examples of
the Principle of Duality. The value of this principle lies in
the fact that if one formula can be established, the second
follows immediately. A separate proof of the second for-
mula is not necessary, although in fact, the steps in such
AyYmATM
-7ANAdaAa4
7A7AA4AAAas
i
ie?
i>
ii?
a
| Be)
es
ee
iec AAS m45A4
ANAATN
AMANASA4
HMAdAasAt AAA a proof would be the duals of the steps in the proof of the
a47aa4a74
first formula. Here are other dual pairs of statements:

al =) a0 =0
0’ = 1’=0
a+a=1 aa’ =0
((PV~NACPV@)>r a+(a’b)=a+b a (a’+b)= ab

Computer Arithmetic The identification of the log-


ical constants T and F with the boolean constants 1 and
0, respectively, leads to the development of the arithmetic
properties of the computer in terms of its logical or bool-
ean operators. In binary arithmetic, the multiplication of
bits is exactly the same as boolean multiplication: The
product of two bits is 1 if and only if both bits are 1.
However, the addition of two bits is quite different from
boolean addition. This is apparent, since in boolean arith-
metic 1 + 1 = 1, while in binary arithmetic 1 + 1 = 10.
Kp,qr) Generated expression
We also observe that in binary arithmetic the sum bit
badd lied& F is 1 if and only if one, but not both, summands have the
Teller T value 1, while the carry bit is 1 if and only if both sum-
Tekan T p/\~q/\r mands have the value 1. Thus, we can compute the sum
TF F }e - bit by using the logical inequivalence (exclusive or) oper-
Fetal af ~p/\q/\r ation, and the carry bit by using the logical conjunction
Fair F - or boolean multiplication operation. Finally, we observe
F F T F -
that, since the negative of an integer is normally repre-
Jp ee |p 1b ~p/\~q/\~r
sented in the computer by a complementary bit pattern
fp,.gn = PANg\~)V—PA~q\)\V/(~PAQ\/\(~pA\~q~r)
Kp,qr) = pqr + pq'r + p’qr + pdr (1’s-complement), arithmetic negation can be accom-
Kp.an) = p=Q#n) plished by logical negation, or boolean complementation,
with slight modification if 2’s-complement arithmetic is
used.

TABLE 9 Logical Design Logical (or logic) design of a com-


puter is the development of computer circuitry to per-
form the desired functions for the particular machine. It
INSioe V; Px;

is necessary that the circuitry be accurate and reliable,


<p =p ~p and desirable that it be relatively simple so that it is
p/\q p/\q =(>P\/~9)
P\/G ~(~pA~9q) PVG inexpensive and easy to maintain. While logical design
pq ~(p/\~q) ~P\/q must include consideration of timing problems and the
p=q ~(~@PADA~CPA~) ~PVOV~(~PV~9) various electromechanical attachments to the computer,
the heart of the problem resides in the development of
logical circuitry to perform the desired functions.
Of the various devices designed to systematize study
TABLE 10
of this logic, the Venn diagram and Karnaugh map are
particularly simple and highly effective for functions of 2,
| uF 3, 4, or 5 variables. However, the use of these devices
becomes increasingly difficult as the number of variables
=p pip pip increases beyond five. The classical Venn diagram con-
pq lalola olpha@t@a sists of a rectangle representing the universe, containing
r\/q @bPyicala) wolalela a circle or other simple closed curve for each variable
represented. The interpretation is that within the circle
BOOLEAN ALGEBRA 139

(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’

2-variable 3-var iable 4-variable

FIG. 2. Karnaugh maps


140 BRITISH COMPUTER SOCIETY (BCS)

expect that it seems unnatural, a prodigy, like lifting one-


self by one’s own bootstraps.
The term has been applied, for example, to the pro-
gramming of acomplete translator for some language L by
means of an already-implemented translator for a small
part of L. Such bootstrapping is possible when the part of
L already implemented is adequate—not necessarily
good—for writing a translator. When it has this property,
it can be used for the programming of a complete lan-
guage L translator. The resulting program is run through
FIG. 3. Karnaugh map for pq + pr + q’r the subset-translator, to yield a running translator of the
whole language, bootstrapped into existence by means of
the already running fragment.
computer diminished. In VLSI technology, each computer
The most common current use of the term is to
chip may contain hundreds or thousands of logic gates.
denote the act of bringing a microcomputer to an opera-
Hence, the focus of minimization efforts shifted away from
tional state (i.e. a state in which it accepts user com-
individual gates toward the problem of finding the best
mands) from either an unpowered state or a powered but
combination of logic gates to fit on a chip to perform a
unresponsive state. Booting a PC from an unpowered
given set of functions. That is, the question is less “What is
state—a cold boot—is initiated simply by switching the PC
the minimal number of gates to perform this function?” and
on; it is normally done to start a work session, and usually
more “What is the minimum number of gates to perform
includes a Power-On Self-Test (POST) that checks the
the given set of functions?” The concepts of minimization
memory circuitry.
are still relevant, but the designer may be willing to tradea
Rebooting from a powered state—a warm boot—is
less efficient computation of one function for a more effi-
usually initiated by pressing some combination of keys
cient computation of the entire set of functions.
(such as Ctrl-Alt-Del on an IBM PC) or hitting what on the
Macintosh is called a “programmer’s switch.” It does not
References
include the POST, and is normally done only to recover
1983. Mott, Joe L., Kandel, Abraham, and Baker, Theodore P. from a condition in which user commands are not re-
Discrete Mathematics for Computer Scientists. Reston, VA: Res- sponded to. In some severe non-operational conditions
ton Publishing Co. (e.g. a “frozen” keyboard), the only recourse the user has
1984. Korfhage, Robert R. Discrete Computational Structures, Sec-
is to initiate a cold boot by switching the machine off and
ond Edition. New York: Academic Press.
then on again.
1985. Doerr, Alan and Levasseur, Kenneth, Applied Discrete Struc-
tures for Computer Science. Chicago: Science Research Associ- The boot process (built into the machine’s BIOS
ates. (q.v.), or Basic Input-Output System), however initiated,
then proceeds to load the system files needed to bring the
computer’s operating system or user interface (g.v.) into
ROBERT R. KORFHAGE a state of readiness.

MARK HALPERN

BOOT AND REBOOT


For articles on related subjects see BIOS; and LOGIN FILE.
BRANCH. See Macnine AND ASSEMBLY LANGUAGE PRO-
To bootstrap—or, more commonly, to just boof—is to
GRAMMING.
accomplish a task by means of a procedure that gives its
user the first move free. The term was first used in a
computing context to describe the process whereby a BREAKPOINT. see DEBUGGING.
programmed loader, whose job it is to get other pieces of
software into a machine, is itself loaded. This task, which
at first glance seems to threaten infinite regression, was
made possible by a very simple loader wired into the BRITISH COMPUTER SOCIETY
hardware; this was just adequate enough to load the
programmed loader, which then loaded everything else.
(BCS)
From this beginning, “bootstrapping” has become a For an article on a related subject see INTERNATIONAL FEDER-
generic term for the use of any procedure that requires its ATION FOR INFORMATION PROCESSING.
user to do no more than some initial part of what would
seem a priori to be the entire task, with the procedure The British Computer Society is the chartered body
itself then doing the rest, such as a staircase that magi- in the U.K. for all information technology professionals.
cally becomes an escalator after climbing the first step or Formed in 1957, it now has nearly 34,000 members. The
two. Such a procedure achieves its result with so little Society is concerned with the development of computing
user effort that superficial estimates might lead one to and its effective application and, under its Royal Charter
BRITISH COMPUTER SOCIETY (BCS) 141

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


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

mses utin ant ittatLi(Be


1 ae teOn 2109 1:56
No itenswaiting.
CONFERENCE 2585 CHOICE?L.1

ld Oe i prey
Ft hcl
FI ATT
to
a. mt

Meta
L
et

.., tothe of alt designed Bybee intelligence’.


perforcethe of ourselves afd our cosnoS.
There couldn't be a nore appropri
MB Hie we se

FIG. 1 The first frame of a private conference bulletin board.


BURROUGHS, WILLIAM S. 145

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

called an “electronic campus,” where faculty and stu-


dents enter and read lecture and discussion messages,
pursue research, access papers in an on-line library, and
engage in social conversation at times of their own choos-
BURROUGHS, WILLIAM S.
ing. Such education, like all on-line services, is especially For an article on a related subject see CALCULATING MA-
valuable to people who for reasons of physical handicap, CHINES.
geographic isolation, or pressure of business are unable
to attend conventional classrooms. Williams Seward Burroughs was born on 28 January
The Internet and Bitnet systems connect mainframes 1855 in Auburn, N.Y. and died 5 September 1898 in
in universities all around the world, and are used not only Citronelle, Alabama. He is immortalized in the name of the
by students but by scholars and scientists. The initial Burroughs firm, but, unlike some of the other early man-
investigationof claims of cold fusion in 1989 was facili- ufacturers of mechanical calculators, his firm did not
tated by exchanges among scientists on these networks. adopt that name until after Burroughs himself had died. It
Discussions on such issues as global warming and inter- was through his early experience as a junior bank clerk
national crisis management continue on these systems. that he developed an appreciation for the types of calcu-
Use of bulletin boards for such serious activities has lations that were required in a business environment. In
raised issues of intellectual property and authors’ rights 1881 he moved to St. Louis and worked in his father’s
not fully addressed by current copyright laws. The ease shop, making models for castings, which gave him the
and speed of dissemination of electronic text makes it background knowledge required for his mechanical in-
very difficult to control by traditional means. Computer ventions.
viruses (g.v.) that destroy or impair computer systems Inspired by other mechanical calculators, particu-
are another problem resulting from uncontrolled ex- larly the key-driven comptometers invented by Dorr E.
change of data and programs. Mass dissemination of de- Felt, Burroughs set about inventing one that would not
structive or mischievous programs introduced by only add, but also print a list of the numbers entered and
146 BUS

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.

Introduction A bus is an electronic pathway in a dig-


ital computer that provides a communication path for
data to flow between the central processing unit (CPU -
q.v.) and its memory and between and among the CPU and
the various peripheral devices connected to the com-
puter. us contains one wire for each bit needed to
specify the address of a device or location in memory,
plus additional wires that distinguish among the various
data transfer operations to be performed. A bus can trans-
mit data in either direction between any two components
of the computing system. Without a bus, a computer
would need separate wires for all possible connections
between components, clearly an intolerable situation.
On a microcomputer, the bus is usually called an
expansion bus because its design determines the degree
to which the minimum configuration of the system can be
expanded with regard to memory, processing speed,
graphics capability, and peripheral support. The expan-
sion bus is the collection of wires, paths, connectors, and
controllers responsible for distributing the data and in-
structions from the microprocessor to the peripheral ex-
pansion cards. Slots connected to the bus provide places
to plug those cards in, and the bus then provides a mech-
FIG. 1. William Seward Burroughs (courtesy UNISYS Corpo- anism for communicating with them. The remainder of
rate Archives). this article discusses three generations of expansion
the final total on a tape. An early model, capable of print- buses used with IBM-compatible PCs and, briefly, the
ing only the final total, was not acommercial success, and expansion bus used with Macintosh computers.
his financial backers withdrew their support. Burroughs When microcomputers were first introduced during
continued on his own, eventually producing 50 copies of the 1970s, there were no standard mechanisms for ex-
one model—all of which had to be recalled because Bur- panding a computer’s capabilities. Every manufacturer
roughs himself was the only one who could make them had a different scheme, and some manufacturers hadn't
operate in a consistently reliable way. even standardized across different models in a single-
In 1886 the American Arithmometer Company was product line.
formed by Burroughs and three associates. The company
manufactured and marketed an improved calculating ma- S-100 Bus When Altair introduced its 8080 computer,
chine that could list both the individual entries and the it came with an expansion bus with a published specifica-
totals. The earlier mechanical problems had been over- tion that used common parts and connectors. This open
come by the introduction of a shock absorbing dash pot architecture soon became a standard. One hundred pins
that cushioned the action of the activating lever on the were provided for various signals on what became known
mechanism. Upon payment of $475.00, the first customers as the S-100 bus. This meant that new video cards, more
received their machine in December 1892. By 18 January memory, and serial and parallel ports could be added to
1908, the firm, by then known as the Burroughs Adding the computer as needed. They could even be purchased
Machine Company, could boast that it had supplied a total from someone other than Altair. The add-on board busi-
of 63,574 machines of 58 different types. ness was born, and more than 100 companies manufac-
tured S-100 products. The S-100 bus was even capable of
References 16-bit addressing, but it had some shortcomings. It was
subject to interference and crosstalk, it did not perform
1914. Horsburgh, E. M. Handbook of the Napier Tercentenary Cele- reliably with high-frequency signals, and there were ambi-
bration of Modern Instruments and Methods of Calculation. Ed-
guities in the standard that led some manufacturers to
inburgh: The Royal Society of Edinburgh (reprinted by MIT
Press and Tomash Publishers, 1982). define specific pins in multipte ways.
1921. Turck, J. A. V. Origin of Modern Calculating Machines. Chi-
cago: The Western Society of Engineers. ISA Bus Just as groups of interested parties were
meeting in 1981 to improve the S-100 bus, IBM announced
MICHAEL R. WALLIAMS its new personal computer, the IBM-PC. The machine was
BUS 147

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.

Vannevar Bush, the son of a clergyman, was born in


Massachusetts on 11 March 1890. He attended Tufts Uni-
versity in the years before World War I and earned both a
B.S. and M.S. degree. He then continued on for a doctor-
ate, which was conferred upon him in 1916 simulta-
neously by both Harvard and M.I.T. While a graduate
student, he worked for General Electric and the U.S. Navy,
and taught mathematics at Tufts. In 1919 he joined the
teaching staff of M.LT., obtaining a full professorship in
1923 and becoming Vice President and Dean of the Engi-
neering School in 1932. He remained with M.LT. until 1938,
when he was elected President of the Carnegie Institution
in Washington, a position he held until retiring from active
public life in 1955.
During his formative years, Bush showed an interest
in mechanical construction, and invented or improved
upon several instruments. The most famous of these (in-
vented during his college days) was an automatic survey-
ing machine, resembling a child’s scooter, that he
constructed from two bicycle wheels with an instrument —
box mounted between them. It could be pushed over a
trail and would automatically create a profile of the ter-
rain over which it had traversed.
His inventive insight was immensely useful to him in
later life. Coupled with a zest for hard work, it aided him
in the creation of several analog computers, the most
noteworthy of which were his network analyzer and dif- FIG. 1. Vannevar Bush. (Courtesy of the M. I. T. Museum.)
ferential analyzer.
Bush’s first major calculating machine project re-
sulted from his efforts to solve some very difficult differ- with John H. Howard of M.I.T., he developed a device
ential equations describing the behavior of a power line known as the Rapid Selector, which was designed to facil-
network. After several months of effort attempting to find itate information retrieval (q.v.). A special binary code
an analytical solution to the equations, he came to the was created to label specific items of information. This
conclusion that it would be more economical to spend his code, when recorded on the edge of a microfilm, could be
time in the design and construction of special analog scanned quickly by photoelectric scanners and the re-
machines to solve the problem by simulating the system. quired items retrieved much faster than if one had to read
The machines for which he is most famous are his the entire film.
mechanical differential analyzer and the more sophisti- The work with information retrieval technology led
cated electrical version, known as the second Rockefeller Bush to imagine a machine that he called “memex”—es-
Differential Analyzer, or RDA2. These machines used me- sentially an extension of the personal memory and knowl-
chanical integrators to perform the key step in the solu- edge base of any one individual. It was an attempt to
tion of differential equations, the results being registered describe a device that would emulate a mind in its asso-
as a rotation of an output shaft. The element that then ciative linking of items of information and their retrieval
allowed these to be combined into a total solution was a (see HYPERTEXT). Although the memex could never have
“torque amplifier,” which enabled the values to be added been constructed during Bush’s lifetime, it formed a back-
and subtracted by feeding them into various gear combi- ground to all his thinking and constantly recurred in his
nations. The RDA2 replaced these rotating shafts and thoughts and some of his later publications. Although the
gears by electrically driven systems, but retained the memex has been called the first personal workstation
mechanical analog integrators. Several different examples (q.v.), it is still not available in its full generality.
of the mechanical differential analyzer were constructed In terms of computing, Bush is best known for his
just prior to World War Il, and these became the central analog devices, but he had a much more lasting impact in
instruments in such work as the calculation of ballistic his work behind the scenes. He was the eminence grise of
trajectories for artillery firing tables. American science during and in the decade following
Another one of his projects resulted from his realiza- World War II. In 1940 President Roosevelt appointed him
tion that it is not sufficient to have some information, you to be chairman of the National Defense Research Commit-
must also be able to access it in a timely way. Together tee, a group set up to coordinate and expand military
See
BUSH, VANNEVAR 149

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 ¢

ihe %& ins . 1" ee 2 ree


ae ee j

tae nuTsie od 5 errrnetee!


' — mers ;y oy 7 ; } gait oe fr 6

i 7 ie 7 j ¢ </> )

: 7." ; Sees é Fie:


Oi ian

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 " )

gpa 4 > Mae =m |


Sie Pwo) a? Py > te
<

re eee Ser
1<- @? ae 4 1 y j ; A

y (Ol
ee,

; (© | ia ; | 4
a id) 9 '
paw yi r 5 rh macy

AEA A Oe ie Wioudl difter==. ena Gerere Hae reer et in


|
w Pr g , ; ee L o h, plyre pct ah De RM SeReCT Or, adic 06 t %
pa RS . V , ' | Dany ARP eh Ptah teh ial nV, ct aad; piesnoi yp ae _ peye
hi isa
. 7) i - aie it ree! “5 nda ies

shy S el Tis <¢ hearer *were et,


PNA Bees
ce > oy =~ Ps : : § A Siwyg é wie © a> Uv
sohadi. ; , Re (ESO tale oy (gs apa aie kite ihe een nani h
y i r
7 = “ait @ ty! ayea 4 Cie rey Tt. y— Aa
= Oe ed Ry > , is SMT oh = nett a WRT
gerbe: ei . . is tre lLancts Feo se ih we Bae ying

a nell ~ Be Sy ‘ ‘ po} grt.) wh COAT EL i‘ inl a eee

of rT pee rey PSSCe mI Mica eS ED | aes Titty


= ' y re mr ; as sevice ait pind

r ea ih tivsae ie OTR“ine Sin


. ook” wos tie NEFA, ei
ut Oe tay gaglal rn car nas
4 F 7A, oe igo Gey! Ursa? & cree Ch we
49 aw are), SP eee al JGArAA paren
ben, ee ; 5, Tai Ae. PTE Nee CHORD &
ae on Se, Gy erat Shaes ‘ee ) he esiesiat lah
, mn PAS 1M ma) Ot ie
= A ‘hae cba meaning Dow aimee,
~lo oF Dre tn “lek
i ~ ral
ty i ee
vo Thiet ring 4
Cc Language Components
For articles on related subjects see PROCEDURE-ORIENTED Control Flow Control flow in C is relatively conventional:
LANGUAGES; PROGRAMMING LANGUAGES; STRUCTURED PROGRAM-
MING; SYSTEMS PROGRAMMING; and UNIX OPERATING SYSTEM. if (expr) stat] else stat2
while (expr) stat
Cis a general-purpose programming language featur- do stat while (expr)
ing economy of expression, modern control flow and data for (exprl; expr2; expr3) stat
structure capabilities, and a rich set of operators and data switch (expr) {
types. case const/: stat]
Cis best known as the primary language of the Unix* case const2: stat2
operating system, but is also used in several other envi-
ronments. It has been used for a wide variety of programs, default: stat
including the Unix operating system, the C compiler itself, }
and essentially all Unix applications software. In addition
to systems programming, C has been used successfully In each of these, expr is an expression, and stat is a
for major numerical, text processing, and database pro- statement, either simple or a group of statements en-
grams. Although C is a high-level language, it is suffi- closed in {...} (the equivalent of begin...end).
ciently expressive and efficient to have completely Within a loop, break causes an immediate exit and
displaced assembly language in many environments. continue causes the next iteration to begin. There are
C was originally designed and implemented by Den- also labels and a goto.
nis Ritchie in 1972-1973 for the DEC PDP-11. C has its
roots in BCPL** in much the same way that, for example, Data Types The basic data types in C are char (usually
Pascal springs from Algol. (C is the successor to a short- an eight-bit byte), int, short, and long (various sizes of
lived BCPL-like language called B that was developed at integers), and float and double (floating point numbers).
Bell Labs; thus, the very name “C” derives from BCPL.) In addition, there is a conceptually infinite hierarchy
Like BCPL, C is relatively simple, notationally compact, of derived types: If T is a type, then there are pointers
and makes significant use of pointer (¢.v.) arithmetic. One to objects of type T, arrays of T’s, and structures and
major distinction between them, however, is that, while unions (records and variant records, in Pascal termi-
BCPL is typeless, C supports a range of data types, thus nology) that may contain T’s. There are also pointers
better reflecting the architecture of most current comput- to functions, and an enumeration data type (i.e. one
ers. whose range of values is explicitly defined by the
The standard reference on C is Kernighan and Ritchie programmer).
(1988); more information on the philosophy of the lan- C does not have a string data type; strings are repre-
guage may be found in Ritchie et al. (1978). sented as arrays of char’s, usually with a null byte as
terminator, and manipulated by library functions.
*Unix is a Trademark of AT&T Bell Laboratories. Pointer arithmetic is an integral part of C. If p is of
**BCPL (“Basic Combined Programming Language”) is a sys- type pointer to T, and currently points to an element of an
tems programming language developed in 1969 by Martin Rich-
array of T’s, then p + 1 is a pointer to the next element of
ards of Cambridge University. It has been transported to a variety
of computers, and is still widely used.
the array. That is, arithmetic operations on pointers are

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”°,

v += expr #define LIMIT 20


main() /* test power function */
“4+ =” is analogous to “:+ =” in Algol 68 (¢.v.). {
The unary operators ++ and — — increment or dec- int i;
rement their operand: long power(); /* power returns a long */
for (i = 0; i < = LIMIT; ++ i)
++thing printf(“%d %ld\n”, i, power(2,i));
}
is the preferred way to write long power(x, n) /*raise x to n-th power; n>= 0 */
int x,n;
thing = thing + 1 {
int i;
An expression may be coerced to another type by long p;
preceding the expression with a type name, as in Dt
for Gi = 1;i<=n;++ i)
x = sqrt( (double) integer expression) ; p = p*x,
return(p);
The coercion (q.v.) in this example converts the integer }
expression into double precision, the type required by the
function sqrt. Execution begins at main. The function printf does format-
ted output conversion according to the specification in its
Program Structure A C program is a set of declarations first argument. Here, %d signals an ordinary integer, and
(q.v.) of variables and functions in one or more source %ld a long integer; \n is a newline character.
files that may be compiled separately. Function declara- The function power would normally be written more
tions may not be nested; C is otherwise block structured concisely by experienced C programmers as:
(g.v.).
Objects—functions or external variables—at the top long power(x,n) /* raise x to n-th power; n >= 0 */
level are declared either global (i.e. available to all func- int x,n;
tions) or visible only within the source file where they are {
declared. Variables internal to a function are either auto- long p = 1;
matic (i.e. they appear when the function is entered and while (——n >= 0) /* decrement n before testing */
disappear when it is exited) or static (i.e. they retain their p* =x;
values from one call of the function to the next). There is return(p);
a register declaration to advise the compiler that a vari- }
able is likely to be heavily used. Normally, a compiler
would attempt to store such a variable in a register for fast
access, but the declaration is only a suggestion; compilers Portability - C is not tied to any particular hardware or
are free to ignore the advice. operating system; C compilers run on a wide variety of
All functions may be recursive. Arguments are passed machines, from micros to the largest mainframes. Most of
by value, but passing a pointer provides call by reference these newer compilers are based on the “portable C com-
when necessary. Function arguments and return values piler” developed by S. C. Johnson. The language and the
may be any basic type, pointers, structures, unions, and standard library have been kept under strict enough con-
enumerations. Arrays are passed by passing a pointer to trol that they show little variation among machines. An
the first element. ANSI standard for C was defined in 1988. Accordingly,
A preprocessor (q.v.) provides source file inclusion, most C programs can be moved without change to any
conditional compilation, and macro processing for sym- system that supports C and the run-time library. In partic-
bolic names and short in-line functions. ular, this has meant that the Unix operating system itself,
CACHE MEMORY 153

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.

4 books (any order) in each


congruence class

Office shelf-cache using 4-way set-associative mapping.


%
156 CACHE MEMORY

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

Late-select signals (decoded)

FIG, 3. 4-way set-associative, late select organization.


CALCULATING MACHINES 157

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

1977. Matick, R. E. Computer Storage Systems and Technology.


Chapter 9, New York: John Wiley and Sons.
1991. Apiki, Steve, and Grehan, Rick. “Caching Cards Speed Data
Access,” Byte, 16, 1 (January) 168-182.

RICHARD E. MATICK FIG. 1a. Schickard’s calculator.


158 ~~ CALCULATING MACHINES

FIG. 1b. The Schickard carry mechanism.

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

FIG. 2b. _Single-tooth carry mechanism.

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

Many others made calculating machines of one form


or another, some fully functional, others only marginally
so, but none was a commercial success. Occasional ma-
chines were actually sold by their manufacturers, but they
were usually not used for anything except display pur-
poses to show that their owners could afford the latest in
scientific toys. The exception to this was the machine
made by Charles Xavier Thomas, sometimes known as
Thomas de Colmar, a French insurance executive. He was
familiar enough with the manufacturing processes avail-
able around 1820 to design a workable mechanical calcula-
tor and create a successful business by selling them to
people who actually wanted to perform computations.

\\)
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

FIG. 5. An illustration of the variable-toothed gear.


CALCULATING MACHINES 161

Ee hy On pey

FIG. 6. A Brunsviga Calculator. (Courtesy of Smithsonian In-


stitution.)

different numbers of pins through the edge surface of the


gear, the pins acting as gear teeth when the whole mech-
anism was rotated about the central axis. Odhner first
produced his “pin wheel” calculator in 1874 at a factory
he had set up in St. Petersburg. The concept quickly
spread and soon the famous Brunsviga firm was produc-
ing them in Germany, the Baldwin calculators were being FIG. 8. The Curta. (Courtesy of Smithsonian Institution.)
made in America, and the original Odhner firm was con-
tinuing to produce them in Russia. By 1912 the Brunsviga
firm alone had produced over 20,000 machines (Fig. 6)
made by Burroughs and others—to become practical
and the total worldwide production was likely many times tools for the business office.
that number. There were, of course, many improvements to these
The only significant advance on the technology of the very basic devices over the years. The addition of a
variabletoothed gear was the key-driven adding ma- printing mechanism allowed users to keep track of their
chine. It had long been recognized that the act of moving computations. The replacement of human motive power
a setting lever contained enough energy actually to per- by electric motors allowed both faster computation and
form the addition if a suitable mechanical mechanism less fatigue for the operator. The improvements in engi-
could be invented. Dorr E. Felt, an American, produced neering technology shrunk the size and weight of the
the first workable system in 1886, which he named the machines to the point where the Curta calculator (Fig. 8),
Comptometer (Fig. 7). By combining the action of enter- ironically enough based on the Leibniz stepped drum,
ing a number with the action of actually adding it to a could not only be carried in pockets, but was actually
mechanical register, the process of performing simple used by holding it in one hand. However the speed, flexi-
addition was speeded up by several orders of magnitude. bility, and ultra-light weight of the electronic calculators
This allowed the Comptometer—and similar machines began to replace the mechanical ones in the modern era.
By the early 1970s, even the Curta had ceased production.
In the middle years of the twentieth century electro-
mechanical desktop calculating machines manufactured
by Brunsviga, Facit, Friden, Marchant and Monroe, among
others, were widely used but, with the advent of the
hand-held electronic calculator, they disappeared.

References

1914. Horsburgh, E. M. Handbook of the Napier Tercentenary Cel-


ebration on Modern Instruments and Methods of Calculation.
Edinburgh: The Royal Society of Edinburgh (reprinted by
M.LT. Press and Tomash Publishers, 1982).
1921. Turck, J. V. A. Origin of Modern Calculating Machines. Chi-
cago: The Western Society of Engineers.
1989. Aspray, W. (Ed.) Computing Before Computers, Ames, IA: The
lowa State University Press.

FIG. 7. Anearly Comptometer. (Courtesy of Smithsonian Insti-


tution.) MICHAEL R. WILLIAMS
162 CALCULATORS, ELECTRONIC AND PROGRAMMABLE

CALCULATORS, ELECTRONIC
AND PROGRAMMABLE
For articles on related subjects see CALCULATING MACHINES;
DIGITAL COMPUTERS: HISTORY: PERSONAL COMPUTERS.; and
LAPTOP COMPUTERS.

It is believed that the first mechanical calculating


device was the abacus. There is evidence that the abacus
was invented prior to 500 B.c. Visitors to the Far East will
know that the abacus is still a common form of desk
calculator and is used with great dexterity and speed.
Modern calculators are descendants of a digital arith-
metic machine devised by Blaise Pascal (q.v.) in 1642. In
1671, Gottfried Von Leibniz (g.v.) designed a calculating
machine that could add and multiply, with multiplication
being performed by repeated addition. During the late
nineteenth century and early twentieth century, inven-
tors produced calculators that were progressively
smaller and less and less laborious to use.
Prior to the 1950s, desktop calculators were either
key driven or used a rotating drum to enter sums punched
into a keyboard. Eventually, this drum was spun by an
electric motor. The invention of the transistor in 1948 and
the integrated circuit in 1964 were the two events that
formed the basis for the electronic calculator revolution.
Minature solid-state electronics enabled calculators to
progress past the basic four arithmetic functions to the
point where they are capable of performing almost any
function that can be expressed as a programmable se-
quence or a mathematical formula. FIG. 1. The HP 48SX scientific calculator. (Courtesy of
By 1974, calculators using modern electronic tech- Hewlett-Packard Corpaoration.)
nology cost less than $50 and could outperform mechan-
ical calculators that had once sold for up to $1500. Today,
some handheld calculators can be purchased for less including 32K bytes of RAM, 256K bytes of ROM (Read-
than $5; and $300 will buy an extremely sophisticated only Memory - g.v.), and a serial I/O interface. This calcu-
calculator. lator can be expanded up to 288K bytes and can interface
Some electronic calculators are intended for desk with MS-DOS or Macintosh computer systems and infra-
use, but since 1970 numerous hand models have been red printers. One special feature of the 48SX calculator is
available, some as small as acredit card. At the same time, a greatly improved 8-row by 22-column supertwist LCD
solar or other long-life batteries brought about calcula- display. This display provides the ability to enter equa-
tors that can operate for thousands of hours without tions exactly as they would be entered on paper.
energy source replacements. Electronic calculators are designed to perform their
Nearly all calculators have programmed microin- functions using either algebraic notation or RPN, Reverse
structions; their circuitry can do any of several different Polish Notation (see POLISH NoTATION). Algebraic notation
things depending on coded commands stored in the sys- permits entry of calculations as normally written (e.g. ( [2]
tem. Some electronic calculators are programmed exter- +[3]) with the arithmetic function between the two num-
nally. In this case, a sequence of operations is entered into bers-infix notation. With RPN, the operator is placed after
the calculator, much as occurs during the programming of the two numbers, ( ), and, therefore, the operator
a computer. is input after both numbers have been entered (postfix
As electronic calculators, increase in capabilities, the notation). The former requires parenthesizing for all but
gap closes between the capabilities of a calculator and the the simplest calculations, whereas RPN allows any se-
capabilities of an electronic computer. The programmable quence of calculations to be entered without parentheses.
calculator was first introduced in 1974 by Hewlett- It is unfamiliar however, and considerable learning is
Packard. Today, calculators such as the Hewlett-Packard needed before it can be used easily. Other calculators
HP 48SX can translate calculus and other types of engi- have been programmed so that the “order of operations”
neering problems into pictures. Punch in an equation and rules are followed, thereby eliminating much of the need
the calculator can draw the result, complete with annota- for entering parentheses. (See OPERATOR PRECEDENCE.)
tions, on its 1-inch by 3-inch liquid-crystal display. Calculators typically compute non-zero numbers in
The HP 48SX calculator, shown in the photo in Fig. 1, a range from 10-” to 10% and print from 8 to 12 digits
includes features that make it a virtual microcomputer, in the display. If the answer is larger than the display,
CALLING SEQUENCE 163

CALL. See CALLING SEQUENCE; and PROCEDURE.

CALL-BY-NAME, -REFERENCE,
OR -VALUE. See PARAMETER PASSING.

CALLING SEQUENCE
For articles on related subjects see ACTIVATION RECORD,
PARAMETER PASSING; and PROCEDURE.

A calling sequence is the precise sequence of one or


more commands or statements needed to invoke a subor-
dinate procedure. In a high-level language like Pascal,
procedures are called by stating their name, followed by
a parenthesized list of the actual parameters that the
FIG. 2. The TI Math Explorer calculator. (Courtesy of Texas procedure needs to do its work. An example is
Instruments Corporation.)
search(haystack,150,’needle’,
Jocations)

which invokes a procedure that searches an array of 150


many calculators will automatically express the answer character strings called haystack and places in an array
in scientific notation. A typical advanced nonprogram- called locations the indices (subscripts) of all haystack
mable electronic caculator would normally include the locations that contain “needle.”
following scientific functions: x”, Vx, 1/x, y*, «y inter- The single-statement calling sequence just cited is
change, normal and inverse trigonometric functions, properly formed only if it contains exactly the right num-
logarithms to the bases 10 and e, e*, 10”, x/, and degree ber of parameters expected by the called procedure, the
to radian conversions. Statistical functions often in- parameters are specified in the expected order, and the
cluded are summation, mean, and standard deviation. data type of each parameter (integer, real, string, etc.) is
Other common calculator capabilities are the ability to what is expected.
store a number in memory, to add to memory, to divide The mechanism used for parameter passing (q.v.)
into a number saved in memory, and to exchange the may limit the form of the expression used to cite actual
display with memory. parameters. For example, if the second parameter used
Special-purpose calculators have been designed for with procedure search is to be an integer passed by value,
many professions and hobbies, including finance, statis- then the actual parameter used in this position could be
tics, business, mathematics, science, economics, ac- an expression such as n—/j+2, just as well as a particular
counting, real estate, sports, and time management. A number like 150. But if the first and last parameters are
relatively inexpensive calculator developed by Texas In- passed by reference (VAR parameters in the vocabulary
struments, called the Math Explorer (Fig. 2), is able to of Pascal), the actual parameters used in those positions
add, subtract, multiply, divide, and reduce fractions, in must be variable names (as they are in the example
addition to many of the normal functions found on most given).
calculators. Sports Page is a “pocket electronic score- The term calling sequence predates the use of high-
board.” Its two-line display gives the latest lineups and level languages. In an assembly language, such as is used
results of college and professional football, basketball, with the Digital Equipment Corporation VAX computer,
baseball, soccer, hockey games, and even horse racing. It the calling sequence for a machine-language version of
gets its input from local transmitters that are fed by search would be
satellite. Sharp’s DialMaster EL-6250 stores 200 names
PUSHAL locations ; Push the address of
and numbers and calls one automatically when held to a symbol “locations”
touch-tone phone. It also works as a calculator and has PUSHAL item ; Push the address of the
two electronic memo pads to record appointments and lst byte of string sought
make notes. PUSHL #150 ; Push the value 150
Americans have been purchasing in excess of 4
PUSHAL haystack ; Push the address of
million calculators per year for nearly two decades. ; symbol “haystack”
Texas Instruments, Casio, Sharp, Unisonic, and Novis CALLS #4,search ; Call search with 4
are the leaders in total number of calculators sold each ; parameters
year.
Note that, with respect to the one-statement Pascal
JERALD L. MIKESELL calling sequence, parameters are pushed in right-to-left
164 CANADIAN INFORMATION PROCESSING SOCIETY (CIPS)

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

Organizational Structure The Management of the


CANADIAN INFORMATION Society is vested in the National Board of Directors con-
PROCESSING SOCIETY (CIPS) sisting of six nationally elected Executive Committee
members, eleven regionally elected Directors, and one
Purpose The objective of CIPS is the advancement of elected representative from each of the Society’s 17 Spe-
computer and information processing in Canada. To this cial Interest Groups. Members of the Executive Commit-
end, it brings together scientists, business people, and tee act as officers of the Society, and, together with the
others who make their careers in computing and informa- Regional Directors, they constitute the governing body of
tion processing. The Society’s activities include commit- the Society.
tees organized to pursue special interests, meetings, The President normally holds office for one year and
seminars, and conferences held at national and regional then remains on the Board as Past-President for an addi-
levels to exchange information, publications to dissemi- tional year. The First Vice-President automatically be-
nate information, and long-term commitments to promot- comes the next president. The other three elected
ing the use of computers in the best interests of society. members of the Executive—the Second Vice-President,
the Secretary, and the Treasurer—are elected as a group
How Established CIPS was born in 1958 as a result for a two-year period.
of the Canadian Conference on Computing and Data Pro- The various Standing Committees of the Society,
cessing held in Toronto, 9-10 June 1958. The Society, which report directly to the National Board of Directors,
established originally as the Computing and Data Process- include Publication, Constitution, Membership, Adminis-
ing Society of Canada, shortened its name to the Com- tration, Professional Standards, Government Liaison,
puter Society of Canada in 1965, and in 1968 its name was Public Service/Public Relations, and Audit. Committee
again amended to the present title. The current member- Chairs are appointed by the President and normally serve
ship (1992) is over 6,700. two-year terms. The Committees are guided by Terms of
Presidents of the society since its inception have Reference, which have been established by the National
been: Board of Directors.
The 17 sections of CIPS across the country continue
Fred Thomas, 1958-1959 to be the focal point of Society activities. Local executives
Hudson Stowe, 1959-1960 meet on an ongoing basis to plan programs and adminis-
C. C. Gotlieb, 1960-1961 ter section affairs. Section activities include programs of
Otto M. Mackey, 1961-1962 invited speakers, panels, seminars, and tours.
J. H. Aitchison, 1962-1963 To foster development in specialized areas, CIPS has
J. C. Davidson, 1963-1964 a number of Special Interest Groups, including the Com-
Harvey S. Gellman, 1964-1965 puter Science Association, the Canadian Image Process-
J. Wesley Graham, 1965-1967 ing and Pattern Recognition Society, and the Canadian
Bernard Hodson, 1967-1968 Society for the Computational Study of Intelligence.
B. B. Goodfellow, 1968-1969 There are six classes of membership—Active, Stu-
Mers Kutt, 1969-1970 dent, Graduated, Certified, Retired, and Honorary. Eligibil-
George A. Fierheller, 1970-1971 ity for active membership requires that the individual be
James M. Kennedy, 1971-1972 engaged in the administration, practice, or teaching of
James H. Finch, 1972-1973 computing and information processing. Student member-
Grant N. Boyd, 1973-1974 ship requires that the individual be registered full time in
CD-ROM 165

a recognized educational institution. Student members


CATALOG. See Directory.
who graduate are called Graduated Members for two
years and pay reduced fees. Certified Members are active
Members who have applied for and been granted CIPS
certification as an Information Systems Professional of
C BI. See CHARLES BABBAGE INSTITUTE.
Canada (1.S.P.). Retired Members are active members for
at least 10 years who have retired from full-time employ-
ment and who pay reduced fees. Honorary membership
is awarded to those who, in the opinion of the National
Board, have made an outstanding contribution to com-
CD-ROM
puting and information processing. For articles on related subjects see MEMORY: AUXILIARY;
The headquarters of CIPS are at 430 King Street W., READ-ONLY MEMORY; and VIDEODISC.
Suite 205, Toronto, Ontario, M5V 1L5.
CD-ROM (compact disc, read-only memory) is an opti-
Technical Program Conferences have remained a cal storage medium, used primarily with personal com-
major activity of the Society. In addition to the National puters. CD-ROM is slow compared to electronic or
Conference held each year in the early summer, CIPS also magnetic storage, but the capacity is very high and the
organizes one-day national seminars. Important topics, cost per bit low. The capacity of a CD-ROM disc is over 600
such as EDP Audit and Security and Distributed Data MB, so roughly 100 copies of this encyclopedia would fit
Processing, have been covered by these seminars. CIPS on a single CD-ROM, exclusive of space for digitized pho-
also sponsors the annual Canadian Computer Show and tographs and figures.
Conference in Toronto and the Salon de I’ordinateur in CD-ROM storage was adapted from audio CD, devel-
Montreal. These two events, the largest of their kind in oped in the mid 1970s by Sony and Philips. CD-ROM units
Canada, each attract upwards of 20,000 people. have been available for personal computers since the mid-
The four main publications of CIPS are: 1980s, but sales figures were not impressive until the end
of that decade. According to InfoTech, a market research
e CIPS Review, a bimonthly publication which con- firm, there were 171,000 CD-ROM drives installed, mostly
tains informative, useful, and controversial arti- on IBM PCs, and 580 CD-ROM titles in production as of
cles covering the broad spectrum of information 1989. The industry sales rate was $406 million per year.
processing. (Theme issues have included Comput- CD-ROM uses. the same media and disc duplication
ers and Health, Manpower, Leasing, and Communi- facilities as audio CDs, and the drives are modified audio
cations Policy.) drives. Information is recorded as rough pits on a polished
e The Canadian Computer Census, the authoritative substrate, and is read by measuring reflected laser light.
Canadian directory of computer installations in CD-ROM adds error-detection information not needed
Canada, used by researchers, marketers, foreign with audio CDs. Information is recorded in concentric,
companies, and government agencies, which has addressable tracks, like a magnetic disk and unlike
been published annually by the Society since the videodisc. There are two standard logical file formats for
early 1960s. CD-ROM: ISO 9660, for MS-DOS computers, and a format
e The Canadian Salary Survey, an annua! publication, compatible with the Hierarchical File System used with
which is a guide to Canadian salaries at all occupa- Apple’s Macintosh computer. Since CD-ROM capacity is
tional levels in the data processing industry. high, many publishers press a single version of a disc, with
e Infor Journal, a quarterly publication, which is the data recorded in both HFS and ISO 9660 formats.
leading Canadian scientific journal in the comput- CD-ROM applications were pioneered by Gary Kildall
ing field, and contains refereed technical papers. and Bill Gates. Kildall, author of CP/M, an operating sys-
Inforispublished jointly by CIPS and the Canadian tem that was widely used on early personal computers,
Operational Research Society. worked with Grolier to publish the Academic American
Encyclopedia in 1985. Gates, founder of Microsoft, has
Additionally, the Society publishes proceedings fol- sponsored an annual CD-ROM Conference, has spear-
lowing each conference, and from time to time publishes headed the effort leading to the ISO 9660 standard, and
special material, such as “C/PS Tips’”—A Buyers Guide to has published a number of CD-ROMs and books on the
Small Business Computers. topic.
Being read-only, CD-ROM is a publishing medium.
MARION J. HART The first applications were the publishing of reference
material and databases, many of which were on-line or in
other machine-readable form. Examples are the Grolier
encyclopedia mentioned, telephone directories, and fi-
CARD. See PuNCHED CARD; and PUNCHED CARD MA- nancial, bibliographic, and specialized alphanumeric
CHINERY. databases. Such applications are now common in
schools, libraries, and industry.
Some organizations also use CD-ROM internally. For
CASE . See COMPUTER-ASSISTED SOFTWARE ENGINNERING. example, Hewlett-Packard, DEC, and Apple offer software
166 CELLULAR AUTOMATA

optimistic picture of the lab and the computer-entertainment-


publishing industry of the future.
1989. 1990 CD-ROM Yearbook. Compiled by Salley Oberlin and
ins 1: Syotuon Reker Been Joyce Cox. Microsoft Press. This is 640 pages of very short
(1-3 pages) articles on technology, applications, the industry,
and future dreams, followed by 260 pages of directory infor-
19teers
os Sages
mation listing vendors, CD-ROM titles, publications, conferen-
ces, and so forth.

LAURENCE PRESS

CDC. See Controt DATA CORPORATION COMPUTERS.

FIG. 1. ACD-Rom disc in front of an equivalent stack of manu-


als from the Hewlett-Packard 9000 Series of Computers. (Cour-
tesy of Hewlett-Packard.) CELLULAR AUTOMATA
For articles on related subjects see AUTOMATA THEORY; and
documentation on CD-ROM as an option to printed manu- PARALLEL PROCESSING.
als (see Fig. 1). Apple uses CD-ROM to distribute new
product information, training material, software, and A cellular automaton, or polyautomaton, is a theoreti-
developer’s tools and other information to field personnel cal model of a parallel computer, subject to various re-
and customers. Arthur Andersen auditors carry CD-ROMs strictions to make formal investigation of its computing
with reference material, including SEC regulations, propri- powers tractable. All versions of the model share these
etary auditing procedures, and auditing software and properties: Each is an interconnection of identical cells,
guidelines when they go into the field. where a Cell is a model of a computer with finite mem-
Nearly all of the applications to date have been char- ory—i.e. a finite-state machine. Each cell computes an
acter-oriented; however, effort is underway to extend CD- output from inputs it receives from a finite set of cells
ROM by adding sound, graphics, and motion video. forming its neighborhood, and possibly from an external
CD-ROM XA (CD-ROM Extended Architecture) is a pro- source.
posed extension that specifies formats for recorded All cells compute one output simultaneously and
sound interleaved with data. CD-ROM XA enables applica- each cell computes an output at each tick of a clock, i.e.
tions in which voice and music can play “behind” still after each unit time step. The output of a cell is distrib-
images and data displayed on the screen. uted to its neighborhood and possibly to an external
CD-I (Compact Disc Interactive) is another CD-ROM receiver.
extension. CD-I systems are not intended to be computer A version of the cellular automaton model exists
peripherals, but rather standalone devices interfaced to for each set of choices in the following dichotomies: an
television sets. The CD-I specification includes several infinite or a finite number of cells; a uniform intercon-
quality levels for sound and still pictures. nection scheme (all cells have neighborhoods of the
Several companies are also pursuing motion video same shape, e.g. that in Fig. 1) or a non-uniform scheme
extensions. Most prominent is Intel with their DVI (Digital (Fig. 2); deterministic or non-deterministic cells (a choice
Video Interactive) format. Current DVI drives and control- of one output value at each unit time step or one of
lers compress approximately 70 minutes of full-motion several values chosen randomly); the absence or pres-
video material on a CD-ROM disc. The present quality is ence of an external input (output), and, in the case of
somewhat below NTSC television, but improving rapidly. an external input (output), the automaton is connected
Material is compressed and recorded off-line, but played to all cells or to only a subset; Moore-type or Mealy-type
back in real time. cells (unit time steps allowed or not allowed, respec-
These and other multimedia extensions to CD-ROM tively, between inputs and the associated output); a
open the possibility of innovative applications in educa- static or dynamic interconnection scheme (neighbor-
tion, entertainment, and merchandising (see Fig. 2, color
insert page CP-2). However, the production of such mate-
rial is costly and requires creativity and new skills. While
multimedia applications are still in the future, character-
based applications of CD-ROM are entering the main-
stream.

References

1987. Brand, Stewart, The Media Lab. Penguin Books. This is a


non-technical book of the M.I.T. Media Lab. Brand paints an FIG. 1. Acell (hatched) and its neighborhood.
CENTRAL PROCESSING UNIT (CPU) 167

The Firing Squad theorem remains valid even when a


non-uniform interconnection scheme is allowed. Thus,
another version of the cellular automaton, the graphical
cellular automaton (Fig. 2), requires only that the number
of neighbors be fixed, not that they be in any fixed geo-
metric relationship with a cell. They have been shown to
be more powerful than the uniformly interconnected cel-
lular automata.
FIG. 2. A cellular automaton with non-uniform neighborhood. The final type of cellular automaton to be mentioned,
the dynamic cellular automaton, or Lindenmayer system,
allows a cell to divide into children cells—regardless of
the position of that cell in the initial array of cells—and
hood does or does not remain fixed in time). Some of allows the disappearance, or death, of cells. This version,
the names associated with one or more of these versions with its dynamic interconnection scheme, is of interest to
are cellular automaton, tessellation automaton, modular theoretical biologists as a model for the growth and devel-
computer, iterative automaton, intelligent graph, opment of living things.
Lindenmayer system, and cellular network. The infinite chessboard cellular automaton model
The first version of the cellular automaton, histor- gained much public popularity in the 1970s as the so-
ically, was the cellular space obtained by selecting the called Game of Life. A resurgence of interest in the 1980s
first choice in each dichotomy above, but with no accompanied application of simple two-state, one-dimen-
external input or output. It can be visualized in two sional cellular automata to fractals (q¢.v.) and chaos, rich
dimensions as an infinite chessboard, each square rep- new subjects that arose during that decade.
resenting a cell. It has been used to prove the existence
of non-trivial self-reproducing machines, is capable of References
computing any computable function with only three
1968. Codd, E. F. Cellular Automata, ACM Monograph Series. New
states per cell and the four nearest cells as the neigh- York: Academic Press.
borhood (Fig. 1), and can exhibit Garden of Eden con- 1971. Gardner, M. “On Cellular Automata, Self-Reproduction, the
figurations; i.e. patterns of cell states at one time, which Garden of Eden, and the Game of Life.” Mathematical Games
can never arise in a given cellular space except at time Department, Scientific American 224: 112-117.
zero. If an external input is assumed distributed to each 1976. Lindenmayer, A. and Rozenberg, G. (Eds.). Automata, Lan-
cell, then the cellular space becomes what is usually guages, Development. Amsterdam: North Holland.
1986. Wolfram, S. (Ed.). Theory and Applications of Cellular Autom-
called a “tessellation” space.
ata. Singapore: World Scientific.
The cellular automaton is obtained from the cellular
space by admitting only a finite, connected set of cells Atvy RAY SMITH
on the chessboard (Fig. 3). A cell with a neighbor
missing has a special boundary signal substituted in-
stead. The cellular automaton is particularly useful as
a pattern recognizer, where the pattern comprises the CENTRAL PROCESSING UNIT
states of the cells at time zero, especially if non-deter- (CPU)
ministic cells are allowed. A famous problem for the
For articles on related subjects see ARITHMETIC-LOGIC UNIT;
(deterministic) cellular automaton, the Firing Squad
DIGITAL COMPUTERS; MEMORY: MAIN; and STORED PROGRAM
problem, calls each cell a soldier with one of them as
CONCEPT.
the general—i.e. all cells but one are “off” initially—and
asks if all soldiers can begin firing simultaneously by
A digital computer consists of a selection of units of
going into the same state. The Firing Squad theorem,
various types, all interconnected and functioning harmo-
which solves this problem, guarantees an affirmative niously with one another under central control. Most of
answer.
the units in a system are called “peripheral” devices and
serve either as the means of feeding raw data or file data
into the system or of receiving results or updated files
from the system.
The term “peripheral” conjures up a vision in which
these units surround others that serve as the focal point
or center of the system (although this is rarely true phys-
ically). The name “central processor,” or central process-
ing unit (CPU), is used to describe elements that carry out
a variety of essential data manipulations and controlling
tasks at the heart of the computer.
The principal element of the CPU is the one required
FIG. 3. A cellular automaton with uniform neighborhood of to carry out arithmetic and other, mainly logical, oper-
Fig. 1 assumed. ations on data, which is usually called the arithmetic
168 = CHANNEL

logic unit (ALU). It is designed to operate on a pair of CHANNEL


numbers and carry out on them the processes of addi-
tion, subtraction, multiplication, and division. It can For articles on related subjects see BUFFER; BUS; COMMUNI-
compare numbers and determine whether one is the CATION CONTROL UNIT; DATA COMMUNICATIONS; INTERRUPT;
greater or whether both are equal. These operations are Memory: AUXILIARY; MULTIPLEXING; POLLING; PORT; and SyN-
carried out at very high speeds; even the slowest com- CHRONOUS/ASYNCHRONOUS OPERATION.
puters can do at least 100,000 such operations in a
second, and the really fast “number crunchers” handle Early Design In the design of early computing sys-
as many as 100 million. tems it was usual to provide for only a minimum of input
Another important element of the CPU is the control and output devices, such as paper tape or card readers
unit required to supervise the functioning of the machine and punches, and perhaps a line printer or teleprinter. All
as a whole, calling into operation the various units as these peripherals were essentially slow. In such cases,
required by the program. It receives the program instruc- data could be transferred to and from the peripheral,
tions one by one in sequence, interprets them, and sends character by character, and each unit had its special input
appropriate control signals to the various units. It acts in or output line. Normally, data transferred between an
many ways as a very sophisticated telephone switch- input/output (I/O) device and memory passed through
board operator, making interconnections between vari- the processor. Later it was found necessary to provide
ous parts of the system. When the control unit recognizes many I/O devices. With the advent of magnetic tape and
special signals (e.g. that the result of a subtraction is disk units, which are faster devices with short crisis times
negative), it can depart from the strict sequence of pro- (i.e. a need to be serviced very quickly if data was not to
gram instructions and jump to a different part of the be lost), multicharacter block transfers became neces-
program that is designed to deal with those circum- sary.
stances. In all cases, however, it was necessary to provide
Both the arithmetic unit and control unit depend some indication of the status of the I/O device in use, such
heavily on the third main part of the central processor, the as “ready” or “busy.” If the device called upon was busy,
main or central storage (or memory) unit. The arithmetic the program had to stop and wait for the unit to become
unit needs numbers on which to operate and needs to available.
store intermediate results at some place until the end of The need for block transfers and the avoidance of
the calculation. The control unit needs program instruc- delays due to unsuitable peripheral conditions led to the
tions in rapid succession. Both data and instructions are use of buffered peripherals and the development of con-
held in memory. The program for a given job is read into tinuously operating channels communicating directly
memory from an input unit or auxiliary storage device as with memory. Additionally, the channel provides overlap
part of the setting-up procedure for the job. Data flows of I/O processing with logical and arithmetic processing,
into memory from such devices as keyboards on termi- thereby obtaining high throughput (q.v.) by performing
nals, and magnetic tape or disk units, and is manipulated different operations in parallel. The channel also provides
while in storage to produce results that are output, for a standard interface for a range of I/O devices that may be
example, to a printer. connected to one processor in many combinations.
Memory is also used to store a complex of programs
known as the operating system (q.v.); this system is de- Autonomous Channel Operation The eventual
signed to supervise the total operation of the computer in availability of buffered peripherals called for the fast
as efficient a manner as possible. These programs func- transfer of data to and from those peripherals. If these
tion in some ways analogous to “traffic controllers,” as transfers were controlled by the CPU, much time would
they have to monitor the flow of data around the com- be lost since character transfer is slow compared with
puter, giving some streams right of way over others, open- other CPU operations. Methods of autonomous transfer
ing up clearways for top priority messages, looking out for were needed whereby a whole block of data is transferred
emergency signals, and generally keeping things flowing rapidly, word by word, to and from the main store, the
smoothly. cycles of the storage time taken for the word transfer
The central processing unit thus consists of the being “stolen” from those available to the CPU. This cycle
contro] unit, the arithmeticllogic unit, and the main stealing (q.v.) usually causes only a slight hesitation of the
storage. It is aptly named, since it is very much at the CPU, whose storage cycle time of 200-1,000 ns should be
center of computer activity, and it completes a massive compared with that of a high-speed disk drive that oper-
amount of processing work, both directly to produce ates at about 10 us per byte.
the desired results and generally to supervise the effi- To facilitate block transfers directly between the
cient operation of the computer system as a whole. With store and the peripheral units, a controller called a data
the advent of microprocessors (g.v.), we now find entire channel was introduced. There may be more than one
CPUs contained on a single integrated circuit (q.v.) chip channel. A data channel is essentially a small, special-pur-
(“CPU on achip”). These CPUs are as fast and as powerful pose computer. I/O operations are initiated by the proces-
as those that required entire cabinets of hardware only sor that selects a channel and a device. The channel then
a few years ago. accesses a unique location in main memory where the
processor has stored the address of the first instruction
GRAHAM J. Morris to be issued to the channel. Usually, a list of instructions
CHANNEL 169

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.

|Memory [-——— CPU

Data
(one word width)
Data word

suber oat=ave
To other channels

Address

Data lines Channel Channel


(one word width) Unit 1 —- — - — Other channels

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

FIG. 1. Selector channel organization.


CHANNEL 171

Setting a Peripheral A special function code sent CPU


to a selected peripheral by its connected channel may
specify operating conditions within which the external
equipment is to operate or a condition in which an inter-
rupt may occur, such as stopping the channel activity,
selecting an interrupt on detection of a parity error, or
stopping the operation.

Status A channel must provide a status code to indi-


cate its operating condition. Depending upon the kind of
equipment to which the channel is connected, certain
bits in the code indicate that a parity error is present, that
a read or write is in progress, or that the operation is
complete. Other codes in the status instruction cause the
current data address and the word count to be sent to the
CPU and/or the current control word address to be sent Status Data byte
to other CPU registers.
Detection of a busy channel or equipment status may
be used appropriately to transfer control to-a different
program until a further interrupt recalls attention to the Interrupt
channel and its user program.
To or from t/O device

Clear Channel When initiating a program, or start- FIG. 2. Channel unit.


ing from a dead-stop condition or a recoverable difficulty,
it may be necessary (1) to clear a channel by disconnect-
ing all equipments from the specific channel and prevent- used to indicate the status of the connected unit of the
channel.
ing any communication until a connect instruction is
provided; or (2) to disconnect all units within an equip-
ment (e.g. magnetic tapes on a multiple tape controller)
Selector, Byte-Multiplexer, and Block-Multi-
and to clear the channel control words. The clear channel
instruction is also needed in case of difficulty with a plexer Channels Channels may be classified by the
channel operation and may be initiated by the operator. modes of operation they perform. The channel facilities
required for an I/O operation is called a subchannel. The
capability of a channel to perform multiplexing requires
Interrupts Selecting an interrupt condition is per- more than one subchannel.
formed by a function instruction that can select occur- A selector channel has only one subchannel and
rences of address and data and: channel transmission therefore forces the I/O device to transfer data in burst
parity errors. Associated with each channel, there is usu- mode. The transmission of data continues uninterrupted
ally a special register in a channel unit that indicates the until the whole block of data (or series of blocks of data)
occurrence of one or more of these conditions. There is is transmitted. There can be only one data transfer oper-
usually one bit in the register for each equipment condi- ating at a time on a selector channel. Devices attached to
tion. Additional bits are reserved for the use of the chan- the channel may be performing operations not requiring
nel itself, such as an interrupt from the channel, channel communication with the channel while data transfer is
data parity error, or control-word parity errors, as shown occurring in burst mode. When no data is being trans-
in Fig. 1. ferred, the selector channel monitors attached devices
Most systems operate in either normal or privileged for status information.
mode. In the latter all interrupts are held inactive when The byte-multiplexer channel contains numerous
processing an earlier interrupt. The activity state of an subchannels and may operate in burst or in byte-inter-
interrupt can be set by a special function instruction that leave mode. The mode of operation is determined by the
sets interrupts active and returns the processor to the device. In burst mode, only one device on the channel
unprivileged state. The privileged status is automatically may transfer data. In byte-interleave mode, more than one
set on the detection of an interrupt when in normal state. device may operate simultaneously, each using a sepa-
The structure of a channel unit is illustrated in Fig.2. rate subchannel.
This shows the channel interrupt register, which indi- The block multiplexer channel also has multiple sub-
cates the conditions of the interrupt itself; the instruction channels. It forces I/O devices to transfer data in burst
register of the instruction which is received from the CPU; mode, but the burst extends over only one block of data.
the control word, which gives the address and the num- Multiplexing or interleaving of blocks occurs between
ber of words to be transferred; and the data word assem- channel commands. Multiplexing between blocks may be
bly registers, from which the data is to be sent from store. inhibited by appropriate channel instructions. Byte-mul-
In addition to this, there is the status register, which is tiplexer and block-multiplexer channels can sustain more
172 CHANNEL

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

FIG. 3. A selector and a multiplexer channel.

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.

Program CBI conducts historical research of two aXe


a
-2 [+5]
2
i
i=0,1,2,3, .%; xXyeae

types. General research provides background informa-


tion about the history of modern computing that is useful It can be shown that x, gets arbitrarily close to A as i>»,
to historians, archivists, journalists, and educators. For example, let A = 2. Then
These include, for example, survey articles on major his-
torical topics, genealogies of computer companies, bibli- xe
ographies, and review articles. Project research involves x, =15
in-depth historical research on topics of current interest. x, = 1.41666...
Recent projects include studies of new engineering firms xX, = 1.414215...
in the computer industry, scientific computing, and the
influence of DARPA on computing. whereas V2 = 1.414213...
The archives activity is divided into collection devel- The general problem we wish to consider here is:
opment at CBI and elsewhere, as well as archival methods Given a function f(<d and an interval [a,b] on which we
174 CHECKPOINT AND RESTART

wish to approximate f(x), find an approximation to f(x) on Reference


this interval—which can be computed arithmetically—of 1978. Ralston, A. and Rabinowitz, P. A First Course in Numerical
minimum error. But what do we mean by minimum error? Analysis, 2nd ed. New York: McGraw-Hill.
In many problems in mathematics this would mean mini- 1990. Rivlin, Theodore J. Chebyshev Polynomials: From Approxt-
mum least squares error over the interval. But in approx- mation Theory to Algebra and Number Theory. New York: John
imating functions for computers we are more usually Wiley.
interested in minimizing the maximum error on the inter-
ANTHONY RALSTON
val, for then the user of the approximation always knows
that the worst possible case is as favorable as it can be.
Rigorously stated, we wish to find an approximation R(x),
which has the property that
CHECKPOINT AND RESTART
r= max If(x) — R@)| For articles on related subjects see DEBUGGING; and PRO-
[a,b] GRAMMING SUPPORT ENVIRONMENTS.

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).

Class of Grammatical Machine


Grammar, G; Characterization Characterization

Type 0 Unrestricted (or Turing


phrase machine
structure)
Type 1 Context-sensitive Linear-bounded
automaton
Type 2 Context-free Pushdown
automaton
Type 3 Regular (or right Finite state
linear) machine

FIG. 1. |The Chomsky Hierarchy. Each class of grammars in the


hierarchy contains all lower levels. Thus Go > G1 > G2 > G3. FIG. 1. Alonzo Church.
CHURCH, ALONZO 177

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.

Class Declaration A class declaration resembles a


procedure declaration in Algol 60. It was the inspiration for Note that there may be many objects of a given class,
the abstract data type mechanism that is an important fea- each with its own set of variables in existence at any given
ture of several newer programming languages. A class may time. Thus, the strict Algol 60 nesting of block invocations
have formal parameters like a procedure. In general, a has been replaced by a more flexible regime.
class declaration includes declarations for variables, func- The class concept also involves a different rule for
tions, and procedures that are local to the class, followed the execution of the statements in a class. When an object
by the body of the class, which is usually a block. An exam- is created, control is transferred to the executable state-
ple of class declaration is given in Fig. 1. Unlike an Algol 60 ments in the body of the class. Three situations are possi-
procedure declaration, a class declaration does not by it- ble: (1) Control passes through the class definition to the
self cause storage to be allocated or executable code to be end of the block; the object is terminated; execution can-
compiled. A class declaration is a template that can be not reenter the object, but its local storage remains allo-
used to create instances of the class. In Simula 67, these cated. (2) A detach statement is executed in the body of
class instances are called objects. Simula 67 allows the dec- the object; in this case, the object becomes an indepen-
laration of variables that are references to objects. The dently executing entity; its lifetime may exceed that of the
built-in operation new is used to create objects (class in- block in which it was created, which allows objects to be
stances). For example, if Z is a variable, that is a reference used to create processes in a multiprocessing system; e.g.
to the class Cdeclared in Fig. 1, then the statement an operating system could be structured as a set of coop-
Z: = new C(100) erating concurrently executing class objects. (3) A re-
sume statement is executed in the body of the object.
would create an instance of the class C. The formal param- Execution of the body is suspended at the point of the
eter n of the class is used to specify the characteristics of resume statement until it is reactivated by a resume
the object created from the class (e.g. the upper bound of statement from outside of the object. For example, if the
the array A). In Simula 67, “dot notation” is used to refer- class C in Fig. 1 is used to create the object named Z, as
ence variables within objects (e.g. Z.A is a reference to the shown above, then the statement
arrayA in the object Z and Z.A[/] is a reference to the/ th
component of A in Z). resume(Z):

would cause execution to continue in the body of the


class C(n); object Z at the statement k:= k + 1. This allows coroutine
integer n; (g.v.) structures to be built using objects.
begin
integer array A[1:n]; Subclasses The power and flexibility of the class con-
integer k; cept is enhanced by the ability to declare subclasses. A
procedure clear; subclass is formed by concatenating the formal parame-
begin
ters, local variables, procedures, and executable state-
integer ij; ments of an existing class with those of a class being
for i: = 1 step 1 until n do declared. A subclass is created when the name of a class
A[i]: =0 is used as a prefix to a class declaration. In the example in
end; Fig. 2, the declaration of class D has class C as a prefix.
The class D has formal parameters n and x, local variables
comment end of declarations; A, Rk, y, and B, and a body consisting of the body of C
comment execution of class object starts here; followed by the body of D.
k:=0;
resume;
R:=k+1,; References

1972. Dahl, O. J. and Hoare, C. A. R. “Hierarchical Program Struc-


end;
tures.” in Dahl, O. J., Dijkstra, E. W., and Hoare, C. A. R. Struc-
FIG. 1. Class declaration. tured Programming. London: Academic Press, 175-220.
CODASYL 179

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

so that the devices used in the computer can accommo-


CODES date it. Since there are not enough states in a single
For articles on related subjects see ASCII; BAUDOT CODE; | bistable device to represent each symbol as a human
BINARY-CODED DECIMAL; EBCDIC; ERROR-CORRECTING CODE; being uses it, the symbols are represented by a combina-
and UNIVERSAL PRODUCT CODE. tion of these settings, i.e. by a binary code.
It might seem initially that any representation of a
The term code has a particular meaning in cryptogra- symbol would do. This is not so. The design of a code
phy, and is also sometimes used as a synonym for program usually must take into account the following require-
or part of a program. But for the purposes of this article, ments:
a code is a correspondence between a symbol of an alpha-
bet (e.g. our alphabet of letters) and a number of digits of 1. The original order relations (i.e. A before B, 1 < 2)
a number system (e.g. six bits for base 2). To be more that apply to the symbols within the symbol
precise, the mathematician would say that a code is a pair space should apply to the relation between com-
(2; ID where Z is the symbol space and the II are numeric binations in the code.
combinations. Suppose that S is some symbol in the sym- 2. Operations applied to the symbols should have
bol space £ and Pis one of the permutations of the digits analogous operations, which—when defined
in a numeric counting system II. We might say “S is upon the combinations—produce a correspond-
mapped into P” or that “Sis represented by P,” using the ing result.
symbols:
3. The representation should be efficient (to mini-
mize the number of combinations that go to
Si Ole =: (1)
waste).
Each P in II is called a combination. Since P consists of n
digits, it can be written as Decimal Codes A decimal code provides a represen-
tation for the decimal numbers in binary. To summarize
PP, PoP. (2) their characteristics:

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. ©)

A weighted code associates a weight W, with each bit


Need Data is an abstraction of information in the real
b; and might be stated symbolically as
world, People keep this information in the form of sym-
bols. The computer stores information in the various
hardware elements that constitute it. Elements have been boW, i=1to4. (8)
designed that have two or more states. An element such
as the Nixie tube has ten states. But by far the most The requirement of the weighted code is that, when each
common, least expensive, and most efficient element is bit is multiplied by its weight and then these are totaled,
the bistable device; it has only two stable states. For the the total must be equal in value to the digit. Stated sym-
computer to represent information, it must be structured bolically, we have
CODES 181
————————

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

1. No proper combination consists of all zeros;


Some restrictions arise in setting up the weights:
therefore, no combination will be mistaken for a
null transmission or vice versa.
1. For each digit to be encoded, there must be a
2. It is a selfcomplementing code.
combination of bits and their corresponding
weights, whose total—using (9)—is equal to the
A selfcomplementing code is very valuable because it
value of the digit.
possesses this quality: The combination for the comple-
2. When two combinations exist that, when substi- ment of a digit is the complement of the combination for
tuted into (9), yield the same digit, D, then an- that digit. The complement of a number is needed when
other rule must be provided to decide which we do subtraction by addition and complementation. For
combination will be used. decimal arithmetic, this requires that we subtract the
value of the digit from 9. In our binary code, the comple-
8421 Code The weighted 8421 code is illustrated in ment of a combination b, is taken with respect to the
Table 1. From left to right, weights 8, 4, 2, and 1 are largest valued combination; for a four-bit code, this would
assigned to the bits that make up the combination. When be 1111. Then, our definition for a self-complementing
the bits are set to 0 or 1, the resulting number is shown in code is one for which the following holds:
the left column of the table.
The six entries at the bottom of the table provide 9-D=1111-b, qd)
values 10 through 15. Of course, there are no digits to
correspond to these values in the decimal system. Hence, As an example of how XS 3 fulfills this requirement,
these combinations are forbidden. If these occur, the we have
computer should signal an error.
Note that these combinations would be legal if the 2=0101,9-2 7 (12)
base for our system were 16. Hence, we will return to this 1111 — 0101 1 = 1010, 7 = 1010
table when we discuss the hexadecimal (base 16) system.
Finally, note that the sequence of combinations for Hexadecimal Programmers often deal with data in
the 8421 code is the same sequence in which these binary units of a byte, which consists of eight bits or two
numbers occur in the binary counting system. Hence, the nibbles, each nibble consisting of four bits. If the com-
appellation binary-coded decimal, or simply BCD for the bination for each nibble has a different symbol to rep-
code of Table 1. resent it, then this simplifies the description. The binary
values with decimal equivalents between 10 and 15 have
7421 Code Table 2 presents the 7421 code. Again, there been assigned the upper case letters A through F, as
are six forbidden combinations. The bits that constitute shown in Table 1 in parentheses. Thus, the programmer
each combination are calculated so that (9) will yield the can describe the byte consisting of 10110101 in hexa-
digit value. decimal as B5.
182 CODES

Table 5 Table 6 Table 7 Table 8


Gray Code The Gray code, invented and patented by F.
2-out-of-5 Biquinary MBQ Gray Gray, was developed to fill a particular requirement. At
Code Code Code Code one time, many devices designed to convert analog (i.e.
Weights 74210 50 43210 5421 continuous) data depended on the mechanical position of
Digits : a shaft. Attached to the shaft was an encoder that pro-
duced electromechanical or optical signals correspond-
0 11000 01 00001 0000 0000 ing to the shaft rotation. This created a transition
1 00011 01 00010 0001 0001 problem. Table 1 shows that the combination for 7 is 0111
2 00101 01 00100 0010 1001
and that for 8 is 1000. As the shaft rotated, the apparatus
3 00110 01 01000 0011 1101
4 01001 01 10000 0100 0101
for reading out the position could not be depended upon
5 01010 10 00001 1000 0111 to change simultaneously in each bit position. Thus, to-
6 01100 10 00010 1001 1111 tally erroneous readings occurred. If b, goes to 1 before
if 10001 10 00100 1010 1011 the other bits change in going from 7 to 8, the output
8 10010 10 01000 1011 0011 would be read as 15.
9 10100 10 10000 1100 0010 To overcome this transition difficulty, codes called
10 — — — 1010 Gray codes have been devised, whereby successive com-
11 — — _— 1110
binations change in one-bit position only, as shown in
12 _— — — 0110
13 — — — 0100 Table 8. The length in bits of each combination L is a
14 _— — — 1100 function of the number (/ ) of discrete shaft positions to
15 — — — 1000 be encoded, as given by the formula

24-'<N=2"=[ log,N | (13)


Fig. 1 displays a code disk for the Gray code of Table
Other Decimal Codes If we do not restrict our-
8, which indicates the change of one bit at a time. Whereas
selves to four-bit decimal codes, we can provide one or
the transition from one code value to the next in Table 8
more of the following advantages:
cannot simply be described by a rule, there are Gray
codes that can be so described. For example, if B; is the
1. Error detection.
binary equivalent of the integer i, i= 0, 1,...,2" — 1 and if
2. Simplicity of combination construction. B,is the result of shifting B; to the right one place (insert-
3. Simplicity of implementation in hardware. ing a zero in the left), then G; = B® B’; where ® represents
the exclusive-OR operation, is a Gray code. A three-bit
2-Out-of-5 Code The 2-out-of-5 code provides the first code formed this way is 000, 001, 011, 010, 110, 111, 101,
advantage and is illustrated in Table 5. Every five-bit 100, where, for example, 101 (which corresponds to i = 6)
combination that represents a digit contains exactly two is calculated as 110 6 011 = 101.
ls. Since there are ten such combinations, this works out
well. To assign each combination, we establish a set of five
pseudoweights. One of these weights, W,, is 0, and the bit
corresponding to this weight, b,, should be set to 1 when Output brushes
the value of the digit being encoded corresponds to pre-
cisely one of the non-zero weights; this is true for the
digits 1, 2, 4, and 7. The weights work out for all digit
values except 0; this digit uses bits with weights 7 and 4,
which obviously do not sum to 0; hence the term
“pseudoweights.”

Biquinary The biquinary code is a seven-bit code using


exactly two ls; it is illustrated in Table 6. One of the 1s
is chosen from the left two bits; the other is chosen from
the right five bits. The weights are used as would be
expected. This code provides error detection whenever
more than one 1 appears in either half of a combination,
and also provides a logical progression from one combi-
nation to the next, which is useful for implementing
arithmetic.

MBQ Code The modified biquinary code (MBQ)


illustrated in Table 7, is derived from biquinary by replac-
ing the first two bits by a single bit, and the last five bits
(which represent 0, 1, 2, 3, or 4) by three bits, which FIG. 1 The Gray code disk for Table 8. (Shading represents 1;
represent them in BCD. no shading represents 0.)
CODES 183

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-

1. For digits 1 through 9, the 8421 columns are given


by BCD, but 0 is represented by 1010.
Table 9 Table 10 Table 11
Numeric/ IBM. 1401 Code EBCDIC ASCII-8 2. The bits B and A represent the three zone
Alphabetic C B A 8 4 2 1 in hex in hex punches 12, 11, and 0 on an IBM card as follows:
BA = 11 for 12, = 10 for 11, = 01 for 0, and = 00
A OF ele OS OL 0: a Cl 41 for no zone punch.
B Vk ea) ek ee) C2 42 3. The C bit is the check bit (or parity bit, which is
C lela O00. ied C3 43 discussed in the following section, “Error Detec-
D Opie lO ie Or So0 C4 44 tion and Correction”).
E Ae FIC Oa Ol C5 45
F A 1ST SEO a ol 0 C6 46
G Oreos BST sel) Ci A7 There are many other six-bit codes that are charac-
H Oeelyp Use! S:0> Oien0 C8 48 teristic of the machine that employs them. They are gen-
I Aig ines 1) eyluee.O), 4 Open ok Co 49 erally listed in an appendix of the programmer’s manual
J lel eeOse OL OR) D1 4A for the machine.
K leone One O) tla O D2 4B
L Oxmb-wWeo es Ord ees! D3 4C
M feel Oe 0T 1) 2020 D4 4D EBCDIC The Extended Binary Coded Decimal Inter-
N Oa ONO SAO) D5 4E change Code (EBCDIC) is an eight-bit code developed by
O OEE LON ORF Te 20 D6 4F IBM and is available on all IBM 360 and 370 computers.
P 10 ROW ol D7 50 Hexadecimal may be used to convey each combination,
Q Laere lt Oj tlaeet0) ecOps: 0 D8 51 as shown in Table 10. Thus, A is represented by C1, which
R Onpatlea Ode Leis OO pone) D9 52 in turn means 11000001.
S OP ae ys Fike at E2 53
T Ory Oval OPO) aay! E3 54
ASCII The American Standard Code for Information In-
U To Ome Oy ole 0.0 E4 55
Vv Ope Omel Oe els Ost E5 56 terchange (ASCII) is actually a seven-bit code. To make it
W O02 ON sIe 10 E6 57 an eight-bit code, it is often embedded into a comparable
X 1a DOR RO V1 E7 58 eight-bit code (ASCII-8) in which the leftmost bit is either
Y iets Ome vIStelarnO! 20R20 E8 59 0 (as in Table 11) or on some computers, a parity bit.
fb, Oth Onl tl atOF EO steel: E9 5A Table 11 displays the encoding of the important charac-
0 E00, alia pOselenl). FO 30 ters—letters and numerals.
1 Og sO ssOs On tO. sO Rael FI 31
There is no clear superiority of either EBCDIC and
2 On Om O Os Oneelan 0 F2 32
ASCII-8, but there are two important differences. The col-
3 ener Ome Oe ol cal F3 33
O00 F4 34 lating sequence for EBCDIC has the numerals follow the
4 O- Or O04
1 OT COMO SS Or we! F5 35 letters; for ASCII-8, the reverse is true. Hence, documents
5
6 ero Zs0n tO ie Iss 0 F6 36 coded and sorted under one system would be in a differ-
u Ose Oi OecO rrrlee lyerel F7 37 ent order than if they were coded and sorted by the other.
8 OsAOn LOime lin On 0u0 F8 38 Secondly, the ASCII codes for the alphabet progress con-
9 ig O ead One ie Osea Oba! F9 39 secutively by +1, whereas EBCDIC has two gaps (between
184 COERCION

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

FIG. 1. A pair of orthogonal 10 X 10 Latin squares.

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

(packet assembly/disassembly) for data syn-


dragging causes the garbage can to bulge, symbolizing
chronization, error control, and other needed
completion of file disposal. A generation of users raised
on arcade games may well prefer icons, though there is a functions.
remnant of older users who still enjoy using the expres-
siveness and precision of an English-like CL to type in the As the size and complexity of data communication net-
exact request desired. works has increased, more and more functions previously
performed by mainframes are now being performed by
References communication control units. The advent of powerful
microprocessors helped make this possible. Some of
1969. Dolotta, T. A. and Irvine, C. A. “Proposal for a Time-Sharing
Command Structure,” Information Processing 68. Amsterdam: these more complex functions include:
North-Holland; 493-498.
1972. Barron, D. W. and Jackson, I. R. “The Evolution of Job
. Line polling.
Control Languages,” Software—Practice & Experience 2, 2:
143-164. . Auto-baud (automatic speed) detection.
1975. Gram, C. and Hertweck, F. R. “Command Languages: Design . Automatic disconnect of inactive devices.
Considerations and Basic Concepts,” in Unger, C. (Ed.), Com- — . Supporting many different protocols and conver-
mwWhN
mand Languages. Amsterdam: North Holland; New York: Amer- sions among them.
ican Elsevier; 43-69. 5. Keyboard mapping and code conversion (e.g.
1975. Jardine, D. A. “The Structure of Operating System Control
ASCII (g.v.) to EBCDIC (q.v.) and vice versa).
Languages,” in Unger, C. (Ed.), Command Languages. Amster-
dam: North Holland; New York: American Elsevier, 27-42. 6. Message buffering, storage, and forwarding.
1978. Ritchie, D. M. and Thompson, K. “The UNIX Time-Sharing 7. Multiplexing and concentrating.
System,” The Bell System Technical Journal 57, 6, Part 2: 1905- 8. Transmission error detection and correction.
1929. 9. Data compression (q.v.).
1980. Beech, D. (Ed.). Command Language Directions. Amsterdam:
10. Message routing and filtering.
North Holland.
1989. Trombetta, M. and Finkelstein, S. C. MVS JCL and Utilities, 11. Security control.
Reading, MA: Addison-Wesley. 12. Collecting network traffic statistics.
13. Optimum route selection.
TED A. DOLOTTA
14. Logging transmission errors and network fail-
ures.
15. Running network diagnostics.
COMMUNICATION CONTROL 16. Fallback switching in case of catastrophic line or
UNIT equipment failures.

For articles on related subjects see CHANNEL, DATA COM-


MUNICATIONS; FRONT-END PROCESSOR; GATEWAY; LOCAL AREA Architecture Most early communication control units
NETWORK; MULTIPLEXING; NETWORKS, COMPUTER; POLLING; PRO- were hardwired, but now the vast majority are program
TOCOL; and TELEPROCESSING. controlled. Typically, the latter consist of a central pro-
cessing unit (CPU) controlling a number of line units (LU)
A communication control unit is a unit that controls and some optional input/output (1/O) processors, as
the transmission and reception of data in a computer shown in Fig. 1.
network. It may be a complex unit, such as a front-end or The CPU and its memory are at the top of the hierar-
network processor, or a simpler one, such as a concentra- chy. It is programmed to perform the needed communica-
tor, multiplexer, bridge, router, or terminal server. Most tion functions and control the overall operation of the
such units use special purpose computers or micropro- various line units, I/O processors, and associated inter-
cessors programmed to perform the required communi- faces. In general, the CPU performs the more complex
cation functions. tasks, such as addressing, session establishment, error
logging, and fallback switching, in case of some serious
Functions Performed Inside computers, work- failures. It also delegates the more routine or primitive
stations (g.v.) or other digital devices, character bits are communication tasks to the other subsidiary compo-
usually transmitted in parallel, while over communication nents.
lines they tend to be transmitted serially. Communication The line units handle the data transmitted or re-
control units that interconnect computers, workstations, ceived from communication lines. They may include mi-
terminals, and other digital devices must, therefore, per-
croprocessors programmed to perform tasks such as data
form three basic functions: serialization/deserialization, packet assembly/disassem-
bly, synchronization, and error detection and correction
1. Convert data from parallel to serial form at the under the direction of the CPU. Most units include an
transmitting end (serialization). interface of varying sophistication that allows a human
2. Convert data from serial to parallel form at the operator to monitor the performance of the communica-
receiving end (deserialization). tion control unit and to initiate diagnostic tests when
3. Add and/or remove control bits or characters necessary. Some communication control units include
COMMUNICATION CONTROL UNIT 197

To host Computer or Control Panel


other high speed devices or
Console

High Speed Operator


Intcrface(s) Interface

FIG. 1. Architecture of a typical communications 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

‘Segment 1 Segment'2 Remote Segment

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

FIG. 2. Functions supported in a typical communications control unit.

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.

Routers Routers work at the network layer of the OSI


model. They provide translation between different net-
work address domains and are, therefore, used to connect
LANs to networks with incompatible address formats,
including wide area networks. A typical application may COMMUN ICATIONS. See also DATA COMMU-
be to connect two ethernet LANs in different cities, using BSED
the public wide area network, as shown in Fig. 2—some-
thing that a simple bridge cannot do because of the in-
compatibility between the 48-bit binary ethernet address
and the 14-decimal digit address used on the X.25 wide COMMUNICATIONS AND
area network. COMPUTERS

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).

Technology Among recent advances in the technolo- Store-and-Forward Switches In a_store-and-forward


gies of computers and communications, the most import- switching system, a dedicated path between the source
ant are the increasing use of data communications as an and the destination of the message is not provided. A
integral part of data processing systems and the use of diagram of a simple store-and-forward system is shown in
digital technology in communications systems, both in Fig. 2. Subscribers input their messages to the nearest
the digital transmission of signals and in computer-con- node of the system, where the complete message is ac-
trolled communications switches. cepted and stored locally before further action is taken.
After the complete message has been accepted by a node,
Computers in Communication Systems Con- the processor at that node determines to which node the
puters are used in communication systems for a number message should be sent next so that it will eventually
of purposes, principally for computer-controlled circuit reach its destination. For example, in Fig. 2, if asubscriber
switches and store-and-forward switches. of node B has a message to be delivered to a subscriber
of node E, the message would first be entered into the
Computer Controlled Switches Circuit switching is node B processor and temporarily stored at node B. Then,
used to establish a communication path between two depending upon the current traffic on each link, the mes-
users so that they may converse. The most common sage is routed to node C or node D for further transmis-
circuit switch is the telephone exchange. Fig. 1 illustrates sion to node E. A digital computer with good
the basic components of a circuit switch. communications and storage capabilities may be used as
The line terminating equipment provides the line a store-and-forward switch. Store-and-forward switching
oriented services, such as detecting off-hook and sending systems fall into two subcategories— message switching
a dial tone, and receiving dialing signals. There is line- systems and packet switching (q.v.) systems. Both forms of
terminating equipment connected full-time (dedicated) store-and-forward systems are used for the same general
to each line. Note that the lines are all bi-directional or objective—to obtain better utilization of the trunks, the
full-duplex. connections between the switches. If, in the design of the
The common control equipment provides the control switching system, very high emphasis is placed upon
services that are common to all connection requests (e.g. minimizing the delivery delay through the systems, then
determining if the called party is local or served by an- the resulting system will meet the objectives of a packet-
other switch or determining the connection path to be switched system. If, on the other hand, more emphasis is
utilized). The common control equipment is shared by all placed on increasing the utilization than on minimizing
lines, since it is required only during call set-up (and, delivery delay, then the system will have those character-
possibly, breakdown). istics attributed to message switching. This difference in
The connecting equipment provides the physical objectives—minimum delivery delay vs. maximizing unit-
path connecting the lines involved. This type of equip- ization—is the key factor defining the difference between
these two important classes of switching systems. For
many distributed computing applications, minimum de-
livery delay is required, allowing the use of a packet-
switched, store-and-forward system.
Line
Connecting
Terminating Communications in Computer Systems Com-
a ics Equipment
Equipment
munications have become an integral and essential part
of a large number of currently installed computer sys-
tems, and the proportion of systems incorporating com-
munications is expected to continue to increase.
Common
Control Communications are used to provide terminal users ac-
Equipment cess to computer systems that may be remotely located,
as well as to provide a means for computers to communi-
cate with other computers for the purpose of load sharing
FIG. 1. Computer-controlled circuit switch. and accessing the data and/or programs stored at a dis-
200 COMMUNICATIONS AND COMPUTERS

Subscribers
Processor |Subscribers
feeren!

Subscribers
Processor
~ 0909

Processor

Processor

emery
O O

Processor
eae

Subscribers

FIG. 2. A store-and-forward switching system.

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

Interconnecting Communications System


(May Utilize Dedicated, Leased Lines or a
Switched Service, Such as the Telephone
System)

Communications
Terminal Terminal
Interface

On-line
Storage

FIG. 3. A simple computer network.


COMMUNICATIONS AND COMPUTERS 201

(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).

Integrated Voice and Data Although voice traffic and


data traffic are often handled separately, as the needs for
data traffic increase even further, it is almost certain that
the transmission networks for voice and data will be
totally integrated. Increasing demand for this will develop
as businesses make better use of communications and
computers to process and store all forms of data, not just
numeric information. As this occurs, office communica-
tions systems handling both voice and data will need to
Other Supergroups
be integrated, as shown in Fig. 7.
Supergroup | (60 Voice Channels)
Frequency Legal Issues Thelegal issues surrounding computers
Division
Multiplexer
and communications fall into two general areas—regula-
tion and privacy.
1 21314 15
Voice
{____1
Voice Channel Regulation The increasing interrelation of computers
Channels Multiplexing A Other
and communications has resulted in strong forces for
Bank pas Channel
Channel G ‘ making changes in the procedures by which the telecom-
Group poo
munications industry is regulated.
In most countries other than the U.S., communication
FIG. 4. The analog/frequency division transmission hier-
services are provided by a government organization that
archy.
operates as amonopoly. The discussion below focuses on
developments within the telecommunications industry in
the transmission capabilities of the intercity long-line the U.S. Although the industry is not government owned,
facilities, such as microwave radio and buried coaxial the legal problems it presents are not much different from
cable, which provide the capability to carry extremely those encountered in other countries in which private
wide-band signals. The digital multiplexing hierarchy industry may provide remote computer services and spe-
adopted in the United States and being implemented in cialized data transmission.
Canada is shown in Fig. 5. (The numbers for the “Euro-
Separation of Computing and Communications
pean” digital hierarchy are 64 Kbps per channel; 30 chan-
nels form a 2.048-Mbps primary signal; 4 primaries form a The first problem of the computer era that confronted
120-channel, 8.448-Mbps secondary signed; and 4 communication regulators was defining the dividing line
secondaries give a 480-channel, 34.368-Mpbs signal). Note between the two technologies. Such a division is essential
that the basic message channel is now a 64,000-bit-per- in order to establish which activities are subject to regula-
second pulse stream. For normal telephone usage, the tion and which are not. This question was first addressed
standard voice channel is converted to this digital stream by the Federal Communications Commission (FCC) in the
through a technique known as pulse code modulation late 1960s in its “Computer Inquiry I.” As a result of that
(see DATA COMMUNICATIONS). In pulse code modulation, the inquiry, the Commission defined the two end points of the
continuous (analog) waveform representing the voice sig- spectrum— pure communication and pure data process-
nal to be transmitted is sampled 8,000 times per second, ing; however, a large area of “hybrid services” was left
and the value of the sample is transmitted as an 8-bit without further appropriate definition or distinction. A
binary-coded number. The transmission system required significant comment in the final decision that resulted
in this instance has the much simpler task of indicating from that inquiry was that “...Data-processing cannot sur-
only whether the signal is a “O" or a "1." The receiver vive, much less develop further, except through reliance
detects these binary signals and reconstructs the original upon and use of communication facilities and services.”
signal. From the point of view of computer users, the most This observation has certainly proven to be true, as has its
important effect of this change in transmission is that converse, which was not stated: Digital computing tech-
digital signals may be brought directly to the user’s instal- nology has also become essential to the development of
202 COMMUNICATIONS AND COMPUTERS

SONET Line
OC-7 (e)

Fiber optic
multiplexing
terminal

lp n

SONET Line (/)


OC -1 (e@), 51.840 mbps (4)

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)

T-1 Line (a)


1 DS-1 (c), 1.544 mbps (4)
Message 2 Voice
channels ; thetioe 1.544 mbps
(64 kbps °| bank
each) 24

FIG. 5. The digital transmission hierarchy.


(a) These are cross-connection points or patch panels.
(6) These values are not exact multiples of the input line rates. The additional bits are required for control,
timing, and speed adjustments.
(©) “DS-1” is a contraction of “digital signal number one,” etc.
(d) Representative transmission media that can be utilized to carry the digital signals; T-1 and T-2 refer to
standard industry transmission systems.
(e) “Oc-n” is a contraction of “optical carrier level n”; n = 1, 3, 9, 12, 18, 24, 36, 48.
(f) “SONET”— “Synchronous Optical Network.”

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

Predominant Direction of Information

FIG. 8. The nature of transborder data flows (Turn, 1979; p. 5).

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

cross-vendor compatibility, the makers of personal com- COMPILER-COMPILER


puters (g.v.) and workstations (q.v.) often promote such
For articles on related subject see COMPILER CONSTRUCTION;
compatibility through use of an open architecture or an
open systems interconnection (OSI, which encourages and LANGUAGE PROCESSORS.
other firms to market add-on products to their computer
Acompiler is a program that, given the description of
line.
another program in a suitable language, translates it into
CHESTER L. MEEK executable form for a given computer. Similarly, a com-
piler-compiler (CC) is a program that, given the descrip-
tion of a compiler in a suitable notation, produces as
output a compiler usable on a given target computer.
Compiler-compilers can also be called compiler-writing
COMPILE AND RUN TIME systems.
A compiler is characterized by three languages: it is
For articles on related subjects see COMPILER CONSTRUC- programmed in a writing language (WL); it translates pro-
TION; BINDING; DIAGNOSTICS; LANGUAGE PROCESSORS; LOAD AND grams written in a source language (SL) into equivalent
Go COMPILER; OBJECT PROGRAM; and SOURCE PROGRAM. programs written in an object language (OL). The most
general CC should be able to generate the compiler (SL,
The complete process of running a program that has
WL, OL) automatically, with the only data being the de-
been written in a high-level language such as Pascal or C
scriptions of the three languages.
(q.v.) is accomplished in two steps: Parameterization of WL is too difficult, and most CCs
generate compilers written in a built-in language such as
1. Translation of the source program as written by Pascal, C (q.v.), or Ada (q.v.).
the programmer into a machine executable form The compiling process is generally divided into sev-
(a process commonly referred to as compilation). eral phases. These phases can be generated by different
2. Execution of the generated form; i.e. the running parts of a general CC, or by specialized generators.
of the compiled or object program. Scanning is the process that understands the vocab-
ulary of the source language. It reads the source text and
To distinguish between certain actions that may occur combines character sequences into tokens (e.g. identifi-
during one or another of these phases, the period of ers, numbers, operators, or keywords). A scanner gener-
compilation is known as the compile time and the suc- ator accepts a description of tokens in the form of a
ceeding period as the run time or execution time. In the regular grammar (or something similar), and generates a
usual compile and execute system, these two phases are finite state automaton that represents the scanner. A good
distinct and may be temporally separated. In fact, the example is Lex.
running of a program may be accomplished many times Parsing is the process that understands the sentence
without the need for the recompilation of the program, structure of the source language. It gets token sequences
provided the compiled code is saved on, say, disk. In an
from the scanner, and builds (at least implicitly) a tree
interpretive system, however, the two phases are inter-
structure representation of the text. A parser generator
twined, since execution of each source program state-
accepts a description of the source language in the form
ment follows immediately after its “compilation” (see
of a context-free grammar, and generates a parsing autom-
LANGUAGE PROCESSORS).
aton. Parser generators differ by their writing language,
Typically, errors in a program are related to compile
the principles of the parsing algorithm, and the ability to
time or run time. Where the error is an error of language
handle syntax errors in source texts correctly. A well-
(i.e. incorrect syntax, such as a missing parenthesis), then
known example is Yacc, an LALR(1) generator whose writ-
the system is capable of recognizing this at compilation
ing language is C. It has been used for generating the
time; on the other hand, errors in logic or arithmetic (i.e.
parser of many operational compilers running with the
semantic errors) are normally discovered (if at all) at run
operating system Unix (g.v.). Yacc and Lex have a com-
time. Some sophisticated language processor systems
mon interface and can be combined.
allow the programmer to use certain facilities called com-
Semantic analysis is the process that checks whether
pile-time and run-time facilities. As an example of the
syntactically correct constructs of a given program have
latter, some systems allow the programmer to specify the
a correct meaning, and more generally establishes this
format of the input data and output results at run time
meaning. For most imperative languages, the main part of
rather than in the source program.
the static semantic analysis is the handling, building, and
searching of a symbol table, which is a representation of
J. A. N. Lee
the declarations (g.v.) of the source program. Dynamic
semantic analysis deals with all aspects of program,
meaning that it either depends on the target language or
on the need to execute the program. It uses the informa-
tion contained in the symbol table, as well as information
COMP ILE R. See also CROSS ASSEMBLERS AND COMPIL- about the target language. There are no true semantic
ERS. analyzer generators, but, instead, the semantic analysis
COMPILER CONSTRUCTION 207

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.

Grammatical Description The form of a program-


COMPILER CONSTRUCTION ming language is described on at least two levels: lexically
For articles on related subjects see COMPILER-COMPILER; and as a phrase structure. These levels correspond
FORMAL LANGUAGES; GRAMMARS; LANGUAGE PROCESSORS; roughly to the structures in natural languages corre-
LINKER; and LOAD AND GO COMPILER. sponding to, in the first case, words, punctuation, and
whitespace (a run of one or more consecutive blank char-
Introduction A compiler is a program that translates acters) and, in the second case, subjects, predicates, and
programs written in a high-level programming language sentences. Both levels of description can be expressed by
into the native machine language of a digital computer. grammars. The lexical grammar is typically simpler than
The term originated in an earlier technology, where the the phrase-structure grammar. When transformations are a
principal action was the combination of previously writ- part of the definition of the language, the description of
ten program parts into a whole program. The collection form may go beyond grammars. The most common trans-
of parts still exists in the form of a run-time library, but formational feature is the concept of a macroinstruction
the modern emphasis is more on the program itself than (q.v.), Or macro.
on pre-existing parts. The language in which the program
is written and the machine for which it is intended are the Compiler Structure The grammatical descriptions
central points of interest. The input is called the source give rise to a syntax analyzer, either via an automatic
program (q.v.) or source code and the output is called the constructor or hand coding. The declarative constructs
object program (q.v.) or target code. The definition of the of the language are analyzed to establish an association
translation may involve one or more intermediate encod- between names and attributes. The imperative con-
ings called intermediate languages (ILs). structs are analyzed to produce the executable form of
The first step in writing a compiler is to specify the the program. In most modern languages, the separation
criteria upon which the compiler will be evaluated. Typi- between declarative and imperative is not precise; never-
cal criteria relate to compilation speed (measured in theless, the separation of concerns is valuable in under-
statements compiled per second) and speed and memory standing the functions of the compiler.
requirements of the compiled target code. One must also Some parts of the compiler are mostly dependent on
obtain a definition of the source language and target the details of the source language; other parts are most
machine and environment. A project plan is then written, dependent on the details of the target computer. This
providing staffing estimates and milestones. leads to a natural division of a compiler into a front end
The task of writing a compiler can be broken down and a back end. Information is typically passed from front
into several simpler tasks, some of which can be done
to back via an intermediate language.
208 COMPILER CONSTRUCTION

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

Flow Analysis The starting point for flow analysis is


a branch-free segment (called a basic block). Basic blocks
are entered at the start and exited at the end. The repre-
COMPLEMENT
sentation of control flow, reflecting source program struc-
tures such as loops (qg.v.) and subroutines is a directed For articles on related subjects see ARITHMETIC, COMPUTER;
graph with nodes for basic blocks and transfer constructs and NUMBERS AND NUMBER SYSTEMS.
that determine the graph branches.
Two important flow analysis regions are the bodies of In ordinary arithmetic, we represent negative num-
loops and the bodies of procedures. Analyzing flow allows bers by a minus sign followed by the absolute value (i.e.
the back end to extend the kind of analysis applied to magnitude) of the number (e.g.—6.42). In computers, we
basic blocks to larger regions of code. For example, an can represent negative numbers this way also, and some-
expression that is used within a loop and does not change times this is actually done, but more often a complement
until the loop is exited can be computed outside the loop representation is used.
and, therefore, computed once instead of repeatedly. To motivate the need for complements or com-
Because the compiler is limited to compiling only part plementers, consider the addition of two numbers ex-
of the program at a time, the effectiveness of the optimizer pressed in sign-magnitude form. Before the operation can
is limited—flow out of the translation unit cannot be be carried out, the signs of the numbers must be com-
traced. The linker deals with all of the target code at once, pared. If they are the same, the two numbers can be
so some optimizations, particularly interprocedural opti- added; if they are different, the smaller in magnitude may
mizations, are done on target code during linking, if at all. be subtracted from the larger and the correct sign ap-
Knowing how many times a loop runs on the average, pended to the result. As we will see, the use of comple-
as well as the frequency of each conditional branch, al- ments avoids much of this complication.
lows better choices to be made by the optimizer. For this,
the compiler may depend on frequency profiles gathered Definitions There are two kinds of complements,
during test executions of the program under develop- radix complements and diminished radix complements,
ment. This information is not perfect, but it is likely to be where radix refers to the base of the number system
more accurate than a blind guess made by the optimiza- being used. Let x be a positive number in the decimal
tion code. Optimizers are hand written, using tables of system. Then the diminished 10s complement of x, which
information about instructions, timing, and equivalences. we denote by X and which is generally called the 9s
The problem is made harder by radical changes in hard- complement, is formed by subtracting every digit of x
COMPLEMENT 211

from 9. Thus, if x = 426.3091, x = 573.6908. The /0s Let x = 00001000 (decimal 8)


complement x is defined as the result of adding 1 in the y = 00010101 (decimal 21)
least significant place of X or, equivalently, as the result Then xX = 11111000 (decimal —8)
of subtracting x from 10", where n is such that the 1 in y = 11101011 (decimal —21)
10” is one place to the left of the most significant digit
of x. Using the above example, x = 573.6909 = 1,000.0000
Then x + y = 00001000
— 426.3091. Both the quantities X and X are thus repre- 11101011
sentations of the quantity —x. 11110011
The other complements of practical importance are which is the 2s complement of 13 in decimal (00001101
those in the radix 2, or binary, system. If x is now a in binary); and
positive binary number, its ]s complement X is formed
by changing all Os in x to 1s and Is to 0s (i.e. subtracting X + ¥ = 11111000
all bits of x from 1) and the 2s complement x is formed 11101011
by adding 1 in the least significant place of X or, equiv- 11100011
alently, subtracting x from 2” with n chosen as above. which is the 2s complement of 29 in decimal (00011101
Thus, if x = 10.1101, then ¥ = 01.0010 and x = 01.0011 in binary).
= 100.0000 — 10.1101.
FIG. 1. Addition of numbers using 2s complements.
Properties of Complements The useful proper-
ties of complements in computers are best illustrated
using the binary system. For illustrative purposes, con-
sider a computer where the numbers on which arith-
metic operations are to be performed each have eight
bits, the first of which denotes the sign (0 for plus, 1
for minus) and the other seven bits are, for convenience,
assumed to represent an integer. If the sign is negative, Let x = 00001000
let us assume the integer is the 2s complement form. y= 00010101
Then, to add two such numbers, we need only treat ¥= 11110111
them as eight-bit positive integers (i.e. treat the sign as y= 11101010
another bit of the number), add them, and discard any
Then x + y= 00001000
carry to the left of the eighth position (see Fig. 1). Thus,
11101010
we are able to ignore both the sign and relative magni-
11110010
tudes of the two numbers. With negative numbers in
the 1s complement form, there is the slight additional which is the 1s complement of 13 in decimal (00001101
complication that carries to the left of the eighth position in binary); and
must be added into the first (i.e. least significant) po-
x+y= 11110111
sition (see Fig. 2).
+ 11101010
Both results given above are rather easily proved by
11100001
writing complemented numbers as 2” minus the corre- pal
sponding positive number (minus 1 for 1s complements).
11100010
One interesting property of the 1s complement form
is the existence, as in sign-magnitude representation, of which is the 1s complement of 29 in decimal (00011101
two zeros, one with a positive sign and one with a in binary).
negative sign. This follows because the 1s complement
of 0000 0000 to is 1111 1111 (—0). With 2s complements, FIG. 2. Additions of numbers using 1s complements.
however, there is only one n-bit zero (namely, 0000 0000
for n = 8), since the 2s complement of 0000 0000 is
10000 0000, which has nine bits, the first of which is
discarded. (Of the other 255 different 8-bit patterns, only
one other is its own 2s complement: 1000 0000 [—128].)
In 2s complement representation, 1111 1111 is the com-
plement of 0000 0001. Let x = 00001000
Since 1s complements are generated merely by y = 00010101
changing 0s to 1s, and vice versa, it is very easy to build
a circuit to generate the 1s complement of a number. It is Then x — yis found by first forming
somewhat more difficult, but not very hard, to build a
y = 11101010
circuit to generate 2s complements. Therefore, it is easy
to perform subtraction by first complementing the minu- and then adding x + j, as in Fig 2, to get 11110010,
end and then adding (see Fig. 3). This means it is not which is the 1s complement of 13 in decimal.
necessary to have a hardware subtracter if there is a
FIG. 3. Subtraction using 1s complements.
hardware adder and a complementer.
212 COMPUTATIONAL COMPLEXITY

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).

Computational Complexity in General To


study computational complexity requires a model of com- Reducibility Among Problems There are many
putation that states which “operations” or “steps” are problems for which the best algorithm known costs expo-
permissible and how much they cost. Using the model, we nential time. Such problems occur in operations research
can then ask the same questions as in the matrix multipli- (g.v.), computer design, data manipulation, graph theory
cation example. For instance, we seek problem complexity, (q.v.), and mathematical logic. Do faster algorithms exist
upper bounds, lower bounds, fast algorithms, and optimal that solve these problems in polynomial time? We don’t
algorithms. know. What we do know is that there is a large class of
Typically, an upper bound is the cost of the fastest problems that are equivalent in that, if one of them can be
known algorithm for solving the problem. A lower bound solved in polynomial time, they all can. For technical
can be established only through a theorem that states reasons, this class of problems is said to be NP-complete
that no algorithm exists whose cost is less than the lower
(q.v.). Because no one has succeeded in devising a poly-
nomial time algorithm for any of these problems, many
bound. Not surprisingly, lower bounds are far harder to
researchers believe that NP-complete problems are expo-
establish than upper bounds.
nentially hard. There is no proof of this, and settling this
Numerous models of computation have been stud-
question is the most important open problem in compu-
ied. In our matrix multiplication example, we counted
tational complexity.
arithmetic operations. Very significant results have been
An example of an NP-complete problem is the Travel-
obtained for space and time complexity in a Turing Ma-
ing Salesman Problem. Given a set of cities and the dis-
chine (g.v.) model. Another important model is a random
tance between them, determine the order in which the
access machine (RAM). The parallel random-access ma-
cities should be visited so that each city is visited exactly
chine (PRAM) is used to model parallel machines. Other
once, the tour ends in the starting city, and the distance
models are appropriate for studying asynchronous or
traveled is as small as possible. The size of this problem
VLSI computation. is the number of cities. The investigation of NP-complete
Often, we assign a “size” N to a problem, such as, for
problems is an example of work in a very active area of
example, the number of rows in a matrix, the number of
research called structural computational complexity.
items to be sorted, or the length of a list to be searched.
If the number of operations or steps required to solve a
problem is an exponential function of N, we say that the Intractable Problems A problem is intractable if it
problem has exponential time complexity. If the problem has an exponential time complexity. If a problem is intrac-
requires a number of operations that is a polynomial table, it can be solved for small values of the size N, but
function of N, we say that the problem has polynomial not for large values (i.e. the problem does not scale). An
intractable problem cannot be solved for large values of
time complexity.
If a problem has exponential time complexity, we say N, no matter how much faster computer circuits become
or how much parallelism is used.
that it is intractable.
All complexity results are relative to a model of com-
putation and a setting. The setting used in the study of
Typical Applications of Computational Com- NP-completeness is deterministic worst case. Deterministic
means that the algorithm does not toss coins, while worst
plexity The complexity of numerous problems has
exhibit ten case means that the answer is guaranteed for all inputs.
been studied. To illustrate the variety, we
We cannot circumvent a negative complexity conclu-
drawn from various areas.
sion by inventing a more clever algorithm. We can change
the setting, however, and see if that makes the problem
1. Compute the finite Fourier transform at NV points.
tractable.
2. Determine if an N digit integer is prime; if not, One possibility is to permit the algorithm to toss
determine its factors. coins. Such an algorithm is said to be randomized. Al-
3. Compute the Kendall rank correlation at N though Monte Carlo methods (q.v.) have long been used
points. for continuous problems, such as multivariate integra-
4, Multiply two polynomials of degree N. tion, it is only within the Jast 15 years that computer
5. Prove all theorems that can be stated with at scientists have realized the power of randomized algo-
most NV symbols in a certain system of axioms. rithms. Rabin [1976] and Solovay and Strassen [1977]
6. Solve the traveling salesman problem for N cities. showed that randomized algorithms could, at low cost, be
7. Solve to within € a large sparse linear system of used to determine if a very large integer is prime. How-
214 COMPUTATIONAL GEOMETRY

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:

1. T,(x) is finite if and only if algorithm A applied to


input x eventually halts and gives an output. (In COMPUTATIONAL GEOMETRY
other words, an algorithm halts if and only if it
For articles on related subjects see ALGORITHMS, ANALYSIS
halts after a finite number of steps.)
OF; ALGORITHMS, DESIGN AND CLASSIFICATION OF; COMPUTER
2. There is an algorithm that, given as inputs any
GRAPHICS; and GRAPH THEORY.
integers x and y and any algorithm A, will deter-
mine whether or not 7,(x) = y.
Computational geometry is the study of algorithmic
problems involving geometry. Although the ruler-and-
These straightforward axioms are enough to imply, for
compass constructions of ancient Greek geometry were
example, that there are computable functions that cannot
essentially algorithms for producing geometric objects,
be computed rapidly by any algorithm, and that more
modern computational geometry began with M. I.
functions can be computed if more time is allowed. They
Shamos’ 1975 Ph.D. dissertation which solved several
also imply a much less obvious fact, known as the “Speed-
fundamental geometric problems and posed many more.
up Theorem”: There is a computable function f with the
Over the last ten years, computational geometry has been
property that, given any algorithm A that computes f,
a very active area of algorithms research, and a recent
there is another algorithm B that computes f “much
bibliography lists over 2,000 relevant publications. The
faster” than A. “Much faster” is interpreted by choosing
explosive growth of this field can be traced to the intuitive
any rapidly growing computable function such as 2”;
appeal of geometric problems and the wide range of their
then, according to the speed-up theorem, there is a func-
practical applications.
tion f such that, if A is any algorithm for f, there is always
Geometric problems arise in a variety of applications,
another algorithm B for f, such that 2’»™ < T,(x) for all some of which would not seem to have geometric aspects.
large integers x. Thus, algorithm B requires at most the VLSI circuits are described by overlapping rectangles of
logarithm of the time required by A. different materials. To prevent wires from short circuit-
Of course, since B is itself an algorithm for f, there
ing, it is necessary to test designs such that no two
must be another algorithm C for f that requires only the rectangles intersect. The huge number of rectangles in a
logarithm of the time for B, etc. Clearly, there is no single
large circuit implies the need for fast intersection detec-
most efficient way to compute such an fF. tion algorithms. Mobile robots must find paths to a goal
Also, notice that f must be hopelessly difficult to through rooms full of obstacles without bumping into
compute even though it has faster and faster programs. anything. This can be more difficult than it might appear,
Each program for f must require more than 2”, and more as anyone who tries to move a piano through a door
than 27 etc, steps for all large inputs x; otherwise, the quickly discovers. Finite element methods (q.v.) used to
program could only be “sped up” by an exponential a fixed simulate the performance of physical systems such as
number of times before “hitting bottom,” after which it aircraft depend upon dividing the surface of the object
cannot be sped up further. into triangular regions; effort spent in finding a “good”
These conclusions may seem to violate intuition, but triangulation pays dividends in more efficient and accu-
they follow from the two simple axioms given above. The rate simulations. Database queries of the form “how many
COMPUTATIONAL GEOMETRY 215

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)

FIG. 1. The intersection of convex and star-shaped polygons


216 COMPUTER-AIDED DESIGN/COMPUTER-AIDED MANUFACTURING (CAD/CAM)

FIG. 2. Finding the convex hull

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

Many of the functions provided by initial CAD systems


were directed at the design phase (the CAD portion), with
the resulting computer models used to aid manufacturing
activities. As the benefits of computer aids for manufac-
turing (the CAM portion) were recognized, the need for
tighter integration of the two functions led to CAD/CAM
systems where the design result (a model of the item) can
be used directly to create the manufacturing information
for the item. In addition to manufacturing information, the
database is often supplemented to aid in tracking inven-
tories of materials and costs.

Design Design is primarily a creative activity in which


a person takes an aesthetic or functional idea and incor-
porates it in some medium in a way that can be under-
stood by someone else. The most common example is
engineering design, where the ideas of the designer are
put on paper as drawings that include both geometric FIG. 1. A portion of a machine shop at a large aerospace
descriptions and notes. The essence of computer-aided manufacturing facility. Cables carry numerical control (NC)
design (CAD) is the marriage created by applying the information from central computers to drive machine tools.
strengths and capabilities of computers to provide assis-
tance for design needs. When the same basic geometry from the database is
Geometry is a vital factor in most design; description used for both design and manufacturing, parts fit together
of the shape and size of an item is the essential element with great precision. The creation, storage, and interface
in most tangible representations of that item. Humans are of 3-D geometric data among various disciplines (e.g.
usually able to visualize a geometric description of an engineering and manufacturing) provide communication
item more easily than they can understand a word de- that is helpful in both increasing the precision with which
scription of the same item, hence the old adage that a parts are made and the ease of specifying the manufactur-
picture is worth a thousand words. Thus, a major portion ing steps to be carried out. The same geometric model—
of the time spent in design is often devoted to creating with mathematical integrity—is accessed and used by
and modifying geometric “pictures” of the item being designers, part programmers (people who describe ma-
designed. chine tool movements to create parts), structural ana-
In most kinds of design work, a designer works with lysts (engineers who calculate the structural strength of
a number of previously defined elements that are selec- parts and assemblies), tool] designers, and quality assur-
tively included in the design of the new item. For ance personnel. CAD/CAM systems allow for this data to
example, the designer of an electrical circuit selects be captured during the construction phases of design.
circuit elements and places them into the design. Even In addition, the manufacturing process requires lists
at the level of designing the elements, geometric entities of parts (the bill of materials, etc.) and costs for the parts
such as circles are used to “build up” the element. This and for the entire item. Most CAD/CAM systems accom-
selection process is well suited to computer assistance, modate this data as supplements to the design and man-
since computers can store large numbers of elements ufacturing process information.
and allow designers rapid access to them for use in
design. Another characteristic of the process of design
is that it is highly iterative; designers frequently make Application Areas The most obvious examples of
multiple changes to various elements of the design as CAD/CAM uses are connected with engineering design
work proceeds. This also can be conveniently assisted activities, which will be emphasized in this article. These
by computers. Further, much of design is concerned activities include the design of structures, highways, ma-
with items for which some kind of analysis must be chine parts, printed circuit boards, plants, piping, assem-
performed after the design is proposed. The results of bly lines, airplanes (see Fig. 2), and automobiles (see Fig.
the analysis often lead to additional changes in the 3, color insert page CP-2, and Fig. 4). In addition,
design, such as to the selection of different elements in CAD/CAM is often thought of as including the use of
the item being designed. computers to aid in a design and analysis process, such
as structural analysis following the actual design work,
Manufacturing Manufacturing activities frequently although this is more properly called computer-aided
involve the positioning of parts and subsequent opera- engineering (CAE). Further, it is sometimes used to en-
tions, such as cutting, milling, drilling, forming, and finish- compass design of computer programs themselves, pat-
ing. In all of these operations, the geometry of the part is terns for clothing, architectural exterior and interior
critical, particularly if the operations are carried out by layouts, packaging containers, and management systems.
computer-driven tools, often termed NC (for numerically The main strengths of computers—speed, accuracy,
controlled) tools. Fig. 1 shows part of a machine shop at and repeatability—are particularly well matched to these
a large aerospace company. kinds of design activities. In addition, computers can store
218 COMPUTER-AIDED DESIGN/COMPUTER-AIDED MANUFACTURING (CAD/CAM)

design process, an engineer must be able to describe and


communicate to others the geometric relationships of the
design. The systems that assist in these needs are called
interactive computer graphics systems, and they are the
foundation of CAD/CAM systems. In fact, the terms are
sometimes used interchangeably. However, the field of
computer graphics includes many activities outside of
design and manufacturing, and CAD/CAM encompasses
activities outside of computer graphics.
Until about 20 to 25 years ago, almost all engineering
design was done on the drafting board. Selection of ele-
ments was implemented by tracing, drawing from tem-
plates, or pasting the elements onto the drawing of the
design of each element. Iteration was obtained by sequen-
tial use of pencil, eraser, pencil, eraser, etc. The only way
FIG. 2. A product of the aerospace industry, designed and to improve the productivity of this process was to provide
manufactured in large part by using CAD/CAM. Note the com- better templates or paste-ons, to use less iteration, or to
plicated 3-D surfaces. The high cost of parts in this kind of speed up the humans in some way. The recognition that
product, the pressure to complete the design in as little time
significant gains in productivity could result from using
as possible, and the need to maintain high precision in manu-
facturing all lead to high payoffs in using CAD/CAM.
computers to aid the process led to CAD systems.
At the same time, computers began to be used to aid
in the preparation of plans for manufacturing activities,
very large amounts of information (the database) that can and computer controls for driving machine tools began to
be retrieved rapidly and used for additional calculations be used in large machine shops. These early CAD and
or for display (including supplemental information about CAM systems were very expensive and required large
parts lists and costs). This database capability, by the very
productivity gains to justify their cost. As prices of
nature of design (geometric construction, selection, and CAD/CAM systems have come down relative to the cost of
iteration), plays an important role in CAD/CAM. humans doing design work, the cost benefits from produc-
tivity gains have become more significant and the variety
of CAD/CAM systems has increased.
Computers—Only an Aid It is important to note,
however, that computers are used only as an aid to design The Process As has been noted, the essence of these
and manufacturing. The process of design involves exten- design functions is geometric construction. Geometric
sive decision-making and subjective evaluation, activities entities are typically built through repeated selection of
that are aided greatly by using computers, but that are “functions” or “tasks” to be performed from a “menu” of
generally carried out by computers under human direc- selection possibilities (see Fig. 3). Menus, function key-
tion. The same is true of decisions about manufacturing boards, data tablets, etc., are used not only for selection
processes. of elements for insertion and for positioning them on the
This article will focus primarily on the area of inter- design. They are also used to select tasks that permit a
active engineering design and manufacture, primarily of designer to move elements or items from location to
machine parts. Especially in this area, as part of the location (translations and rotations), to create a blown-up
view of a portion of the drawing (windowing), and to
permit easy annotation or dimensioning of the drawings.
Using these and other functional capabilities, the
user builds the database interactively—a database com-
posed of both geometric and alphanumeric information.
For a mechanical design, the output may take the form of
a traditional drawing, showing the classical principal or-
thographic views (front, top, and side), with a 3-D view
added. The general 3-D view (see Fig. 5) is important
because it helps to avoid misinterpretation and ambiguity
and thus minimizes later re-work by engineering and man-
ufacturing personnel. Note that even though the 3-D view
is quite helpful, it could have been obtained by projection
from an existing 2-D database, but this would require
considerably more time than would use of a 3-D system.
Because this process creates lines that represent the
edges of the item, these models are called wireframe
FIG. 4. An automobile mirror assembly. The screen displays models (see FINITE ELEMENT METHOD).
three views of the part, along with a shaded model of the Construction of the design is not the only way in
complete assembly, which data can be captured, however. An automatic laser
COMPUTER-AIDED DESIGN/COMPUTER-AIDED MANUFACTURING (CAD/CAM) 219

HINGE BASE

1.000 DIA eed


FIG. 5. A typical drawing format—three views plus a 3-D view.

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)

possible to locate terminals further away, CAD and CAM


capabilities became more widely used in the remote loca-
tions of large corporations.
The advent of personal computers, (g.v.), work-
stations, and supercomputers (q.v.) has broadened the
way that CAD/CAM capabilities can be delivered. Applica-
tions are now available on every type of hardware, with
the specific type of application varying depending on the
computing power and sophistication of the graphics de-
vice.
The performance of personal computers has in-
creased significantly, both in processor performance and
in graphics capability; thus a generation of CAD/CAM
packages have been developed for them. PC-based soft-
ware provide 2-D drafting capabilities, including support
FIG. 7. A screen display of a simple tool path generation of production-quality plotters. Emerging versions of PC-
program. The position of the tool is displayed for visualiza- based software include 3-D design capabilities and manu-
tion/simulation of how the part will be cut. facturing functions for generating machine tool programs.
The software is available through personal computer re-
tail outlets, making the advantages of CAD/CAM software
CAD/CAM systems need to provide information about available to a larger audience.
stock to form or cut the part. Another concern is the The technical workstation provides sufficient com-
design of fixtures to hold parts during manufacturing puting and graphics to make almost any design, manufac-
operations. Fig. 8 (see color insert, page CP-2) is the turing, or analysis software available on “desk-top”
display of a fixture design program. Efficient utilization of hardware. With the computing power available and the
material is also important. Fig. 9 shows a nesting program use of the Unix operating system (g.v.) on workstations,
that attempts to optimize the use of sheet material. most CAD/CAM software developers have made their
products available on these platforms. Hardware vendors
have improved software performance through the devel-
Hardware Pioneering CAD systems were developed opment of graphics capabilities that increase drawing
in the 1960s, using large mainframe computers attached performance, the ability to display realistic shaded im-
to graphics terminals. These systems were primarily used ages with minimal impact on the compute engine in the
in automotive and aerospace organizations, industries workstation, and tools for the development of improved
that required large amounts of data storage for their CAD user interfaces. The work in realistic image “rendering”
data. The large centralized mainframe systems were the has often reduced the need for the manufacture of mock-
only systems that could provide this needed data storage. up or prototype parts, since the rendered image, with its
In addition, the large mainframes were the only source of shading, shadows, and texturing to represent different
sufficient computing power for the geometric and display material types and surface finishes has achieved new
calculations required. Early systems required the termi- levels of realism (see COMPUTER GRAPHICS). While the tech-
nals to be located physically close to the computer in nical workstation became the hardware of choice for
order to maintain adequate performance. As it became CAD/CAM systems during the late 1980s in most large
industrial companies, the increasing power of personal
computers in the 1990s are blurring the differences be-
tween PCs and workstations, both in raw computing
power and the software that is available.
Supercomputers have emerged as tools for the anal-
ysis of complex physical systems. Uses have included the
stress analysis of modern aircraft and automobiles, the
analysis of internal combustion engine behavior, and the
simulation of the crash-worthiness of aircraft and auto-
mobiles. This analysis is done based on the design of the
parts, subassemblies, and systems described by the
CAD/CAM database.
Applications need to exchange data, no matter what
available hardware types are being used. Most CAD/CAM
implementations employ a local area network (LAN - q.v.)
to connect systems, allowing data sharing between per-
sonal computers, workstations, and large processors.
FIG. 9. The output from a program that aids in “nesting” The role of large mainframe systems continues in many
calculations. The goal is to use as little as possible of the sheet implementations, largely as networked data storage and
metal material in cutting out the necessary parts. analysis nodes. These LANs are based on internationally
COMPUTER-AIDED DESIGN/COMPUTER-AIDED MANUFACTURING (CAD/CAM) 221

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)

1989. Curry, Thomas C. “Updating Design With CAD/CAM,” Ma-


Plastic Forming With the increased use of plastics in
chine Design, 61, 10 (25 May), 218.
many products and the use of structural plastics to re-
1989. Rogers, David F., and Adams, J. Arlan. Mathematical Ele-
place metal parts in many load-bearing structures, the ments for Computer Graphics, 2nd Ed. New York: McGraw-Hill.
design of the molds used in plastic forming has become a 1989. Ward, Fred. “Images for the Computer Age,” National Geo-
frequent task for CAD/CAM systems (see Fig. 10). Pre- graphic, 175, 6 (June), 718.
viously, sample molds were constructed and tested to see 1990. Foley, J. D., Van Dam, A., Feiner, S. K. and Hughes, J. F.
if the part was properly formed with a consistent thick- Fundamentals of Interactive Computer Graphics, 2nd Ed. Read-
ness and structural integrity. Using applications that are ing, MA: Addison-Wesley.
a modification of structural analysis applications pre-
BARRY FLACHSBART, DAVID SHUEY, AND GEORGE PETERS
viously developed, many companies are able to bypass
the development and testing of prototype molds. These
analysis applications use the CAD/CAM data and evaluate
the effectiveness of the mold in distributing the liquid
COMPUTER-AIDED
ENGINEERING (CAE)
plastic throughout the mold, the time required to mold a
part, and the optimum temperature and cool-down period
required. The advantage to the user is reduced cost by
For articles on related subjects see COMPUTER-AIDED DE-
eliminating the prototype testing and redesign process.
SIGN/COMPUTER-AIDED MANUFACTURING; COMPUTER-INTEGRATED
MANUFACTURING; FINITE ELEMENT METHOD; and ROBOTICS.
Assemblies The initial use of CAD/CAM systems con-
centrated on the modeling of individual objects. In almost Introduction The abbreviation CAE stands for com-
all cases, these individual objects are part of larger assem- puter-aided engineering, but common usage since the
blies, made up of a number of objects of different materi- 1980s indicates that when CAE is used by itself it refers in
als, often from different designers and manufacturers. The particular to electrical and electronic engineering appli-
assembly of a first prototype can involve time-consuming cations. Mechanical computer-aided engineering is fre-
(and therefore expensive) fitting and adjustment of these quently referred to as MCAE.
individual parts so that they can become part of a more The goals of applying computer-aided engineering
complex assembly. This problem is compounded when analysis include:
the assembly involves complex motions at high speeds or
high stress levels, such as the paper handling mechanism e Improved product quality.
in acopier or the steering and suspension of a front-wheel e Improved safety.
drive automobile. Assembly modeling lessens redesign e Reduced engineering time, achieved through fewer
and improves the performance of the assembly, while design iterations.
reducing the need for prototype test fitting. In addition, by e Reduced number of prototypes, ultimately leading
identifying parts that make up an assembly while they are to the elimination of prototypes in many cases.
being designed, complete bill of materials processing can e Reduced product cost.
be performed, which later produces benefits in purchas-
ing and scheduling. A number of companies have taken Engineering analyses can be used to evaluate and predict
the assemblies capabilities even further, using them to the behavior of new designs, as well as to evaluate the
simulate field service operations, thus improving the ser- performance of existing designs. Engineers use comput-
viceability of the products. ers for a number of tasks, including conceptual design,
engineering analysis, detailed design, drafting and docu-
Allied Applications Many other application areas mentation, and manufacturing design. This article de-
use the computer graphics foundation of CAD/CAM sys- scribes the application of computers to engineering
tems for visualization of complex shapes and intricate analysis.
designs. Examples include the analysis of the motions of Historically, engineers analyzed designs by perform-
robots, movement through a mechanism or building by ing calculations by hand or with some computing aid such
moving the viewing point through the model, creation of as a Slide rule. They frequently used tabulated mathemat-
animated motion sequences to illustrate maintenance or ical functions, approximation methods, and data accumu-
service operations, and even the creation of movie se- lated from previous experience and physical testing to
quences for popular consumption or for training pur- simplify their analyses. Some analyses were so time-con-
poses. Continuing improvement in both hardware and suming that when done at all they could only be com-
software will make these more realistic and less expen- pleted for one simplified example. This frequently led to
sive. under- and overdesigned systems. In the first case, this
created systems that did not work properly or failed
outright. In the second case, the systems were more ex-
References pensive than necessary or too heavy to meet their goals.
1988. Farin, Gerald. Curves and Surfaces for Computer Aided De-
sign—A Practical Guide. New York: Academic Press. History The advent of analog and digital computers
1988. Mantyla, Martti. Introduction to Solid Modeling. Potomac, provided engineers with systems capable of analyzing
MD: Computer Science Press. designs much more quickly and allowed them to under-
COMPUTER-AIDED ENGINEERING (CAE) 223

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

Technological Trends The conceptual design loop COMPUTER-AIDED


is still not completely computerized. At this time, very
MANUFACTURING. See AUTOMATION; COM-
few computer products are able to couple both the CAD
PUTER-AIDED DESIGN/COMPUTER-AIDED MANUFACTURING; and
geometric modeling and engineering analysis functions
required to develop engineering concepts rapidly and COMPUTER-INTEGRATED MANUFACTURING.
easily. Detailers and draftsmen remain in the process
because it is too difficult for engineers to develop suffi-
ciently detailed models in most current CAD systems.
This situation is beginning to change with the introduc- COMPUTER-AIDED SOFTWARE
tion of a few engineering workbench systems that are
specifically tailored to create solid models easily and feed
ENGINEERING (CASE)
those models directly into structural and mechanisms For articles on related subjects see SOFTWARE CONFIGURA-
analyses, with the results immediately available to the TION MANAGEMENT; SOFTWARE ENGINEERING, SOFTWARE FLEXIBIL-
designer. This will allow engineers to create better devel- ITY; SOFTWARE MAINTENANCE; SOFTWARE MANAGEMENT;
oped designs without the costs incurred today. SOFTWARE MONITOR; SOFTWARE PERSONALIZATION; SOFTWARE
Manufacturing engineers remain outside the early PROTOTYPING, SOFTWARE RELIABILITY, SOFTWARE REUSABILITY;
design loop. To appreciate the advantages of CAE most and SOFTWARE TESTING.
fully, manufacturing processes and their effects on the
product (such as warpage from machining and structural CASE is an acronym for computer-aided software
integrity for clamping and handling) must be analyzed engineering. The purpose of CASE is to provide software
before the design reaches the detailed layout stage. As engineers with tools that help them specify functional
mentioned, a few systems are beginning to provide con- requirements and designs for software projects. The goal
ceptual design tools coupled with sophisticated but sim- of CASE technology is to separate an application
plified analysis tools that can be used by design engineers program’s design from its coded implementation, and to
and manufacturing engineers, without the need for the automate the generation of software that is based on a
design to be fully detailed. design built with CASE tools (Fisher, 1988).
Developments in parallel-processing (g.v.) computer Structured methodologies for software engineering in-
architectures will bring additional power to the clude, in general, structured analysis, structured design,
engineer’s desktop. Many of the analysis techniques used structured programming (q.v.) , structured reviews, and
today (most notably FEM) are good candidates for paral- structured testing. Together, these methods help the soft-
lel processing. Faster processing will reduce the design ware engineer take a disciplined approach to building the
cycle and/or allow additional design iterations, resulting system. At present, the main technologies associated
in improved products. with CASE, in particular, are structured analysis and
More integration between disciplines is to be ex- structured design.
pected. In particular, several products now combine the Structured methodologies are an attempt to replace
electrical/electronic and the mechanical aspects of de- undisciplined approaches to programming that had be-
sign and analysis. come entrenched in the culture. There was a time when
one programmer did everything and hence tended not to
document code very thoroughly. In this way, he or she
References created a mystique that evoked an aura of indispensabil-
ity. The work tended to a low level of abstraction that
1980. Timmer, H. G. and Stern, J. M. “Computation of Global
made maintenance and enhancement very difficult. This
Geometric Properties of Solid Objects,” Computer-Aided De-
was a successful approach in many ways, as much soft-
sign,, 12, 6, 301-304.
1982. Huebner, K. H. and Thornton, E. A. The Finite Element ware was produced and used. However, there are many
Method for Engineers, 2nd Ed. New York: John Wiley. problems that managers have that are not addressed by
1984. Chace, M. A. “Methods and Experience in Computer Aided this approach: it usually took much longer than expected
Design of Large-Displacement Mechanical Systems,” Com- to finish the project; costs ran higher than expected; it
puter-Aided Analysis and Optimization of Mechanical System was difficult to measure project progress; and errors ap-
Dynamics, NATO ASI Series, F9, Berlin: Springer-Verlag. peared after the software had been delivered to the cus-
1984. Erdman, A. G. and Sandor, G. N. Mechanism Design: Analysis tomer.
and Synthesis, 1, Englewood Cliffs, NJ,: Prentice-Hall. CASE tools support structured methodologies and
1988. Turner, P. R. and Bodner, M. E. “Optimization and Synthesis
range from those that are clearly technical and logical
for Mechanism Design,” Paper MS88-711, Proceedings of the
extensions of existing compiler and support environment
Society of Manufacturing Engineers AUTOFACT 88 Confer-
techniques to those that attempt to deal with many of the
ence and Exposition (October), Chicago, IL.
1989. Sapidis, N. and Perucchio, R. “Advanced Techniques for
“softer” issues of system development, such as tracing
Automatic Finite Element Meshing from Solid Models,” Com- customer requirements and design decisions. Fig. 1
puter-Aided Design, 21, 4, 248-253. shows the many levels of system development for which
1991. Zeid, I. CAD/CAM Theory and Practice. New York: McGraw- there now exist structured development methodologies
Hill. and CASE tools.
Other tools that contribute to the CASE toolbox in-
JOHN MACKRELL AND BERTRAM HERZOG clude general purpose tools for desktop publishing (q¢.v.),
226 COMPUTER-AIDED SOFTWARE ENGINEERING (CASE)

System Development

Customer intentions

Validate
Capture customer intentions as
a requirements specification

Refine and develop


requirements
Validate

Design a system
satisfying requirements

Validate

Validate

pdb DDD Db DDD DDD DDD DD DDD DDD DDD DD DOs

Enhance system Did we capture


the logic
underlying our
Analyze system failure design?

FIG. 1. System design as supported through Computer-Aided Software


Engineering (CASE).

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.

Computer algebra is a branch of scientific computa-


tion. There are several characteristic features that distin-
guish computer algebra from numerical analysis (g.v.),
the other principal branch of scientific computation. (1)
Computer algebra involves computation in algebraic
structures, such as finitely presented groups, polynomial
rings, rational function fields, algebraic and transcenden-
tal extensions of the rational numbers, or differential and FIG. 1.
difference fields. (2) Computer algebra manipulates for-
mulas. Whereas in numerical computation the input and
output of algorithms are basically (integer or floating this problem to a certain problem about semialgebraic
point) numbers, the input and output of computer alge- sets that can be solved by Collins’ cylindrical algebraic
bra algorithms are generally formulas. So, typically, in- decomposition (cad) method.
stead of computing Semialgebraic sets are subsets of a real m-dimen-
sional space R” that can be cut out by polynomial equa-
axthax = -0.1438..., tions and inequalities. That is, start with simple sets of the
J(Ye, Shite 1
form

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

Modeling in Science and Engineering In science and


engineering, it is common to express a problem in terms
of integrals or differential equations with boundary con-
ditions. Numerical integration leads to approximations of
the values of the solution functions. But, as R. W. Ham-
ming has written, “the purpose of computing is insight,
not numbers.” So, instead of computing tables of values,
it would be much more gratifying to derive formulas for
the solution functions. Computer algebra algorithms can
do just that for certain classes of integration and differen-
tial equation problems.
Consider, for example, the system of differential
equations
FIG. 2.
2
~ 6B x) + B(x) ~ 6 sin(x) = 0,
the hypotenuse ofa right-angled triangle and the midpoints of dx?
2
the three sides of the triangle lie on a circle” (Fig. 3). 6 Fe) + XP Oe) — 6cos (x) =0
Once the geometric figure is placed into a coordinate
system, it can be described by polynomial equations. For
instance, the fact that E is the midpoint of the side AC is subject to the boundary conditions p(0) = 0, g(0) = 1,
expressed by the equation 2y, — y, = 0; the fact that the p’(0) = 0, ¢(0) = 0. Given this information as input, any of
line segments EM and FM are of equal length is expressed the major computer algebra systems will derive the for-
by the equation (y, — y)? a ye iy y¥4)— (¥g— Ys) = mal solution
0; and so on. In this way, the system h, =...= h,, = 0 of
polynomial equations in the indeterminates y,,..., y, de- noe 12 sin(ax) 6 cos(ax) fe 12 sin (x ) 4 &
termines the geometric figure. Call these polynomials the a(a’ — 1) a a—1 a’
hypothesis polynomials. The equation (y, — yy oe ey = sin(ax) a 2cos(ax) . (a? +1) cos (x)
oN)
Oe Yo)” = (vg Yio)” = 0 then states that the line qx) a a1 a’ —1
segments HM and EM are also of equal length. Call this fora ¢ {—1, 0, 1}.
polynomial the conclusion polynomial.
The problem of proving the geometric statement is
Some Algorithms in Computer Algebra Since
now reduced to the problem of proving that every com-
computer algebra algorithms must yield exact results,
mon solution of the hypothesis polynomials (i.e. every
these algorithms use integers and rational numbers as
valid geometric configuration) also solves the conclusion
coefficients of algebraic expressions because these num-
polynomial (i.e. the statements is valid for the configura-
bers can be represented exactly in the computer. Coeffi-
tion). Various computer algebra methods can be used for cients may also be algebraic.
proving such geometry statements. Wu Wen-tsun has Addition or subtraction of integers is quite straight-
given a method using characteristic sets of polynomials; forward, and these operations can be performed in time
Kutzler and Stifter and Kapur have used Grobner bases. linear in the length of the numbers. The classical algo-
The underlying computer algebra algorithms for these rithm for multiplication of integers x and y proceeds by
methods are mainly the solution of systems of polynomial multiplying every digit of x by every digit of y and adding
equations, various decision algorithms in the theory of the results after appropriate shifts. This clearly takes time
polynomial ideals, and algorithms for computing in alge- quadratic in the length of the inputs. A faster multiplica-
braic extensions of the field of rational numbers. tion algorithm due to A. Karatsuba and Yu. Ofman is
usually called the Karatsuba algorithm. The basic idea is
to cut the two inputs x, y of length <n into pieces of length
B(0, Yo) = n/2 such that

H(Yg; Vi9) x=a-p"+b, y=c-pr? +d,


G(0, Y¢) F(Y4, Vs)
where f is the basis of the number system. A usual
divide-and-conquer approach would reduce the multipli-
cation of two integers of length n to four multiplications
of integers of length n/2 and some subsequent shifts and
additions. The complexity of this algorithm would still be
C(0, 0) A(y;, 0) quadratic in n. However, from

FIG. 3. x-y=acB" + (a+ b)(c +d) — ac — bd) + bd


COMPUTER ALGEBRA 229

we see that one of the four multiplications can be re-


1, = (2x78 + 26x77 — 308x76 + 2184x75 — 10198x74 +
placed by additions and shifts, which take only linear
time. If this reduction of the problem is applied recur- 32188x"3 — 65932x?? + 68536x7! + 42431x7° —
sively, we get a multiplication algorithm with a time com- 274533x!9 + 411512x!8 — 149025x!" —
plexity proportional to n'°8:*, This is still not the best we 431200x!® + 729296x!® — 337472x!4 —
can hope for. In fact, the fastest known algorithm is due to
318304x'? + 523264x!? — 225280x!! —
Schénhage and Strassen and its complexity is propor-
tional to n(log n)(log log n). However, the overhead of this 78848x'° + 126720x° — 53248x® + 8192x’)
algorithm is enormous, and it pays off only if the numbers y — x9 + 26x78 — 308x77 + 2184x76 — 10198x75 +
are incredibly large. 32188x74 — 65932x" + 68536x72 + 42431x7! —
Polynomial arithmetic with coefficients in a field, like
274533x7° + 411512x!® — 149025x'8 —
the rational numbers, presents no problem. These poly-
nomials form a Euclidean domain, so we can carry out 431200x'" + 729296x'® — 337472x!5 —
division with quotient and remainder. Often, however, we 318304x!4 — 523264x!3 — 225280x!? —
need to work with polynomials whose coefficients lie in 78848x!! + 126720x!® — 53248x° + 8192x°.
an integral domain like the integers. Addition, subtrac-
tion, and multiplication are again obvious, but division The greatest common divisor of fand gis obtained by
with quotient and remainder is not possible. Fortunately, eliminating common factors p(x) in r,. The final result is y
we can replace division by a similar process, called + x. Although the inputs and the output are small, the
pseudo-division. If a@) = a,x" + --- + a,x + a, and b(x) intermediate expressions get very big. The biggest poly-
= b,x" +---+ b,x + bo, with m = n, then there exists a nomial in this computation happens to occur in the
unique pair of quotient g(x) and remainder r(x) such that pseudo-division of r, by r,. The intermediate polynomial
b™"*! . a(x) = g(x) b(x)+ r(x) where either ris the zero has degree 70 in x.
polynomial or the degree of ris less than the degree of b. This problem of coefficient growth is ubiquitous in
Good algorithms are needed for computing the great- computer algebra, and there are some general ap-
est common divisor (gcd) of polynomials. If we are working proaches for dealing with it. In the special case of polyno-
with polynomials over a field, we can use Euclid’s algo- mial gcd’s, we could always make the polynomials
rithm, which takes two polynomials f(x), £@) and com- primitive (i.e. eliminate common factors not depending on
putes a chain of remainders f,(),..., 4,0), 4,,,@) = 0, such the main variable). This approach keeps intermediate
that f,is the remainder in dividing f,,by f,,.Then f,@) is remainders as small as possible, but at a high price: many
the desired greatest common divisor. For polynomials gcd computations on the coefficients. The subresultant
over the integers we can replace division by pseudo-divi- gcd algorithm can determine many of the common factors
sion, and the Euclidean algorithm still works. The prob- of the coefficients, without ever computing gcd’s of coef-
lem, however, is that, although the inputs and the final ficients. The remainders stay reasonably small during this
result might be quite small, the intermediate polynomials algorithm. In fact, in our example the integer coefficients
can have huge coefficients. This problem becomes even grow only to length 4.
more pronounced if we deal with multivariate polynomi- The most efficient algorithm for computing gcd’s of
als. As an example, consider the computation of the great- multivariate polynomials is the modular algorithm. The
est common divisor of two bivariate polynomials basic idea is to apply homomorphisms to the coefficients,
compute the gcd’s of the evaluated polynomials, and use
RRNA BOY KV SX, the Chinese remainder algorithm to reconstruct the actual
coefficients in the gcd. If the input polynomials are univar-
g(x,y) = xy°— 2y°+ xy* — dxy! + xy? + xy iate, we can take homomorphisms H,, mapping an integer
atoamod p. If the input polynomials are multivariate, we
with integral coefficients. Consider y to be the main vari- can take evaluation homomorphisms of the formHxl=rl for
able, so that the coefficients of powers of y are polynomi- reducing the number of variables. In our example, we get
als in x. Euclid’s algorithm yields the polynomial
remainder sequence
gcd(H,_,(f),H,-2(8)) = y + 2, gcd(H,_3(F),H,3(8)) =y + 3.
Ua So the gcd is y + x. Never during this algorithm did we
n= g, have to consider large coefficients.
Decomposing polynomials into irreducible factors is
fp = (2x — Ay? + (27 — Ay? + GF — Axtt 3x?
+ 4%
another crucial algorithm in computer algebra. A few de-
Ax)y + x® - 4x° — 3x4 + 4x3 — 4x’, cades ago, only rather inefficient techniques for polyno-
r, = (—x! + 6x® — 12x? + 8xy? + (—x!8 + 12x!? — mial factorization were available. Research in computer
58x!! + 136x!9 — 121x9 — 117x° + 362x" — 236x° — algebra has contributed to a deeper understanding of the
problem and, as a result, has created much better algo-
104x° + 192x4 — 64x°)y — x!4 + 12x!3 — 58x!? - rithms. Let us first consider univariate polynomials with
136x!! — 121x!° — 116x° + 356x® — 224x7 — 112x° + integer coefficients. Since the problem of coefficient
192x° — 64x’, growth appears again, one usually maps the polynomial
230 COMPUTER ALGEBRA

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

whether it is really necessary to go to the full splitting


field. For instance, For instance, we want to compute

Snes —(m+1)x"*!4+x
pre haven? PN Cua me
J xr
Faye
— og | ay et loare= n=1 Cae):

5Blog (x ~ V2)+ log @ + 12) = Flog(x®— 2).


For the case of hypergeometric functions, Gosper’s algo-
rithm solves this problem. There is also a theory of
The example shows that although we had to compute summation similar to the theory of integration in finite
in the splitting field of the denominator, the algebraic terms.
extensions actually disappear in the end. A deeper analy- Grébner bases are an extremely powerful method for
sis of the problem reveals that, instead of factoring the deciding many problems in the theory of polynomial ide-
denominator into linear factors, it suffices to compute a als. As an example, consider the system of algebraic equa-
so-called square-free factorization—i.e. a decomposition of tions
a polynomial finto f= f, - fs see i where the factors f,are
2x4 + y* + 8x3 — 3x*y + 2y>+ 12x? — Exy + +
pairwise relatively prime and have no multiple-roots ; go BEES aS
(square-free). The square-free factorization can be com- 8x" + 24x* — 6xy + 24x — 6y +8 =0
puted by successive gcd operations. Now if A and B are iy Sa tee rarest (1)
COMPUTER ALGEBRA 231

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);

Axiom Axiom‘ (Davenport and Trager, 1990) is asystem


that was developed at IBM Thomas J. Watson Research

4Formerly called Scratchpad.


FIG. 1. Mathematica plot of the function sin(@xy)
236 COMPUTER ALGEBRA

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

in accordance with the stated attributes. Domains can 2 4


be parametrized too; for example. SparseUnivariate- C= nis) 1) sel 4" Pas C73
Polynomial(R) takes one parameter R, the coefficient 3
ring, which must be of type Ring (a category) and the ln¢s)<—" 179) s — 1/8 Pi s
special representation used is a linked list of coefficients. 5 6
This concept also allows us to implement an algo- eC SCS etry estate sOcG op
rithm only once for a given category and to use it for any
values for which it makes sense. For example, the Euclid- e We define {x,} to be the sequence of iterated sines,
ean algorithm can be used for values belonging to any i.e. X,,, = sin(x,). What is the asymptotic expan-
domain that is a Euclidean domain (a category!). The sion of x, for n — ~?
following package takes a Euclidean domain as a type
> asympt(rsolve(x(n+1)=sin(x(n)),x),n);
parameter and exports the operation gcd on that type.
1/2
1
GCDpackage(R: EuclideanDomain): with ar B75 3
In(----)
Heels (CR, iy) =P We 1/2
==add 3 n 1
gcd(x,y) w--- 4 ----------------------------- + 0(----)
xX := unitNormal(x),canonical We 3/2 2
y := unitNormal(y),canonical n n n
while y *= 0 repeat
Cxe v2 4= (Cy. xX remy) e Jtan paae) dx in terms of tan’s and arctan’s:
y := unitNormal(y),canonical
Xx 2 2

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.

Examples. In this section we present some examples rd 3


that define the boundaries of what computer algebra 18
systems can and cannot do. The successful results we call
“remarkable,” in the sense that it is surprising that com- Comparative Examples In this section we present
puter algebra systems can obtain them. The unsuccessful a few examples of some operations commonly done in
ones are likely to be beyond the frontiers of today’s sys- symbolic computation. The examples are presented with
tems. Of course, these examples are valid now; in the all the declarations or environments settings that are
future systems might evolve that will be able to solve the necessary to perform the operations. We have used the
ones we now Call “difficult/impossible.” following environments:

Difficult/Impossible Problems Maple V Sun SPARC


Mathematica 2.0 Sun SPARC
Reduce 3.3 DECstation 3100
dx
e For which values of n is J x integrable in Macsyma 309.6 VAX 8600
Axiom IBM RS/6000
-closed form? Derive 2.01 386-based DOS system
e Let H bea Banach space...(Computer algebra sys-
Because of the wide variety of hardware used, timing
tems cannot handle such abstract concepts at
results are not given:
present.)
e Test whether the expression €(3/2)+4nC(—1/2) is 1. Limit computation
equal to some number or not (indeed, it is equal to
0). (e + 1"
e Solve the nonlinear differential equation yx) + The answer of lim,.,., is obviously ©, but
YCVOC) + Y= 0. L’Hospital’s rule will fail to compute the limit:
Remarkable Solutions Maple > limit ((E+1)*(x%2)/E%x, x=infinity
Mathematica® returns the limit unevaluated.
e Series expansion of
as Sf the Limit function defined in the package Calcu-
R(s) =|. n(1 sec Jus/Limit, mis used, then Mathematica will find the limit
1+? Inf1J: = << Calculus/Limit, m
INEZ = Eimit EGER NOYBAxXte tex > vlinkanis
> serves ( inte knGiskset AGG 2). t=0... ity]
iit iniey). SHO Out(2] = Infinity
238 COMPUTER ALGEBRA

Reduce no evaluation of limits.


Macsyma returns the limit unevaluated.’
Scratchpad returns “failed”.
Derive [AJuthor (<ALT>—e + 1)*(x%2)/<ALT>—e%x
(Clalculus/[LJimit <CR> inf <TAB> <space>
CSJimplify

2. Series expansion:

The series for tan(sin(x)) and sin(tan(x)) agree through


several terms. Compute the series expansion of the differ-
ence up to order 13:
Maple > series(sin(tan(x))-tan(sin(x)),x,14);
7 29 9 1913 11 95 13 14
- 1/30 x = --= xX =- =s=-- x - ---- X + O)\CXamy)
756 75600 7392
Mathematica In{1J:= Series{Sin(Tan[xJ]]-Tan(Sin€xJJ, {x, 0, 13}]
7 9 11 13
=X AS) XK ISy 95. x 14
Out (l= ==) = --- = ) = a= - oe + OLX
30 756 75600 7392
Reduce® LE Ovetera laineCm One Caves
2: taylor(sin(tan(x))-tan(sin(x)),x,13,0);

S15 ‘dks 1913 11 29 9 1 7


uly Saher aah eaten BX 1 Shale EKrnitisas ee)
7392 75600 756 30
Macsyma (cl) taylor(sin(tan(x))-tan(sin(x)),x.0,13);

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

Type: UnivariatePuiseuxSeries(Expression Integer,x,0)

Derive? [AJuthor sin tan x - tan sin x


[C]Jalculus[TJaylor <CR> <CR> 13 <CR>
CS]implify
13 11 9 i
Oba x TONSiex 29 x x

7392 75600 756 30

3. Linear ODE:

Solve the second order differential equation

y’ (x) + 2Y@)
+ y@X) = cos(x):

7Macsyma returns the correct result, if the input is changed


to limit (exp(x*2*log(%ell) )/%erx.
Supports no series expansion directly, but it is easy to *Using some of the IBM’s special characters, Derive’s output
define such a function. is actually prettier than this.
COMPUTER ALGEBRA 239
Maple > dg] := diff (y(x),x$2)+2*diff(y(x),x)+y(x)=cos(x);
Gt? \
d | {24 \
dgl :=-|--=<- MEE t 2: [R= -ruy(X)i| ey (x) =cos( x)
Laane | \ dx /
\ dx yf

> 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

29) ny omen(OX) eto AV OXG) Bete (OX) ERC O'S (0X0)


Type: Equation Expression Integer
(3) ->solve(deq, x) y,
sin(x)
(3) [papti-culan=i-=-—== ,basis = [%, X %e a
2
Type: Union(Record(particular: Expression Integer,
basis: List Expression Integer)....)

Derive [TJransferLLJoad ODE2


[AJuthor LIN2_P0S(2,1,cos(x) ,x)
[SJimplify
=X sin x
e (¢2. x +7¢c1) + -=---
2
4. Symbolic integration: Integrate (x + 1)/(x? + x + 1)
Maple amines Oxy) 1/ (Xa xetl exalt:
2 1/2 MZ
Wi2iMNGXe chexy hele) see, 3, 3 ancien Ge/iSmaGZ xray) 33 )

Mathematica ~In{1J:= Integrate[(xt+1)/(x*%2+x+1),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

Macsyma Cel) anbedratee CxtlyiiGAZtxt lynx)=


ZeXeeL
2 AUC (S2eoS= )
log(x +x +1) sqrt(3)
(Dy 0 aa + -------------
2 sqrt(3)

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)

Derive (PAREOI Oxsel 1/5CxA2+x


10)
[C]alculus/[I]ntegrate <CR> <CR> <CR>
Sint (Ss) < (2x +1")
BCS) AIAN Gn= = ait ate ea ae ) 2
3 LMG ap Sear 30)
St + wewee
eee ewww ewe = &

3 2

5. Recurrence equations: Solve s, = — 3s, _, — 2s,_,

Maple > PSOUVACSM) = =SeS(insiD) = 2esttia2, SCMVe


n n
CZ5S CODE EES: Cl) in Gale) we C= SCO) = SCI) C2)
Mathematica returns a result which is not undersandable.
Reduce is unable to solve recurrence equations.
Macsyma (cl) load(differ)$
(c2) difference( s{n+2]+3*s[n+1]+2*s[n]=0, s(n] ),

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:

BURT MEE LOCC. Ke. OCAINds WeeWs rin, tnenge


VivocdGay Gi EECA. x ee Vew ~~”
Il hb a =Fig?) S
RETURN(a) fi;
| ee
0 xiom’s output is actually prettier than this if some of IBM’s "There is no way to tell Derive that n is an integer in order
special characters are used. to simplify the result to C1(1 — 1)" + C2 (-2)".
COMPUTER ALGEBRA 241

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:

Banrreeca. x): Dlock([d,v,1..t,91,


i (G2 dCdGe. ot: Cif fax))) =. 1. then
RETURN(a),
d : quotient(t,g) diff(quotient(a,g),x),
| ene
for i:1 while d<>0 do
( da 0GGCVs, .d.)..
v : quotient(v,g),
da QUOLTON LU, O) p= 0 111
GVe Xx).
| REA Sas =
se
eV AT) ss

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:

PROCEDURE sqrtfree (a,x);


BEGIN SCALAR d.v,11,tt,9;
on exp;
i fabgecHgcd(a.itt= dttas).<).=.1 then
RETURN a;
d..:= tt/g-df(y:=a/9...x);
Viewer ly
tis aale
while (d NEQ 0) do
<<
on exp;
g-2= gcd(v,-d):;
d := d/g —df(v:=vég, x);
off exp;
‘tke. bee alals
did 1 le ctat le
re
RETURN(tt xv ** 11);
END;
242 COMPUTER ANIMATION

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

COMPUTER ARCHITECTURE 1. System architecture—the functional behavior and


conceptual structure of a computer system as
For articles on related subjects see ADDRESSING; ARITHMETIC-
seen by the software developer (i.e. in terms of
Locic UNIT; BASE REGISTER; Bus; CACHE MEMORY; CHANNEL;
those characteristics affecting software design
COMPUTERS, MULTIPLE ADDRESS; DIGITAL COMPUTERS: GENERAL
and development); and
PRINCIPLES; GENERAL REGISTER; INDEX REGISTER; INDIRECT AD-
2. Implementation architecture—those characteris-
DRESS; INSTRUCTION AND DATA REPRESENTATION; INSTRUCTION
tics affecting the relative cost and performance
SET; INTERRUPT; MEMORY; MEMORY-MAPPED I/O; MICROPRO-
of a computer system and that are of concern to
GRAMMING; NETWORK ARCHITECTURE; PARALLEL PROCESSING: AR-
the semiconductor designer or electronic engi-
CHITECTURE; PROGRAM COUNTER; REGISTER; RISC ARCHITECTURE;
neer, such as logic design, memory bandwidth,
VON NEUMANN MACHINE; and WorRD LENGTH, VARIABLE.
and device technology.

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 Micro VAX VAX


Station 6000 9000
Model 3100 3800 460 440
Sn SU UEEEE UIE IEIISSII SSIS SSEEEE

Relative Deh 36 117


Processing
Performance
No. of Processors ih 6 4
Maximum 32 MB 64 MB 192 MB 512 MB
Main Memory
Cache Size 1 KB 1 KB 2 KB/CPU 128 KB/CPU
Cache Speed 90 ns 60 ns 28 ns 16 ns
I/O Bus Capacity 1.5 MB/s 3.3 MB/s 40 MB/s 320 MB/s
ee

FIG. 1. Various Implementations of Vax Architecture


246 COMPUTER ARCHITECTURE

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

Registers Main Memory


General Purpose 1 Lowest Address

General Purpose 2

General Purpose 3 Next Instruction User


General Purpose 4 to be Executed Program

General Purpose 5 Static Base — Start


of First Stack Frame
General Purpose 6

General Purpose 7 Start of Current


Stack Frame Hieroas
General Purpose 8
(in the form
Program Counter of a pushdown

y
stack)
Static Base*

Frame Pointer* End of Current


Stack Frame
User Stack Pointer*

System Stack Pointer*

System Base System Stack — Only


a One Frame System
Status Data
Memory Management
Tables for This User

FIG. 2. Register and memory structure of National 16032 microprocessor.


248 COMPUTER ARCHITECTURE

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

(4 bits) (12 bits)

Page Table
(16 entries)

Physical Address

(24 bits)

(12 bits)

Logical and Physical Memory Structure

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)

FIG. 3(b). |Paged memory mapping (with sample values).


250 COMPUTER ARCHITECTURE

Translation Technique
Logical Address
Segment

(4 bits) (16 bits)


Segment Table
(16 entries)

(16)

paetts
+ Physical Address

(24 bits)

(access rights — see text)

(22 bits)

Logical and Physical Memory Structure

Logical Physical
(16 segments of up to (16,777,216 words; each segment
65,536 words each) must start on 16-word boundary)

FIG. 3(c). Segmented memory management (with sample values).

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

FIG. 6. Computer-controlled painting device. (Photograph courtesy of Min-


nesota Mining and Manufacturing Company.)

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

an environment that does not exist in the real world. This


COMPUTER-ASSISTED
permits the artist to explore ideas never before thought
possible. In the past, artists created work from the world INSTRUCTION (CAI)
around them. They translated the world in either figura- For articles on related subjects see COMPUTER-ASSISTED
tive or abstract terms, but in either case, this was their LEARNING AND TEACHING; COMPUTER-MANAGED INSTRUCTION;
sense of reality. Computer artists can create their own and NETWORKS FOR LEARNING.
sense of reality, allowing them to transcend the role of the
traditional artist. Computer-assisted instruction (CAI) refers to the use of
computers to present drills, practice exercises, and tuto-
rial sequences to the student, and perhaps to engage the
References student in a dialogue about the substance of the instruc-
1968. Reichardt, Jasia. “Cybernetic Serendipity’—The Computer tion. A CAI (tutorial) dialogue is achieved between a com-
and the Arts. New York: Praeger. puter program and a student when the responses derived
1971. Reichardt, Jasia. The Computer in Art. New York: Van from the program are highly responsive to the questions,
Nostrand Reinhold. answers, and directives given by the student, while at the
1971. Mezei, Leslie. “Randomness in Computer Graphics,” in same time the dialogue advances the goals and means
Reichardt, Jasia (Ed.), Cybernetics, Art and Ideas. New York: established by the author of the curriculum materials.
New York Graphic Society. CAI is only one part of computer assistance in the
1976. Leavitt, Ruth. Artist and Computer. New York: Harmony processes of learning and teaching. It has proved success-
Books. f
ful where the goals of instruction are clearly defined,
1979. Malina, Frank. Visual Art, Mathematics, and Computers. Se-
achievement of those goals is highly valued by the orga-
lections from the journal LEONARDO. Elmsford, NY: Per-
gamon Press.
nization providing instruction, the substance of instruc-
1983. Krueger, Myron W. Artificial Reality. Reading, MA: Addison- tion is suited to automated delivery, and the student is
Wesley. lacking important skills, background, or motivation for
1983. Peterson, Dale. Genesis IJ. Reston, VA: Reston Publishing self-instruction via less expensive media. Research stud-
Company, Inc. ies tend to show advantages for CAI in terms of shorter
1984. Franke, Herbert W. Computer Graphics, Computer Art (2nd learning times and improved performance. Inhibitors to
Ed.). New York: Phaidon. operational use include high costs of delivery systems
1984. Franke, Herbert W. Computergrafik—Galerie. Carson, CA: and curriculum development, conflicts between individu-
DuMont. alized instruction and current educational practices, and
1984. Grundmann, Heidi. Art Telecommunication. Vancouver: A
commitment of most of the computing resources avail-
Western Front Publication.
able in schools to instructional use for education about
1984. Jankel, Annabel and Morton, Rocky. Creative Computer
Graphics. New York: Cambridge University Press.
computers. An analysis of CAI effectiveness, along with
1986. Kerlow, Issac Victor and Rosebush, Judson. Computer other media for instruction, is given by Kulik and Bangert-
Graphics for Designers and Artists. New York: Van Nostrand Drowns (1990).
Reinhold Company Inc.
1987. Goodman, Cynthia. Digital Visions, Computers and Art. New Initial Demonstration Projects A group of engi-
York: Abrams. neers and educators in the Computer-based Education
1989. Lamb, D.J. “The Impact of the Computer on the Arts,” Research Laboratory at the University of Illinois, Urbana,
Academic Computing (April) 22-24, 50-54. designed a computing system (PLATO) especially for ef-
1989. Schwartz, Lillian with Schwartz, Laurens. The Handbook of
fective and efficient teaching. It was a large system that
Art, Animation and Analysis By Computer. New York: W. W.
provided instructional computing to about 1,000 simulta-
Norton.
neous users throughout the university and also a number
1989. Lovejoy, Margot. Postmodern Currents, Art and Artists in the
Age of Electronic Media. Ann Arbor, MI: UMI Research Press. of other colleges and schools in Illinois. The design in-
1990. Krueger, Myron W. Artificial Reality I]. Reading, MA: Addi- cluded notable advances in the technology for display
son-Wesley Publishing. and communications. The PLATO system has been mar-
1990. McCorduck, Pamela. Aaron’s Code: Meta-Art, Artificial Intel- keted commercially by Control Data Corporation, and the
ligence, and the Work of Harold Cohen. New York: W. H. Free- curriculum materials and programming language are
man. available for use with microcomputers.
1991. Ascott, Roy and Loeffler, Carl (Eds.). Connectivity: Art and Stanford University operated a CAI system to distrib-
Interactive Telecommunications. LEONARDO 24, 2. New York: ute instructional computing to a number of centers
Pergamon Press. throughout the country. A large-scale service operation
1991. Brill Louis, Virtual Reality ‘91 Conference. YLEM Newsletter using long-distance telephone communications, clusters
11, 11. Orinda, CA: YLEM Artists Using Science and Technol-
of terminals, and some standalone computer systems, the
ogy.
remote centers were usually associated with elementary
so Goeainai Danny. Hypercard 2.0. New York: Bantam Books.
1991. Kerlow, I.V. “Art and Design and Computer Graphics Tech- school demonstration projects and special education in-
nology,” Comm. ACM, 34, 7 (July) 30-39. stitutions. The service operation was conducted in paral-
1991. Wilson, Stephen. Multimedia Design with Hypercard. Engle- lel with an extensive program of research and
woods Cliffs, NJ: Prentice-Hall. development at the Institute for Mathematical Studies in
the Social Sciences, Stanford University. Curriculum mate-
RUTH LEAVITT rials were prepared for young children (elementary
262 COMPUTER-ASSISTED LEARNING AND TEACHING

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.

Areas of Application CAI materials have been pre- References


pared for many subjects, from accounting to zoology, and 1989. Farr, Marshall and Psotka, J. Intelligent Instruction by Com-
from preschool through adult education. Materials can be puter: Theory and Practice. New York: Taylor and Francis.
found in selected disciplinary areas by consulting teach- 1990. Kulik, J. A., and Bangert-Drowns, R. L. “Computer-Assisted
ing publications or professional committees associated Learning.” In N. Entwistle (Ed.), Handbook of Educational Ideas
with mathematics, physics, chemistry, biology, geogra- and Practices. London: Routledge.
phy, political science, history, psychology, English, busi-
KARL L. ZINN
ness, engineering, law, and medicine, among others.

Current Status. CAI has had many successes in mili-


tary and industrial training, where the objectives are clear COMPUTER-ASSISTED
and a modest percentage advantage in delivery cost and LEARNING AND TEACHING
trainee time adds up to considerable savings for the orga-
nization. Effective automation of training is essential in For articles on related subjects see AUTHORING LANGUAGES
areas where new job requirements, employee turnover, AND SYSTEMS; COMPUTER-ASSISTED INSTRUCTION; COMPUTER-
and decreasing skills among those entering the workforce MANAGED INSTRUCTION; LOGO; and NETWORKS FOR INSTRUCTION.
combine to force costs up.
Adoptions of CAI by educational institutions are not The impact of computers on teaching and learning
common. Even where costs of instruction via computers activities at all levels of education is considerable, and the
have been shown to be lower, institutions have difficulty extent of use is increasing rapidly. Current uses in post-
shifting dollars from people to machines, adjusting sched- secondary education are quite varied. A medical student
ules and rules to realize the benefits of individualized practices diagnosis and prescription on a wide variety of
instruction, and convincing students that technology can hypothetical patients simulated by computer programs.
do the job on its own. Nevertheless, some schools and A senior engineering student using computer assistance
colleges regularly employ CAI for second language in- solves problems in road design that ten years ago were
struction, practice of basic skills in writing, remediation not approached until after two years of experience on the
in mathematics and sciences, or preparation for labora- job. A sophomore in computer science develops a pro-
tory exercises. The early and optimistic promises for CAI gram to help a professor of chemistry evaluate the effec-
have not been realized. The costs are high compared to tiveness of questions on a multiple-choice quiz. A
other uses of computers in teaching and learning. freshman in general psychology directs a computer-
Improving technologies are increasing the capabili- based information system to assemble a complete bibli-
ties of computer systems for effective delivery of instruc- ography on the relation between achievement motivation
tion (seen mostly in characteristics of the display) and and college grades, which is as current as the journals
bringing down the price of a personal computer. received by his or her professor. A laboratory technician
Videodiscs (q.v.) provide a low-cost, color image storage tests him/herself on newly acquired skills, using a termi-
medium under computer control, and animated graphics nal on a hospital information system.
are practical on inexpensive color displays. Control of Computing is also quite visible in education outside
images and ease of access make qualitative differences in colleges and universities. A high school science student
the use of computers in teaching and learning. applies wildlife management practices to a computer sim-
The locus of decisions about CAI in education has ulation of the American bison herds that were slaughtered
shifted from institutions to individuals. Parents are taking in the 1800s. An English literature student programs a
COMPUTER-ASSISTED LEARNING AND TEACHING 263

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

Discuss Procedures for

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

FIG. 3. Adaptations to computer entry devices and displays help stu-


dents participate in lab work, class discussions, and outside communica-
tions, in spite of limitations on mobility, vision, hearing, or vocalization.

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

FIG. 4. A dynamic information system for scholar and learner.


COMPUTER-ASSISTED LEARNING AND TEACHING 267

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

TABLE 1. History of Major Tournaments

ACM North American Computer Chess Championships

Year, City Winner, Runner-up (* denotes a tie)

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

TABLE 1. History of Major Tournaments (Continued)


nnn nn EEE SnSENSES REESE SEERSNESSRENAINE
ACM North American Computer Chess Championships

Year, City Winner, Runner-up (* denotes a tie)


a eee SS SS
World Computer Chess Championships

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)

World Microcomputer Chess Championships

1980, London CHESS CHALLENGER ; BORIS EXPERIMENTAL


1981, Travemunde FIDELITY X ; CHESS CHAMPION MARK V
1983, Budapest ELITE A/S ; MEPHISTO X
1984, Glasgow Four-way tie: ELITE X, MEPHISTO S/X, PRINCHESS, PSION CHESS
1985, Amsterdam MEPHISTO AMSTERDAM |; MEPHISTO AMSTERDAM II
1986, Dallas MEPHISTO DALLAS 3 ; FIDELITY “2533"
1987, Rome MEPHISTO ; CYRUS 68K
1988, Almeria MEPHISTO ; FIDELITY
1989, Portoroz, Slovenia MEPHISTO ; FIDELITY
1990, Lyon MEPHISTO; Tie: ECHEC 1.9 and GIDEON
1991, Vancouver Tie: MEPHISTO and GIDEON

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.

Although the development of digital computers can


be traced back to Charles Babbage, who conceived a
References
mechanical machine with toothed wheels to perform
1950. Shannon, C. “Programming a Computer for Playing Chess,” arithmetic processes, electrical principles first found ap-
Philosophy Magazine 41: 256-275. plication in digital computers in the form of electrome-
1953. Turing, A. M. “Digital Computers Applied to Games,” in chanical relays. The most prominent examples of this
Bowden, B. V. (Ed.), Faster than Thought. London: Pitman, type of computer are the Bell Labs relay machines (q.v.)
286-295. and the Harvard Mark] (g.v.) and Mark II. Even while these
1975. Newborn, M. Computer Chess. New York: Academic Press. machines were under construction in the early and mid-
1977. Frey, P. (Ed.). Chess Skill in Man and Machine. New York: dle 1940s, it was recognized that an electronic computer
Springer-Verlag.
would offer great advantages in terms of computational
1979. Newborn, M. “Recent Progress in Computer Chess,” Ad-
speed. This pattern of improving implementation technol-
vances in Computers 18: 59-117.
1980. Levy, D. N. L. and Newborn, M. More Chess and Computers. ogy has continued even to the present time. In this article
Potomac, MD: Computer Science Press. we will survey some of the basic concepts that are used
1989. Newborn, M. “Computer Chess: Ten Years of Significant in designing computer circuitry.
Progress,” Advances in Computers 29: 197-250.
1990. Levy, D. N. L. and Newborn, M. How Computers Play Chess
New York: W. H. Freeman. , Boolean Algebra _ Boolean algebra (q.v.) forms the
1991. Hsu, FH., Avantharaman, T., and Nowatzyk, A. “A theoretical cornerstone on which modern digital comput-
Grandmaster Chess Machine,” Scientific American, 263, 4 (Oc- ers are built. Boolean algebra deals with functions and
tober) 44-50. variables that take on only two values, commonly de-
noted by either 7 and For 1 and 0. Using the axioms of
MOnroE M. NEWBORN boolean algebra, it can be shown that any boolean func-
a 3 COMPUTER CIRCUITRY

ae
S S
G G
nand
D D
(a) n-TYPE (b) p-TYPE
nor
or FIG. 2. Symbols for FETs.

FIG. 1. Symbols for Logic Gates.


switches. As shown in Fig. 2, such switches consist of three
terminals and can be either “n-type” or “p-type.” In an
tion (a function over boolean variables), no matter how n-type switch, if G equals 1, terminal S is connected to
complex, can be composed from three primitive opera- terminal D. If G equals 0, then terminal S is disconnected
tions: and, or, and not. This set of logic operations is from terminal D. In a p-type switch, if G equals 1, terminal
therefore said to be functionally complete. In fact, there are S is disconnected from terminal D. If G equals 0, then
two primitive operations, widely used in the design of terminal S is connected to terminal D. Physically, the “n-
computer circuitry, that are functionally complete in type” switch is an n-type field effect transistor (nFET) and
themselves. These are nand (equivalent to a not following the “p-type” switch is a p-type field effect transistor
an and) and nor (equivalent to a not following an or). The (pFET). For the purpose of this discussion, we will not be
implication is that one only needs to design circuits for a concerned with the physics of these devices.
functionally complete set of boolean operations in order As shown in Fig. 3, such switches are interconnected
to have the basic building blocks for a digital computer. to form a network having two distinct terminals, X and Y.
The association that is usually made between an The connection pattern of Fig. 3(a) is a series connection,
abstract boolean operation and circuitry that implements
and the pattern of Fig. 3(b) is a parallel connection. These
that operation is through voltage levels. That is, digital elementary connection patterns can be used to build
circuitry is designed to respond to two voltage levels,
larger networks, as shown in Fig. 3(c).
designated high and low (e.g. + 5 volts and 0 volts). The
We say that a network N of switches is activated if and
conventional method uses the high voltage (or V,,) to
only if the two terminals X, Y of N are connected through
represent a 1 and the low voltage (or Gnd (Ground)) to
a set of switches. For example, in Fig. 3(a), if A =B =1,
represent a 0. Other associations of boolean values and
both switches are closed and X is connected to Y. There-
circuit quantities are possible.
fore, the network of Fig. 3(a) is activated by the assign-
ment A = B = 1. One can verify that, if A = B = 0, the
MOS Logic Gates Circuits that implement the most network of Fig. 3(c) is activated.
primitive boolean functions are called gates. The symbols MOS logic gates are constructed by using networks of
that are used to implement the commonly used gates are switches. As shown in Fig. 4, there are two distinct models
shown in Fig. 1. A small circle used in conjunction with of logic gates. The type-a gate uses two networks of
any gate denotes negation of that gate’s function. switches—pullup and pulldown networks. The pullup net-
Variations of Metal-Oxide Semiconductor (MOS) tech- work consists only of pFETs and the pulldown network
nologies are currently used to design computers. In such consists only of nFETs. These gates are designed so that,
technologies logic gates are built using controlled for any assignment of values to the input variables, only

(a) Series Connection (b) Parallel Connection (c) Series-Parallel Graph


FIG. 3. Series-Parallel Connections.
COMPUTER CIRCUITRY 273

Vdd

Pull
Input Pullup
Variables Network Resistance
Input
Output
Variables Output
Pulldown
Pulldown Network
Network

(a) type-a (b) type-b


FIG. 4. Structure of MOS gates.

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

Gnd Gnd Gnd


(a) CMOS NAND GATE (b) nMOS NAND GATE (c) nMOS NOR GATE
FIG. 5. Examples of MOS gates.
274 COMPUTER CIRCUITRY

C V+ Y

G F=A+B
(c) DIODE

yaeorA
(a) BIT

(b) RTL NOR GATE (d) DTL NAND GATE


V+

F
A

A Tl T

(f) ECL NAND GATE


(e) TTL NAND GATE
FIG. 6. Implementation of some Universal Gates using BJT-based Logic Families.

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)

FIG. 7. Global Clock.


276 COMPUTER CIRCUITRY

TABLE 1 by minor variations (or programming) of a “master piece.”


These factors have led to the evolution of a number of
design styles like Programmable Logic Arrays (PLAs),
Weinburger Arrays, Gate Matrix Arrays, etc. Such design
styles are being used extensively. To gain insight into
these styles, we will have a brief look at nMOS PLAs.
Let Xi, X2, X3 be input variables. The nor expression
X, + X2 + X3(X + Xo + X3) can be logically implemented,
as shown in Fig. 9(a). To implement this expression phys-
ically—if there are n input variables, we have a physical
aRPK mM
OrFOorFor.se
OoOOrFHKOCSO Ke
SCOFPOCHKHO row of 2n nFETs. For every input variable X;, there exists
two nFETs, one driven by X; and the other driven by X;. An
example is shown in Fig. 9(b). For this row of nFETs, some
of the “links” are “broken.” This effectively removes some
is similarly defined. From Table 1, X; - X2 - X3is a zero-term of the FETs from the circuit, resulting in the desired gate
and X - X2 - X3 is a one-term for P3. shown in Fig. 9(c). This is the basic idea used in a PLA.
Let aj,..., a; be the one-terms of a function f. Then, a; A PLA is shown in Fig. 10. It consists of two parts,
+ a2 +...+ a; +’ denotes the or operation) is a sum-of- an AND-PLANE and an OR-PLANE. Each of these two
products expression for f. From Table 1 we get the follow- parts are two-dimensional array of FETs. Every row of
ing sum of products expression P3; P3 = X1 - X2 -X3+ Xi -X2 the AND-PLANE is arranged to form a potential nor gate.
- X3 + X, - X2- X3 + Xi - Xz - X3. From such an expression, All FETs in a column of the AND-PLANE are driven by
we get the gate level description shown in Fig. 8. Note that, the same input literal. Every column of the OR-PLANE
for each term, we have an and gate and there is one or gate is arranged to form a potential nor gate. The inputs of
that is driven by all the and gates. the FETs in a row of the OR-PLANE are driven by the
output of the same nor gate of the AND-PLANE. Given
Programmable Circuits The gate level description such an array of FETs, a set of sum of products expres-
is a description of the circuit that is used for fabricating sions is implemented by “selectively disconnecting”
the circuit. Prior to fabrication, the physical location ona some of the FETs from the circuit. For example, to
silicon wafer of the devices (like FETs, resistors, etc.) has implement the following boolean functions, the FETs to
to be determined ( placement). This is followed by deter- be disconnected are shown by ‘X’ in Fig. 10.
mining how the devices are to be interconnected ( rout-
ing). For circuits using a small number of devices, f, = X,X,+X,X,
placement and routing can be done manually. For larger
circuits, the entire process has to be automated. Many of
the steps of placement and routing can be easily auto- f, = X,X,+X,X,
mated if the circuit topology is regular. Moreover, the
integration process becomes simpler and more cost effec- Sequential Circuits We will use a simple example to
tive if a variety of circuits can be physically implemented illustrate how sequential circuits are designed. Consider

X1 X2 X3

FIG. 8. Example of Sum-Of-Product Circuits.


COMPUTER CIRCUITRY 277

links to be broken

SI NY X3 X1

(a)

FIG. 9. Programmable NOR Gate.

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

FIG. 10. Example of a programmable logic array.


278 COMPUTER CIRCUITRY

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) ()

FIG. 11. Example ofa state diagram.

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)

FIG. 12. Structure of a Flip/Flop. oe

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

Abusive Usage Normal


Use
Use as a Tool for
e External Abuse

FIG 1. Computer Abuse Methods Model.

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

a description of John Conway’s “Game of Life.” Easily


Set 58% throttle programmed, it began to appear on virtually every video
computer terminal in the country within weeks.
In the late 1960s, the National Science Foundation
was attempting to encourage the use of computers in
secondary schools to improve science education. One of
the notable NSF-funded projects that produced scores of
simulation games in science and social studies was the
Huntington Computer Project directed by Ludwig Braun
at Brooklyn Polytechnic Institute (later at SUNY, Stony
Brook). In the Project’s “Malaria” simulation game, for
example, students must try to control an outbreak of
malaria in a Central American country using a combina-
tion of various pesticides, innoculations, and treatment of
the ill—all without bankrupting the country.
FIG. 2. In “Yeager,” a typical flight simulator, players must Also in the late 1960s, both DEC and Hewlett-Packard
learn to land on a carrier deck, tough even for seasoned pilots. started major marketing efforts to sell computers to sec-
ondary and elementary schools. As a result, both compa-
nies sponsored a number of small-scale projects to write
display, the continuing evolution from text-only games to computer games and simulations in various fields, many
video games was hastened. Written by Slug Russel, Shag of which were released in the early 1970s. In DEC’s “King”
Gratz, and Alan Kotok, the first game for the PDP-1 was game, for example, players decide how much land to buy,
“Spacewar,” first demonstrated at an MIT open house in sell, and cultivate each year, how much to feed the people,
1962. etc., while dealing with problems of industrial develop-
Later in 1962, Omar K. Moore at Yale built a device
ment, pollution, and tourism.
called “The Talking Typewriter” for teaching reading to
Meanwhile, on the recreational front, in 1971, Nolan
young children. In the device, built by Edison Electric, a
Bushnell rewrote “Spacewar” as a coin-operated arcade
computer controlled a video display, slide projector, and
game called “Computer Space,” which was marketed by
audio recorder. In 1964, a more general-purpose com-
Nutting Associates. Too complicated for the average
puter-assisted instruction (CAI) system using IBM hard-
player, only 1500 units were sold and the game was not
ware, including a CRT with graphics, light pen, and audio,
successful. A year later, Bushnell’s next project, the Pong
was developed by Patrick Suppes at Stanford. Military
arcade game, was considerably more successful and was
research kept pace, and in 1964 Bunker-Ramo demon-
the foundation of the Atari Corporation.
strated a CRT display that simultaneously combined com-
Also in 1972, Willy Crother and Don Woods wrote a
puter data with a projected background.
game for the DEC PDP-10 that they simply called “Adven-
Artists began to realize the potential of the computer
ture.” The game, the first in the interactive role-playing
in 1964 when A. Michael Noll at Bell Labs produced the
fantasy genre, was unbelievably addictive and players
first computer art (g.v.) on a CRT display. Many years
consumed vast amounts of time-shared computer time on
later, spurred by such companies as Activision, Lucasfilm
whatever system it was loaded.
Games, and Cinemaware, artists began to play a much
larger role in the creation of games through computer
animation (q.v.).
Rounding out the landmark year of 1964, the language
Basic was developed by John Kemeny and Tom Kurtz on
the GE 225 timesharing system at Dartmouth College.
Within a few months, the first interactive educational
games and simulations began to appear on the Dartmouth
system.
Various types of graphics displays from many manu-
facturers were introduced in the mid-1960s, opening the
door to new video effects. Thus, we find a video pool game
developed at RCA (1967), a ball-and-paddle game by Ralph
Baer at Sanders Associates (1967, later to become the
Magnavox Odyssey home video game in 1972), a rocket
car simulation by Judah Schwartz at MIT (1968), a graphic
flight simulation by Evans and Sutherland (1969), a lunar
lander game at DEC (1969), and a device to permit com-
puter output and standard television video on the same
display at Stanford (1968). FIG. 3. “Hardball,” a realistic sports simulation provides real-
In the October 1970 issue of Scientific American, Mar- istic player animation, instant replays, complete player and
tin Gardner devoted his “Mathematical Games” column to team statistics, and five field perspectives.
COMPUTER GAMES 287

crash: too many me-too games, scores of companies with


no management or financial expertise, jaded game play-
ers, public backlash against arcades, and just too much
expansion too fast.
After a disastrous two-year downward spiral, it
looked to many like computer games were in the grave. In
April 1985, the Frost & Sullivan market research firm rated
computer and video games as having the least potential
of 24 high-technology markets. The video and home com-
puter games market was judged to have been a passing
fad, and manufacturers seeking profitable opportunities
were advised to turn their attention elsewhere.
Apparently, Nintendo didn’t read (or heed) the re-
port since they chose 1985 to introduce their home game
system. Also, Accolade, Electronic Arts, Strategic Simula-
FIG. 4. Computer versions of virtually every card and board
game, such as this version of Scrabble, are available for one or tions, and other computer game companies started to
more players. release more games in the IBM PC format, even though
the PC was then considered to be primarily a “business”
machine. These turned out to be wise decisions.
1972 also saw the first issue of Bob Albrecht’s
According to market surveys, Nintendo games were
People’s Computer Company newsletter, which, along with
the most wanted Christmas presents three years in a row
material for teachers and students, included many small
(1987-89). Two new game formats were introduced in
Basic games in each issue. A year later, DEC published the 1990: 16-bit systems by Sega and computer/compact disc
book 101 Basic Computer Games by David Ahl, which, in games by NEC. The home video game market—far from
1978, became the first computer book of any kind to sell being a fad—was healthy and growing again.
a million copies. The steep and continuing decline in the prices of PC
Ahl left DEC in 1974 and started Creative Computing, clones put them within reach of most home users,
the first personal computing magazine and the first mag- thereby simplifying the life of game designers and manu-
azine to publish three or four major games every issue. facturers. No longer did manufacturers have to make a
Also in 1974, Ted Nelson published the book Computer different game version for Apple, Atari, Commodore, and
Lib/Dream Machines, while, at the MITS company in Albu- Tandy computers when a PC version would reach 90% of
querque, NM, Ed Roberts was putting the final touches on the users. Bouyed by a choice of new and innovative
the first mass produced personal computer kit—the Al- games, the market steadily rebounded from its 1985
tair 8800. trough.
With the widespread availability of affordable video Today, real-time flight simulation games almost ex-
game systems and personal computers, it looked as actly duplicate the situation faced by actual pilots. To-
though there was no limit to the computer and video morrow, the word “almost” will be eliminated.
games market. Atari introduced the home version of Pong New games are certain to emerge that will use the
in 1975 and it was followed a year later by literally hun- latest technology—videodiscs (q.v.), multi-channel
dreds of imitators. Removable cartridge home games sound, voice synthesis, speech recognition (qg.v.), and
were first introduced by Fairchild in 1976, followed by much more. Where to from there is anybody’s guess.
Bally, Atari, and others a year later. By 1982, over 100
companies had entered the market with game systems or DAVID H. AHL
cartridges.
Also by 1982, the $6 billion in quarters put into ar-
cade games exceeded the gross take of all professional
ARCADE GAMES
sports combined, bouyed by such games as “Space Invad-
ers” (1978), “Pac-Man” (1980), “Defender” (1981), and Coin-operated machines were first introduced for
scores of other mega-hits. vending holy water in ancient Alexandria almost two
The kit era of personal computers lasted only two thousand years ago. The origin of the coin-operated
years and by 1977 manufacturers of self-contained, as- amusement industry can be traced back to an old game
sembled computers like Commodore, Apple, and Radio called Bagatelle in which marbles were propelled to the
Shack took the market by storm. This opened the com- top of a sloping board. Pins in the board (from whence
puter game floodgates as the cost of entry was so low. All comes the name “pinball”) deflected the marble, until it
one needed was a personal computer, some programming fell into one of several semicircular pockets made either
smarts, and a few hundred bucks to buy some magazine of pins or strips of metal. The further the ball traveled
ads. In more than one case, bright teenage programmers down the board, the higher the value associated with the
started game companies and hired their parents as em- pocket.
ployees. Pinball as an arcade game first took advantage of
All was not well in gameland, however, and in 1983 electricity in about 1929, chiefly to light the game. By
the bubble burst. Many factors are responsible for the 1932, Harry Williams had included a “tilt” mechanism,
288 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

eral recognition in the industry that it would be necessary


to improve the visual quality of video games as well as
their themes.
Technological improvements were part of the re-
surgence of arcade game popularity in the 1980s. In
1980, Atari introduced “Battle Zone,” in which the
operator manipulated a tank, using realistic controls.
The operator’s view consisted of a three-dimensional
scene composed of obstacles and enemy tanks. Tanks
not in the operator’s field of view were indicated as
dots on a round “radar screen.” All enemy tanks could
fire at the operator, even those outside the viewing
screen. Scenes were rendered in wire-frame 3-D. Very
realistic sound included varying engine noise and ex-
plosions. A modification of the game was used by the
army to train tank drivers.
“Defender,” introduced in 1980 by Williams, took full
advantage of the current technology. The game consisted
of controlling a small plane that fought various enemies.
Five different controllers were used for simultaneous con-
trol of picture, sound, and player interaction, and graph-
ics and sounds were stored in ROM. Other technical
features were introduced in 1980, including good speech
synthesis (“Berzerk,” Stern.)
“Donkey Kong” (Nintendo, 1981) introduced im-
provements in automation and a game with a mission
other than “senseless slaughter.” A little man named
Mario could be controlled by a joystick for horizontal
motion and a button to cause him to jump over objects
in his path. The player had to guide Mario to rescue
a lady in distress from a gorilla. This explains the word
FIG. 2. Atari “Asteroids,” which made effective use of com-
puter graphics. (Courtesy Play Meter Magazine)
“Kong” in the game’s title, but there is no apparent
reason for “Donkey.” One theory has it that the word
was meant to be “Monkey,” but the game was made
in Japan and the error was not detected until many
units had already been sent to the U. S. In any event,
Enterprises, Inc., has specialized in simulations, including this game was the beginning of a series of adventure-
Hang-On (1985), in which the player sat on a motorcycle. style games just as “Pac-Man” began a series of maze
The screen display was controlled by the operator’s use games such as “Ms. Pac-Man” (Bally/Midway, 1982) and
of the handlebars, and the motorcycle banked appropri- “Dig Dug” (Atari, 1982.)
ately from side to side. “Afterburner” (1987) added the Another 1982 spinoff of “Pac-Man’s” success was
pitch dimension to the motion of the operator’s chair, and “Baby Pac-Man” (Bally/Midway) that was part video game
“Galaxy Force” version 2 (1988) included pitch, roll, and and part pinball machine. When a player escaped out of
yaw. an exit door in the video game, the pinball game was
“Galaxian” (Bally/Midway, 1979) was based on the activated. After playing a ball, it was possible to return to
same theme as “Space Invaders,” but took advantage of the video game and continue.
color graphics and more versatile maneuvering by the Other new features were introduced in the same
raiders. year. In “Robotron 2084” (Williams), two joysticks were
In 1980, the phenomenally successful “Pac-Man” was used—one for moving and another for aiming a
introduced. The game display represented a maze weapon—making it possible to fire without first facing
through which the player could manipulate the famous various attacking outer space creatures. “SUBROC 3-D”
Pac-Man face by using a joystick. Pac-Man had to eat all (Sega) created stereoscopic 3-D effects by displaying
the cookies in the maze while avoiding little ghosts that stereo pairs of images using polarized light. Fortunately,
tried to trap him. This game was displayed on a color the format of the game was a submarine fight, so the
monitor. Pac-Man was partly responsible for the huge periscope viewing device could hold the necessary
growth in video game income from 1978, when the gross polarizing filters without distracting the player.
first reached $1 billion, to a peak of $7 billion in 1982. By “Zaxxon” (Sega/Gremlin) was the first raster image game
comparison, the motion picture industry estimated that that generated realistic 3-D effects. It was another space
its best year to date, 1989, would see a gross income of $5 war simulation, but alien craft changed size as they
billion. After 1981, income from video games declined approached or receded, and the moving spacecraft cast
dramatically to about $4.2 billion in 1985. There was gen- a shadow on the ground.
290 COMPUTER GAMES

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

by a circle and the moves from that state are repre-


sented by lines (Fig. 3), then a tree (q.v.) can be obtained
that represents the set of all possible games. The leaves
of this tree (Fig. 4) can all be labeled with the terms
win, loss, or draw for the first player. Now consider
any node that is followed only by labeled nodes. If that
node corresponds to the first player’s move and it is
etc.
connected to a node labeled, win, then it may be labeled
with the term win. It may be labeled with a draw, if it
is connected to a draw, otherwise, it is labeled with a
loss. If it is the second player’s move from a position,
then a loss is most preferred. This procedure can be
repeated to back up the values W, L, and D to the top
of the lookahead tree. Optimal strategy consists of
etc.
following the path taken by the letter W, L, or D, which
is backed up to the top. In other words, a player makes
the best move, based on the assumption that the
opponent will make the best reply, and the opponent’s
reply assumes that the player will make the best
counter-reply, etc. (The best outcome is guaranteed, of
course, even if the opponent makes less than optimum
FIG. 3. Part of the lookahead tree for tic-tac-toe. Circles rep- moves.)
resent game positions and arrows represent moves by X or O. Thus, since all possible chess games can be ex-
pressed in a tree like that in Fig. 3, it is known that
there is a perfect strategy for chess, that guarantees a
win or a draw for one player. Of course, the strategy
has never been found. It is the combinatorics of game
games of pure skill. It can be shown mathematically that playing that prevent the discovery of perfect strategies.
there is, in principle, an optimal strategy for each player In chess, when it is a player’s turn to move, that player
and that its application always gives the same result. In has, on the average, 30 legal moves resulting in 30
the case of tic-tac-toe, the result is a draw. In the case of different positions. If the opponent also has 30 replies
the match game, the second player always wins. The to each of those moves, then 900 positions result. This
possibility of playing a perfect game of chess, checkers, sort of calculation gives an estimate of 10'* as the size
or GO will now be examined. of the lookahead tree for chess (the number of paths
In order to show that an optimal strategy exists from the top of the tree to the terminal positions). If
for two-person games of skill, the principle of minimax a computer could examine a billion positions per sec-
must be explained. If the state of a game is represented ond, it would still take 10!% years to examine the entire

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

Side dishes player A

Home dish () OOOO OO (a)bere dish


player A QADOOOO playerB

Side dishes player B.

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

Visualization Computer-produced animated movies of Animation The interactive production of two-and


the time-varying behavior of real or simulated objects are three-dimensional cartoons of very high visual quality is
becoming increasingly popular. We can study mathemati- becoming ever more cost-effective through the use of
cal models for such scientific phenomena as hydraulic modern computer graphics technology. Flight simula-
flow, relativity, nuclear and chemical reactions, physio- tors are another sophisticated application of animation.
logical systems and organs, and deformation of struc- Simulators generate views not only of the fixed world in
tures under load by seeing the effects of the which the vehicle is moving, but also of special effects
transformations pictorially. such as clouds, fog, smog, nighttime lights, and other
The increase in speed, reduction of memory cost, craft of various sizes and shapes, each on its own
and improved monitor resolution have all contributed course.
to an expansion in the application of computer graphics The execution and operation of hardware or software
to scientific simulation and modeling of natural phe computer systems can also be nicely simulated and dis-
nomena. Scientific experimentation with natural sys- played graphically to show how components interact and
tems produces large amounts of data. Capturing this change values. Finally, arcade games and home video
data with a computer and using visualization techniques games simulate artificial two- or three-dimensional
to display it gives the scientist a better understanding worlds in real time, testing hand-eye coordination and
of the forces at work. This can lead to a hypothesis reaction time.
tested by computer program, which will also produce
large data sets that can be analyzed with use of visu- Process Control Whilea flight simulator or arcade game
alization techniques. The goal is to use color theory lets the user interact with a simulation of either a real or
and artistic principles to present animated images of artificial world, many other applications enable the user
multiple variable data. For example, an animated se- to interact with some aspect of the real world itself. Status
quence of warm and cold water mixing can represent displays for refineries, power plants, and computer net-
temperature by color, direction of water movement with works display data values from sensors attached to criti-
an arrow, and water velocity by the arrow size, for cal components in the system, allowing operators to
various data collection locations. respond to exceptional conditions. Flight controllers at
an airport see computer-generated identification and sta-
Cartography Computer graphics is used for the produc- tus information along with the aircraft blips on their radar
tion of highly accurate representations on paper or film of scopes and can thus control traffic more quickly and
geographical and other natural phenomena. Examples accurately than with the unannotated radar data alone.
include geographic maps, relief maps, exploration maps Spacecraft controllers monitor telemetry data and initiate
for drilling and mining, oceanographic charts, weather corrective procedures as needed.
maps, contour maps, oil exploration maps, and popula-
tion density maps. Office Automation and Electronic Publication The
use of alphanumeric and graphic terminals that create
Computer-Aided Design and Manufacturing In the de- and disseminate information in the office and even the
sign phase of computer-aided design and manufacturing home is increasing rapidly. Both traditionally printed
(CAD/CAM), interactive graphics are used to design com- documents (hard copy) and electronic documents (soft
ponents and systems of mechanical, electrical, electro- copy) can be produced that contain not just text but
mechanical, and electronic devices. These systems also tables, graphs, and other two-dimensional informa-
include structures such as buildings, chemical and power tion.
plants, automobile bodies, airplane and ship hulls (and
their contents), optical systems, and telephone and com-
Art Computer artists attempt to express artistic mes-
puter networks. The emphasis is sometimes on merely
sages and attract the attention of the public through
producing precise drawings of components and (sub) presentation of esthetically pleasing pictures. An artist
assemblies, as in on-line drafting or architectural render- uses a computer for tasks in the entire artistic process,
ing. More frequently, however, the emphasis is on inter- from sketching or ideation, through the production of
acting with a computer-based model of the component or prototypes or drafts, and then the final work, which can
system being designed, in order to test, for example, its be a traditional sculpture or painting, a computer print,
mechanical, electrical, or thermal properties. Often, the or an interactive installation.
model is interpreted by a simulator that feeds back the Very sophisticated mechanisms are available to the
behavior of the system to the display console operator computer artist for modeling objects and for the repre-
for further interactive design and test cycles. After ob- sentation of light and shadows. The range of output mech-
jects have been designed, utility programs can process anisms available to the artist for the production of the art
the design database to make parts lists, do bill of materi- work allows a good deal of variation for the look of the
als processing, define numerical control tapes for cutting final piece. Research into three-dimensional output will
or drilling parts, etc. further expand the artist’s options.
Computer-aided manufacturing (CAM) techniques
frequently make use of the database created with CAD
A Brief Historical Development of Graphics
for control of assembly line and parts fabrication ma-
chinery. Technology Computer graphics started with graph
296 COMPUTER GRAPHICS

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.

Output Technology The display devices devel-


oped in the mid-1960s and still in use today are called
vector, stroke, or calligraphic displays. They consist of
a display processor, a display buffer memory, and a CRT
with its associated electronics. The buffer stores the
computer-produced display list or display program; this
contains point and line plotting commands with coordi- PORE say
JMP e- Alphanumeric keyboard
nates as endpoint data and character plotting commands
Refresh buffer memory
(Fig. 1). These commands are interpreted by a display
eee

processor that converts digital values to analog voltages


that displace an electron beam writing on the phosphor
coating of the CRT. Since the light output of the phosphor (22ST
Seca a

decays in hundreds of microseconds, the display pro- Data tablet


cessor must cycle through the list to refresh the phos-
phor at least 30 times per second to avoid flicker; hence FIG. 1. Typical refresh display device.
COMPUTER GRAPHICS 297

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-

{Interface to host computer

Keyboard
Display
processor
Data tablet

q|
3

OOOCOOOOOOOOOCOOO:
OOCOCSOCCOOOSO0O000 E-—900C000-—-90000
—O0CO0O-CCO-00C0;

OOOCOCOCCDCOOOOSSO!
ooccoocgcccooeeoceo

FIG. 3. Typical raster graphics display.


298 COMPUTER GRAPHICS

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

cated that the members follow three simple rules: 1. STANDARDS


stay close to the center of the flock, 2. match velocity
with the neighbors, and 3. avoid collisions. His system For articles on related subjects see COMPUTER-AIDED DE-
then creates a set of actors, each adhering to these three SIGN/COMPUTER-AIDED MANUFACTURING; USER INTERFACE; WIN-
rules, and allows them to move based on their own DOW ENVIRONMENTS; and WORKSTATION.
limited perception of the world. The resulting animation
sequences show extremely realistic flocking behavior. Introduction Computer graphics standards provide
With systems based on independent actors, there is portability across computing systems and devices for
even less human effort. For some control over the result, interactive graphics applications. The variety of indi-
it is possible to put in lead actors, whose movements vidual device characteristics that must be considered
are scripted, which help to direct the other independent to achieve portability of graphical output are consid-
actor motions. erable (Fig. 1). Essentially, all computer graphics stan-
dards are interface definitions standardizing the
Fractals Fractals are not a new area of research, but protocol and information formats to the degree needed
rather an old mathematical area that has received new life to provide portability. These interfaces may be realized
with the advent of computer graphics. The term fractal is as information exchanged in a communication stream
derived from the fact that certain objects behave as if between two system components or as procedural in-
they have fractional dimensions. A line is one-dimen- terfaces to a subroutine package. All of the computer
sional, but a coast line is greater than one-dimensional graphics standards, with the exception of metafiles,
and not quite two-dimensional because, at finer and finer have been primarily implemented as subroutine pack-
resolutions, the coast line gets longer and longer without ages.
consuming any more outer area. As a one-dimensional There are two approaches that can be followed to
line forms a tight spiral into the center of a circle, it achieve portability. One is by defining a virtual device
becomes more like a plane. Mountains operate similarly which hides individual device characteristics. Using this
between two and three dimensions, and clouds between method, an application directs output to and manages a
three and four dimensions. virtual device defined by a standard interface. Software
on the device side of the interface must then interpret the
information received in order to manage the output de-
References vice and generate an image that is reasonably compatible
1985. Gardner, Geoffrey Y. “Visual Simulation of Clouds,” proceed- with the application intent.
ings of SIGGRAPH ’85 (San Fransisco, CA, 22-26 July), in The second approach is that of inquiry. This ap-
Computer Graphics 17, 3 (July). New York: ACM SIGGRAPH. proach allows the application to inquire about the ca-
1985. Peachy, Darwin R. “Solid Texturing of Complex Surfaces,” pabilities and characteristics of the device and then
proceedings of SIGGRAPH ’85 (San Fransisco, CA, 22-26 July), manage the output to use those capabilities to meet the
in Computer Graphics 17, 3 (July). New York: ACM SIGGRAPH. needs of the application. For example, the application
1985. Perlin, Ken. “An Image Synthesizer,” proceedings of SIG- may ask if a device supports multiple line styles or
GRAPH ’85 (San Fransisco, CA, 22-26 July), in Computer Graph-
multiple line widths. Depending on the reply, the appli-
ics 17, 3 July 1985). New York: ACM SIGGRAPH.
1986. Weil, Jerry. “The Synthesis of Cloth Objects,” proceedings
cation may specify either different line styles or line
of SIGGRAPH ’86 (Dallas, TX, 18-22 August) in Computer widths (or use a compensating technique if neither are
Graphics 20, 4 (August). New York: ACM SIGGRAPH. present) to differentiate lines that have particular ap-
1987. Reynolds, Craig. “Flocks, Herds, and Schools,” proceedings plication attributes.
of SIGGRAPH ’87 (Anaheim, CA, 27-31 July) in Computer Graph- In order to optimize the use of particular device
ics 21, 4 July). New York: ACM SIGGRAPH. capabilities while minimizing the overhead required to
1988. Reffye (de), Philippe, et al. “Plant Models Faithful to Botan- manage a large set of options, computer graphics
ical Structure and Development,” proceedings of SIGGRAPH standards combine the use of both the inquiry and
’88 (Atlanta, GA, 1-5 August), in Computer Graphics 22, 4 virtual device approaches. But applications and com-
(August). New York: ACM SIGGRAPH.
puter graphics requirements vary greatly. Many appli-
1989. Brown, Judith R. and Cunningham, Steve. Programming the
cations need little more than simple line drawing
User Interface. New York: John Wiley & Sons.
capability to produce charts and graphs. Other appli-
1989. McConnell, Jeffrey J. “Botanical Models Based on Three-Di-
mensional Attributed Graph Grammars,” proceedings of the
cations require significant model synthesis—full three-
Twentieth Annual Pittsburgh Conference (Pittsburgh, PA 4-5 dimensional (3-D) color images viewed from varying
May). perspectives with hidden lines and surfaces removed
1989. o. Alan H. Fundamentals of Three-Dimensional Computer and with light sources and surface textures realistically
Graphics. Reading, MA: Addison-Wesley. portrayed.
1990. Foley, James, van Dam, Andries, Feiner, Steven K., and Several standards have been developed to satisfy
Hughes, John F. Computer Graphics: Principles and Practice. the requirements for portability of different applications
Reading, MA: Addison-Wesley. and the computer graphics capability they require. The
1990. Hill, Francis S. Computer Graphics. New York: Macmillian. older and more commonly used standards are best
1990. Prusinkiewicz, Przemyslaw and Lindenmeyer, Aristid. The
suited for display of static, two-dimensional (2-D) images
Algorithmic Beauty of Plants. New York: Springer-Verlag.
and are suitable for applications having little or no user
JEFFERY J. MCCONNELL interaction. More recent standards provide support for
304 COMPUTER GRAPHICS

Output: standards. Although the standard claims to include “all


static vs. dynamic media, the capabilities that are essential for a broad spectrum
drawing modes of graphics, from simple passive output to highly in-
- calligraphic (line drawing) vs. raster (pixel painting), teractive applications,” GKS supports 2-D graphics and
drawing surface size, is best suited for display of static images and applica-
buffering tions requiring primarily discrete input. A 3-D version
- frame buffers of GKS has been defined as an international standard
- display lists iSO 8805).
resolution, The theoretical basis for GKS was conceived and
device coordinate systems, developed well before modern windowing systems came
gray scale and color capability into use, and GKS, therefore, is not directly compatible
- intensity control with such systems. GKS assumes that it controls the
- gamut (number of colors possible), entire workstation and does not share either screen
available graphical primitives space or input devices with other applications. However,
- lines, circles, fill areas, characters, etc., workaround modifications can be applied, allowing GKS
advanced graphical capability applications to be run in a windowed environment.
- hidden line removal
- illumination and shading
- geometric relationship modeling,
Computer Graphics Metafile The Computer
line styles
Graphics Metafile (CGM)? provides a means to store
- width
and transfer 2-D picture description information in a
- texture
device- and environment-independent manner for use
- joins,
by graphics production systems and applications. It
text capability
defines a presentation level interface and contains el-
- text path
ements for graphical primitives and control of the ap-
- character orientation
pearance of the graphical primitives through the use
- character sets
of attributes.
- fonts, styles, sizes, etc.
CGM supports three types of encodings for picture
Input:
description: character, binary, and clear text. The charac-
protocols and coding,
ter encoding provides an encoding of minimum size that
keyboards
may be transmitted through character-oriented commu-
- special keys
nications services. The binary encoding provides a repre-
- modifier keys
sentation that optimizes speed of generation and
- function keys and buttons
interpretation. Clear text encoding provides a representa-
- numeric keypads
tion that may be easily read and edited by humans. It is
coordinates received
intended that CGM data will be interpreted by the appli-
- absolute vs. relative
cation rather than by other standards, as the particular
device used to render a picture may not have the exact
complement of features as used for the picture descrip-
tion. The applications programmer, who presumably un-
FIG. 1. In order to achieve portability, device characteristics derstands the class of display devices available, is then
must either be made transparent to the application, or the responsible for making trade-off decisions regarding the
particulars of the device be made available for the application rendering of the picture.
to manage by means of inquiry functions.

The Computer Graphics Interface The Com-


puter Graphics Interface (CGD? is a 2-D graphics stan-
dard defining the functions for control and data
exchange between device-independent (client) and de-
the generation and maintenance of dynamic, geometri-
vice-dependent (device) parts of a graphics system. CGI
cally-related models and their display. Standards to sup-
is intended to provide portability at the device level
port windowing systems and applications designed for
use in a windowed environment have been proposed,
but may not be available as soon as anticipated by their
proponents. The major computer graphics standards are
1GKS is both a U.S. national and an international standard.
described below. The American International Standards Institute (ANSI) publishes
the GKS standard as ANSI X3.124-1985. The International Stan-
dards Organization (ISO) publishes it as ISO 7942.
2CGM is both an American standard, ANSI X3.122-1986, and
Graphical Kernel System The Graphical Kernel an international standard, ISO 8632.
System (GKS)! is the oldest of the computer graphics 3CGI is an international standard, ISO 9636.
COMPUTER GRAPHICS 305

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

5PHIGS PLUS is Part 4 of the PHIGS international standard.


4PHIGS is both an American standard, ANSI X3.144-1988, and The X Window System is a trademark of M.L.T.
an international standard, ISO 9592. ™ore specifically, the Technical Subcommittee on Com-
puter Graphics, X3H3.
306 COMPUTER-INTEGRATED MANUFACTURING (CIM)

ered products ona routine basis. The first activity encom-


COMPUTER-INTEGRATED passes not only the design of the new product, but also
MANUFACTURING (CIM) the design of the associated processes and equipment
For articles on related subjects see COMPUTER-AIDED that enable the manufacture of that product (see Fig. 2).
DESIGN/COMPUTER-AIDED MANUFACTURING; and ROBOTICS. This can be an informationally intense undertaking. For
instance, a new aircraft consists of 100,000 to 300,000
Computers in Manufacturing Computer-inte- components that must be individually specified and com-
grated manufacturing (CIM) refers to the interconnection bined into subassemblies.
of computers to enable several organizational or func- Some of the software applications that help launch
tional units of a manufacturer to share computing re- new products include computer-aided design (CAD), for
sources and information. Using CIM, production workers visualizing the design of a part and specifying its geome-
responsible for building a product can electronically ac- try. Another is computer-aided engineering (CAE), for
cess product design information generated by another testing and simulating design ideas before building phys-
group, such as the engineering department. Furthermore, ical prototypes. Computer-aided manufacturing (CAM)
the initial design data may electronically drive the pro- defines the steps that a computer-controlled machine
duction equipment so that the plant floor equipment can must follow to machine a part. Computer-aided process
manufacture a product automatically. planning (CAPP) defines the order of operations and rout-
When CIM is applied most comprehensively, virtually ings when several machine tools are required to make a
every department in the manufacturing enterprise is in- single part.
terconnected via a single computer network. These de- The second principal activity centers on the opera-
partments include purchasing, logistics, maintenance, tional aspects that begin with a customer order and cul-
business operations, and engineering (see Fig. 1). In such minate in the delivery of the product. Literally thousands
a case, the overall computer system is the dominant of intermediate steps are typically required. These in-
means for communicating information and controlling the clude acquiring raw materials, allocating equipment and
operations of the firm. The term computer-integrated en- personnel, operating and monitoring plant-floor equip-
terprise (CIE) is also used to describe this intense appli- ment, and delivering the finished product.
cation of information technology throughout the Among the software applications employed in CIM
manufacturing enterprise. Driving the integration effort is are manufacturing resource planning (MRP) systems for
manufacturing’s need to (1) improve the quality of its production planning and control. Market forecasts drive
products, processes, and services, (2) reduce the lead the MRP system. Taking into account lead times and ca-
time to bring new products to markets, (3) respond faster pacity constraints, the MRP system creates schedules for
to customer orders, and (4) reduce costs. material procurement, sets work schedules, and deter-
mines cash-flow requirements. Communication links
Information Flow in Manufacturing Informa- based on Electronic Data Interchange (EDI) alert suppli-
tion in manufacturing is centered around two major activ- ers when additional raw materials are needed. Factory
ities: (1) creating new products, and (2) transforming management systems track work in process and gather
customer orders and raw materials into finished, deliv- and analyze labor and equipment utilization data. Statis-

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

Design data Manufacturing data


Customer returns
Finished goods oi Purchased material

Supplied material
Manufacturing

FIG. 1.
COMPUTER-INTEGRATED MANUFACTURING (CIM) 307

Product Engineering Detailed Process


conceptualization analysis design considerations

Assembly Process Tool NC & robot


design planning design programming

Mfg. engineering Schedule & Engineering Engineering


analysis material planning change release change execution

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)

Paper ¢ Manual exchange


document of information
° Totally independent
systems (e.g. no electronic

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

Business Marketing and


management product
support

Distribution Common data Engineering


and logistics management and technical
services computing

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

Local area network

DCS

¢ Data acquisition Pad


e Direct machine
control

+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

Robot Machine tool Vision


controller controller system

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

New York: The Institute of Electrical and Electronics Engi- Reference


neers.
1987. Gunn, T. Manufacturing for Competitive Advantage. Cam- 1992. Kershner, H. G. Computer Literacy (2nd Ed.). Lexington, MA:
bridge, MA: Ballinger (Harper and Row). D. C. Heath.
1990. Piszczalski, M. Data Management in the Manufacturing Enter-
prise. Boston: The Yankee Group. HELENE G. KERSHNER

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

COMPUTER MUSIC tween random values chosen at a specified rate. Digital


mixers simply add source samples together, while digital
For articles on related subjects see COMPUTER ART; ENTER- amplifiers multiply each source sample by a gain factor.
TAINMENT INDUSTRY, COMPUTERS IN THE; HUMANITIES APPLICA- Such a gain factor might typically be supplied by an enve-
TIONS; and SPEECH RECOGNITION AND SYNTHESIS. lope generator, which computes attack, decay, sustain,
and release contours by interpolating between specified
Historically, the first application of computers to magnitudes over specified intervals of time. Digital filter-
music resulted in compositions such as Hiller and ing is implemented using second-order recursive differ-
Isaacson’s famous 1957 Illiac Suite for string quartet. ence equations (i.e. equations of the form O[n]=
Shortly thereafter, Max Mathews and his colleagues at Bell al[n]+bO[n—1]+cO[n—2]); the very gradual roll-off re-
Laboratories introduced the first programs for digital sulting from these difference equations gives better simu-
sound synthesis. Today, computers participate in all as- lations of formant resonances (see next paragraph) than it
pects of music making, including composition, live perfor- does of analog band-pass filtering. Digital reverberation (or
mance processing, score printing, sound production, echo, depending on the response time) is accomplished by
studio editing of performance data and digitized audio diverting samples through a delay line and feeding them
signals, and sound reproduction. back into the signal. A t-second delay line is a queue of
N=tR samples; each transit through the delay line yields
Digital Sound Synthesis The foundation of com- one echo. Although digital reverberators were described
puter sound synthesis is the technology of analog-to-digi- by Schroeder in 1962, they did not begin to be incorpo-
tal (A/D) and digital-to-analog (D/A) conversion (q.v.). rated into sound-synthesis packages until the mid-1970s.
This technology transforms a continuous audio signal Acousticians most commonly describe instrumental
into a discrete sequence of samples. Each sample quanti- tone production in terms of an active source phase cou-
fies the amplitude of the signal at an instant in time. (With pled to a passive transfer phase, and the source-transfer
the recent introduction of sampling synthesizers, the model provides the foundation for many sound-synthesis
word sample has also come to indicate a short digitized strategies. The source phase describes how energy is
signal; e.g. of a single instrumental tone.) The number of introduced into the vibrating system. Sometimes, the
samples per second is known as the sampling rate, while source is pitched, as in the glottal vibrations for the
the number of bits accorded to one sample is the quanti- human voice or the buzzing of lips into a trumpet mouth-
zation. Both of these factors significantly affect sound piece; sometimes the source is unpitched, as in the rasp-
quality. The frequencies represented in any digitized sig- ing of a bow against a violin string. The transfer phase
nal are limited to half the sampling rate R, since samples accomodates the various resonances present in the sys-
are required to represent both the “up” and “down” tem. Harmonic resonators, such as strings and tubes,
phases of an oscillation. Any attempt to digitize frequen- nurture specific source overtones, thus producing clear-
cies above this ceiling—including upper harmonics of pitched tones. Formant resonators, such as the cavities of
complex timbres—leads to foldover (also called aliasing); the vocal tract or the sounding body of a stringed instru-
the out-of-range frequences are reflected back down ment, nurture (or suppress, in off-line resonators, such as
below R/2. Digitized waveforms also suffer from distor- the nasal cavities) wider frequency bands.
tions owing to imprecise quantization. Rudimentary The source-transfer model of tone production is
sound synthesis, such as that used in early video games, sometimes known in the electronic music world as “sub-
employs 8-bit quantization at sampling rates around 10 tractive synthesis,” since the transfer phase tends to elim-
kHz for a maximum frequency barely exceeding the high- inate frequency components from a rich source
est pitch on the piano. Quality audio processing employs spectrum. Early attempts to simulate natural string tones
16-bit quantization at 48 kHz per channel, which fully digitally coupled an oscillator, simulating the vibrating
accomodates the ear’s frequency limit of 20 kHz. string, with several formant filters, simulating the reso-
Early computer sound-synthesis environments, such nances of the sounding body..In 1970, Winham and
as Max Mathews’ MUSIC4 and MUSIC5 programs, im- Steiglitz generated pulse waves with equal-amplitude har-
plemented software simulations of devices employed in monics, based upon the trigonometric identity
“classical” electronic music studios. Each device was sim-
ulated by a re-entrant software module, anticipating by
some 20 years an important premise of object-oriented
1 + 2(cos x + cos2x +...+cosNx ) = Sin eMih
Hie NEEM
G2)
sin(x/2)
programming (q.v.): instantiation. In Mathews’ programs
and in their contemporary descendents, a control lan- This method provided a truly neutral, foldover-proof
guage enables the user to describe a computer music “in- source whose ultimate character could be shaped en-
strument” as a coupling of signal generators (e.g. tirely by filtering. The feedback intrinsic to digital filtering
oscillators and noise generators) and signal modifiers often leads to unpredictable shifts in amplitude, espe-
(e.g. mixers, amplifiers, filters, and reverberators). Digital cially when several narrow-bandwidth resonances are
oscillators store a single cycle of a waveform in a digitized cascaded, but these amplitude shifts can be “normalized”
table; they produce different fundmental frequencies by out by dividing the signal’s average power (derived by
stepping through this table at variable rates. White noise is smoothing squared sample values with a low-pass filter,
simulated by generating random values for each sample; then calculating the square root) back into the signal. One
low-pass noise is simulated by interpolating linearly be- of the more dramatic applications of the source-transfer
COMPUTER MUSIC 313

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.

COMPUTER NETWORK. see Locat AREA OVERALL SCOPE


NETWORK; METROPOLITAN AREA NETWORK; and NETWORKS,
COMPUTER. Computer science is concerned with information pro-
cesses, with the information structures and procedures
that enter into representation of such processes, and with

COMPUTING RESEARCH their implementation in information processing systems.

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?

3. Computer architecture (q.v.) . Software engineering (.v.)


This area deals with methods of organizing hard- This area deals with the design of programs and
ware (and associated software) into efficient, re- large software systems that meet specifications
liable systems. Fundamental questions include: and are safe, secure, reliable, and dependable.
What are good methods of implementing proces- Fundamental questions include: What are the
sors, memory, and communication in a machine? principles behind the development of programs
322 COMPUTER SCIENCE, ACADEMIC

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

GB = gigabyte 1,000,000,000 bytes (also 1,024 MB)


TB = terabyte 1,000,000,000,000 bytes (also 1,024 GB)

For economical and technological reasons, storage


devices come in many sizes, speeds, and costs. They
range from inexpensive, low-capacity, slow devices (e.g.
floppy disks - g.v.) to larger, more expensive, faster ones
(e.g. nonremovable or hard disks (qg.v.), and tapes),
suitable for permanent storage of the information of
large commercial, governmental, or educational enter-
prises.
From a use viewpoint, most storage, which can be
hundreds of gigabytes in size, is organized into files (q.v.)
FIG. 1.
that are retained in the system unless explicitly deleted or
replaced. This requires nonvolatile media, such as disk or
tape. “Nonvolatile” means that stored contents are re-
The Hardware Subsystem Fig. 1 shows the exte- tained even if electrical power is removed by shut-down
rior appearance ofa typical very large system’s processor
or failure.
complex. Fig. 2 schematically shows the major hardware
Storage with faster access (by a factor of 10,000
components of a computer that can be classified into a
or more) than disk storage is physically composed of
number of categories:
semiconductor chips and is used in the computer’s
main storage or memory. Although far faster than file
Transducers Transducers are hardware devices that storage, semiconductor storage is far more expensive
change information from one physical form to another, per byte and is held to smaller capacities (megabytes).
linking the computer with its environment. They include Also, semiconductor memory is volatile, meaning that
keyboards, video screens, printers, plotters and various its contents are lost when its power is removed. Al-
interactive input devices (q.v.) such as the trackball and though this sounds ominous, in fact it is not, since its
mouse (@q.v.). contents are needed only during actual processing, and
any information that must be retained longer is easily
Storage Devices The same devices store two distinct copied to nonvolatile file storage. Because of its speed,
types of information: 1) data, and 2) instructions (pro- main storage, and a related, even faster semiconductor
grams). The most elementary unit of stored information type, called the cache or buffer, has the special “priv-
is the bit (a0 or 1 value). For most purposes, a byte, which ilege” of being directly accessible by fast central pro-
is a group of 8 bits representing 256 possible values, or a cessing units (CPUs).
character of the system’s character-set are treated as an
elementary stored unit. Because storages can be very Central Processing Units (CPUs) The term “CPU” de-
large, certain multiples of a byte are typically used to rives from the fact that for a long time each computer
express storage capacities: system contained only one processor, and this is the case
even today for many smaller systems. The CPU is in many
KB = kilobyte = 1,000 bytes (also 1,024 bytes) ways the heart of the computer system. It does its work
MB= megabyte= 1,000,000 bytes (also 1,024 KB) directed by instructions, most of which operate on data.

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

COMPUTER VIRUS recompilation. Just as worms are destroyed by simulta-


neously rebooting all affected machines, viruses are
For articles on related subjects see COMPUTER CRIME; DATA
eradicated by simultaneously recompiling all affected
SECURITY; HACKER; and LEGAL ASPECTS OF COMPUTING.
programs. However, under special circumstances a bug
can survive recompilation even though it resides in bi-
A virus is a piece of program code that attaches
nary rather than source code (and is thus undetectable
copies of itself to other programs, incorporating itself
by inspection). In a language compiler that is written in
into them so that the modified programs, while still pos-
the language it compiles (a common bootstrapping prac-
sibly performing their intended function, surreptitiously
tice), it is possible to implant a bug that re-inserts itself
do other things. Programs so corrupted seek others to into the binary code whenever the compiler is recom-
which to attach the virus, and so the “infection” spreads. piled.
Successful viruses lie low until they have thoroughly infil-
trated the system, and then and only then reveal their
History and Examples The idea of a maliciously
presence by causing damage.
self-propagating computer program originated in
Viruses work by altering disk files that contain the
Gerrold’s 1972 novel When Harlie Was One, in which a
compiled version of otherwise harmless programs. When computer program called telephone numbers at random
an infected program is invoked, it seeks other programs until it found another computer into which it could
stored in files to which it has write permission, and infects spread. Worms were also presaged in science fiction by
them by modifying the files to include a copy of the virus Brunner’s 1975 novel The Shockwave Rider. The first ac-
code and inserting an instruction to branch to that code tual virus program seems to have been created in 1983 as
at the old program’s starting point. Then thé virus starts the result of a discussion in a computer security seminar
up the original program so that the user is unaware of its and described at the AFIPS Computer Security Confer-
intervention. ence the following year. In 1984, Ken Thompson, in his
A virus can spread on a multi-user system with Turing award (q.v.) lecture, showed how a self-replicating
shared disk facilities, or in a personal computer environ- bug can infest a compiler or other language processor, as
ment where users download programs from bulletin noted above.
boards (q.v.) or share floppy disks (g.v.) or other remov- Virus attacks were not reported until a few years
able media. In the former case, file protection schemes thereafter, and so far have been more in the nature of
can limit spreading the virus provided that users do not electronic vandalism than serious subversion. One of the
execute each other’s programs. If A executes one of B’s first occurred in late 1987 when, over atwo-month period,
programs that is infected, A’s programs risk becoming a virus quietly insinuated itself into IBM-PC programs at a
infected, since programs that A invokes normally have Jerusalem university. It was noticed because it caused
permission to alter its own files. Even when they never programs to grow longer (due to a bug, it repeatedly
-execute one another’s programs, infection can spread reinfected files). Once discovered, it was analyzed and an
from A to B through an intermediary. In practice, it is hard antidote devised. It was designed to slow processors
to guard against infection in an environment that encour- down on certain Fridays, and to erase all files on Friday,
ages program sharing. In personal computer environ- 13 May.
ments, viruses generally spread from one floppy disk to At about the same time, another PC virus invaded
another by infiltrating the system disk, often a hard disk Lehigh University, and a much-publicized “chain letter”
(q.v.). Christmas message spread itself by self-replication, clog-
ging the Bitnet network. The latter was eradicated only by
Other Malicious Programs The term “virus” is a massive network shutdown. Early 1988 saw a relatively
also a popular catch-all for other kinds of malicious soft- harmless Macintosh virus designed to distribute a “mes-
ware. A logic bomb or time bomb is a destructive program sage of peace,” and a number of other viruses appeared
activated by a certain combination of circumstances, or for this and other personal computers. By that time talk
on a certain date. A Trojan horse is any bug inserted into about viruses had invaded the news media.
a computer program that takes advantage of the trusted At 9 P.M. on 2 November 1988, a worm program was
status of its host by surreptitiously performing unin- inserted into the Internet computer network by Cornell
tended functions. A worm is a robust distributed program graduate student Robert Morris, Jr. It exploited several
that invades workstations (g.v.) on a network. It consists security flaws in SUN and VAX systems running Unix to
of several processes or “segments” that keep in touch spread itself from system to system. Although discovered
through the network; when one is lost (e.g. by a worksta- within hours, it required a huge effort (estimated at 5,000
tion being rebooted), the others conspire to replace it on hours and $200,000) by programmers at affected sites to
another processor—they search for an idle workstation, counteract and eliminate the worm over a period of
load it with copies of themselves, and start it up. Like weeks. Again, it was unmasked by a bug: under some
viruses, worms spread by replication; unlike them, they circumstances it replicated itself so fast that it seriously
run as independent processes rather than as part of a slowed down the infected host. Morris was subsequently
host program, and can occupy volatile memory rather indicted on charges that exposed him to a possible sen-
than disk storage. tence of five years imprisonment and a fine of up to
To escape detection, viruses normally reside in $250,000. On 21 January 1990, Morris was convicted and
binary rather than source code and thus do not survive in May 1990 he was sentenced to three years probation
330 COMPUTER VISION

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

vision and constructing higher-level descriptions of the


scene. Some components of this task are shape analysis,
object recognition, and object localization. This level is
also referred to as high level vision, and involves more
knowledge-based processing than early vision. In the ex-
ample image of an orange, scene analysis would involve
recognizing that the circular orange-colored region was
an image of an orange. This recognition must be based on
the system having knowledge about the nature of or-
anges, and the ability to make inferences based on the
visual information.
The division between early vision and scene analysis
is not firm. Many computer vision systems have partial
information generated by the scene analysis processing
feed back to the early vision processing to be used in
refining the initial descriptions to make them more useful
for the scene analysis processing. Several iterations
through this feedback and feedforward process may be Image
required to generate the final scene descriptions. Another
sense in which the division is not firm is that some re- FIG. 1a.
searchers refer to three levels of vision: low level, inter-
mediate, and high level. Again, the exact boundaries project to the same image. But notice that the image in Fig.
between these three levels are not distinct. la does not appear to be ambiguous; we do not perceive
all possible scenes. Thus, humans either use some addi-
Why Computer Vision Is Difficult The goal of tional high-level information about the world to interpret
creating computer vision systems that can “see” was images unambiguously (such as knowledge about rectan-
initially thought to be rather easy. The argument was gles, for example), or they use some general constraints to
made that computers are very powerful. For example, rule out multiple interpretations. There is psychophysical
even though the solution of simultaneous differential evidence that humans use both strategies, but the surpris-
equations is very difficult for humans, computers can ing result is that the high-level knowledge appears to pro-
readily solve them. So, if we take a task that is trivially vide less information for disambiguating scenes than the
easy for humans, such as vision, it should be even easier lower-level general constraints. This can be illustrated by
to implement it on a computer. Yet when computer scien- drawing an arbitrary squiggle and observing that it gener-
tists and engineers first attempted to give computers a ates a single percept, even though it does not depict a
visual sense, they failed completely. The problem was familiar object. This suggests the idea that there must be
that there is a fallacy in the simple argument used above. some additional general constraints that humans use in
While humans are conscious of most of the stages of perceiving images.
processing involved in solving simultaneous differential
equations and thus can realize the complexity involved,
most of the processing involved in visual perception re- Determining Constraints for Vision One ofthe
mains subconscious. So while the process of encounter- primary tasks in computer vision is to find a set of con-
ing, say, a yellow Volkswagen in the environment and straints that would allow a computer to interpret images
using our visual sense to determine that there is a yellow unambiguously. The constraints can be either features in
Volkswagen currently present in our environment may the image that can be used to make inferences about the
feel like a simple process, it actually involves many inter- scene, or regularities of nature that can be exploited.
elated levels of computational processing. Uncovering There are four main techniques for determining such
just what those levels of processing are and expressing constraints: the engineering approach, the statistical ap-
them as algorithms is one goal of computer vision. proach, the biological approach, and the physical ap-
Vision is difficult because it is an underconstrained proach.
problem. For example, an image is a two-dimensional pro-
jection of a three-dimensional scene, but there can be
infinitely many three-dimensional scenes that project the Engineering Approach to Determining Constraints
same two-dimensional image. Thus, given just the single The engineering approach relies on the intuitions, intro-
image, it is impossible to determine which of the possible spections, and prior knowledge of the system designer as
scenes is depicted in the image. For example, the image in to what the important image features should be, and how
Fig. la appears to depict a rectangle, but the actual scene such features should be interpreted. This approach was
from which this image arose is seen in Fig. 1b: it consists of used in much of the early work in computer vision, and
four thin wires that do not touch. But the image in Fig. la continues to be used in many machine vision systems.
could just as well have been the projection of a scene Although this approach has been successful in some ap-
containing a rectangle (Fig. 1c). This simple example plications, its lack of a theoretical basis makes it less
illustrates that it is possible to have two scenes that both desirable than some of the other approaches.
332 COMPUTER VISION

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

[op code] [address] Address Number of Systems


1 33
where [address] points to a particular memory cell. 2 6
Control instructions fitting this structure were JUMP, 3 12
address; JUMP IF ACCUMULATOR POSITIVE, address; 4 6
etc. In both zero-address and one-address structures, Combinations 8
successive instructions came from sequential locations Total 65
in memory as specified by a program counter (q.v.) which
progressed in units of one until a jump occurred. The A similar compilation today would show a prepon-
EDSAC (q.v.) was an example of a one-address computer. derance of one- and two-address systems, where often the
The IBM 700-7000 series of computers were another addresses refer to registers rather than memory cells.
example.
Multiple Address versus Multiple Instruction
Two-Address Instructions Early computers can In early computers, memory was small (rarely more than
be divided into two groups according to memory or- 1,024 words), so addresses were ten bits or less. Ten-dec-
ganization—those with random access (Williams’ tube imal digit precision implied word lengths of 30 to 40 bits,
memory (g.v.), and somewhat later, magnetic cores) so the designer’s problem was to fit an op code-address
and cyclic memory (mercury delay lines, and a little structure into the desired word length. Many one-address
later, magnetic drum memories). In mercury delay line systems stored two instructions per word, whereas three-
memories (see ULTRASONIC MEMORY), several words (8 to and four-address systems could efficiently have one in-
32, say) circulate in a line and are sequentially available struction per word.
at the output. The time from the availability of the first
to the availability of the last bit of a word might be Address Modification Only one of the first comput-
32 microseconds, and the time to the next appearance ers had index registers (the B-box on the Manchester
of this word might be 300 to 1,000 microseconds. A University Mark I), but designers soon realized their
similar relationship holds for drum memories. With this value. This forced designs toward one-address systems
structure, faster programs could be written if each in- because of the word length compatibility and the pres-
struction had a second address specifying the location sure for simple control structures.
of the next instruction. This implied that instructions Since many operations in programs (particularly
were no longer sequentially located but were scattered operations related to control) involve operations with
through memory so as to become available at the op- small integers, designers sometimes provide a modifier
timum time. This concept was used by the ACE computer indicating that the “address” is the actual operand
at the National Physical Laboratories (England, 1946) (saving a memory access). Such addressing is called
and later in such computers as the Bendix G15 and immediate. In the other direction, the address might
the IBM 650. A more common use today of the two- point to a location in memory that contained a pointer
address format, [opcode] [A] [B], has both addresses (g.v.) to still another location, etc. (indirect addressing).
referring to memory locations for operands so that, for Add to this the capability of indexing these various
example, ADD [A] [B] means add the contents of A to addresses, and we see that the address has evolved
the contents of B and place the result in B (or, oc- from a simple explicit integer to a potentially quite
assionally, A). complicated function. This complexity has also been a
strong force toward one-address structures. However,
Three-Address Instructions Motivated by the fact the utility of source-destination structures has caused
that arithmetic operations usually involve two operands continued use of two-address instructions, although, as
and a result, a number of early computers used three noted above, one or both of these may refer to registers.
addresses in arithmetic instructions. Examples include
MIDAC (University of Michigan) and NORC (Naval Ordi- Short Word Length Computers. The advent of
nance Research Computer). Thus, ADD [A] [B] [C] means 16-bit word minicomputers in the 1960s (the earlier Whirl-
add the contents of A to the contents of B and place the wind | at M.I.T. was also a 16-bit computer) and, more
result in C. recently, the 8- or 16-bit microcomputer, and the decline
in the cost of logic (so that multiple registers and much
Four-Address Instructions Some designers also larger memories are prevalent) placed other pressures on
specified the location of the next instruction, using three designers. The PDP-11 structure represents one relatively
addresses for arithmetic purposes. The EDVAC, SEAC, successful approach to this problem by using one- and
and SWAC were examples of this structure. Thus, ADD two-address instructions.
[A] [B] [C] [D] means add the contents of A to the The PDP-11 had 8 registers (RO to R7) with R6 being a
contents of B, place the result in C, and take the next stack pointer and R7 a program counter. Each instruction
instruction from D. Since every instruction is a potential consisted of an op code (4 or 10 bits), and one or two
jump, no unconditional jump instruction is needed on addresses. The address consisted of a 2-bit MODE, a
such computers. single bit specifying DIRECT/DEFERRED, and a 3-bit gen-
In 1955, Weik reported on 65 computers giving the | eral register specification. In two-address instructions,
following distribution. the addresses specified source and destination.
COMPUTERS IN SOCIETY 335

Reference that it is difficult even to understand its failures, much


1955. Weik, M. H. “A Survey of Domestic Electronic Digital Com- less to predict or prevent them. The likelihood of such
puting Systems.” Ballistic Research Laboratories, Aberdeen failures, coupled with our growing dependence on the
Proving Ground, Report No. 971. underlying technology, represents an important social
problem. Second, there is also a risk of success. As com-
Harry D. HUSKEY puters become essential to an ever-widening range of
human activity, the nature of those activities and the
social relations surrounding those activities will also
change.
COMPUTERS, PERSONAL. See Dict. Com-
This article looks first at the phenomenon of our
PUTERS: HISTORY: PERSONAL COMPUTERS; and PERSONAL COM-
growing dependence on computers and the ways in which
PUTING.
this dependence has been shaped by technological prog-
ress. It then examines the risks of both failure and suc-
cess, considering first the question of computer
COMPUTERS IN SOCIETY reliability and the social implications of computer failures
and then the effects of the growing use of computers on
For articles on related subjects see BULLETIN BOARD; Com- the individual and on society as a whole.
PUTER CRIME; COMPUTER LITERACY; COMPUTER VIRUS; DATA
SECURITY; ELECTRONIC FUNDS TRANSFER SYSTEM; ELECTRONIC The Growing Dependence on Computers
MAIL; ELECTRONIC OFFICE; HACKER; HANDICAPPED, COMPUTERS On a historical scale, computers are a recent technologi-
AND THE; HUMAN FACTORS IN COMPUTING; INFORMATION ACCESS; cal phenomenon. Sixty years ago, no digital computer yet
LEGAL ASPECTS OF COMPUTING; LEGAL PROTECTION OF SOFTWARE; existed. By 1990, there were an estimated 200 million
PERSONAL COMPUTING; POLITICAL APPLICATIONS; PRIVACY, COM- computers worldwide, and the count has been doubling
PUTERS AND; and SOCIAL SCIENCE APPLICATIONS. every two years. Moreover, since the appearance of the
first computer systems, there has been a consistent trend
Introduction Because the rapidly diminishing cost of toward vast increases in computing power at ever de-
computers over the last decade has made it increasingly creasing cost. Robert Noyce, one of the inventors of the
cost-effective to use them in more diverse ways, comput- integrated circuit and founder of Intel Corporation, ob-
ers have become ubiquitous. Computers are integral to served in Scientific American that, compared to the early
communications, government, the military, medicine, ENIAC (q.v.) of 1946, the typical modern computer chip
and most everyday business. When we visit the bank, we (g.v.) “is twenty times faster, has a larger memory, is
are likely to use an automatic teller machine. If our job thousands of times more reliable, consumes the power of
once required a typewriter, odds are good that we now a light bulb rather than that of a locomotive, occupies
use a word processor. When we make an airline reserva- 1/30,000 the volume, and costs 1/10,000 as much.”
tion, request a telephone number from directory assis-
tance, or even order a meal in a fast-food restaurant, a The Personal Computer Revolution This continued im-
computer system is likely to be centrally involved, even if provement in price-performance ratio has had some pro-
we, as consumers, are not always conscious of that fact. found effects, particularly in the last decade, most
As computers have become enormously useful, soci- notably the development and explosive growth of the
ety has become increasingly dependent on this technol- personal computer industry. The first personal computer
ogy. And with increasing dependence comes increasing appeared in 1975; by 1990, there were an estimated 100
risks. For many years, any such risk was assumed to be million personal computers worldwide. In 1980, personal
insignificant in comparison to the enormous and largely computers represented a $2 billion industry; by 1990, the
self-evident promise of computing technology. However, total worldwide market was $45 billion. The power of the
as various incidents within the last decade have demon- personal computer has increased as dramatically as its
strated, such risks are real, and interest in understanding availability. Hardware has advanced in numerous ways:
them and in assessing the long-term social effect of com- processors are faster, memory capacity has increased by
puting technology began to grow. Many computer science several orders of magnitude, peripheral devices (includ-
programs in colleges and universities now require ing laser printers, telecommunications devices such as
courses in “computers and society” or “computers and modems, and input devices such as the hand-held mouse)
ethics,” and several academic journals now explore these have made revolutionary progress, size has been reduced
issues. We have also seen the creation of new organiza- to the point that truly portable computers are common-
tions, such as Computer Professionals for Social Respon- place (see LAPTOP COMPUTERS), and the price for all of these
sibility or the Association for Computing Machinery’s features has dropped sharply. Concurrently, software for
Special Interest Group on Computers and_ Society personal computers has also been radically transformed
(SIGCAS), dedicated to promoting the responsible use of in recent years, both in terms of the expected styles of
computing technology within society. interaction and in the way in which software is developed
The risks associated with computers take two princi- for popular consumption.
pal forms. First, there is a risk of failure. Designing a Based on the philosophy that computers should be
computer-based system, particularly when it requires ex- sufficiently easy to understand that they can be used by
tensive software development, tends to be so complex nontechnical persons, the early 1980s witnessed a consid-
336 COMPUTERS IN SOCIETY

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

keyboard and reduce accidental key depressions and vel- RESNA


cro strips connected in a way that allows a control key to 1101 Connecticut Avenue NW, Suite 700
be held down while a second key is depressed. More Washington, DC 20036
complex designs have involved scanning keyboards which
use a single switch that can be controlled by any part of As computers become smaller and less expensive
the body (foot, tongue, eyebrow, etc.). Another solution and new disciplines such as expert systems (g.v.) and
involves a resident program which displays the next most artificial intelligence (g.v.) continue to mature, new appli-
probable character sequence after any character is hit. cations that will provide additional improvements to the
The next character is then selected from a small keyboard lives, education, and employability of the disabled will
keyed to the displayed characters. A keyboard has also surely follow.
been designed for those persons requiring the use of a
head, mouth, or hand stick for input called the 2DOF (two References
degrees of freedom) keyboard. The 2DOF keyboard has
1987. “Communication, Control, and Computer Access for Dis-
key channels through which the user moves the stick to
abled & Elderly Persons,” Resource Book 3. Boston, MA: Col-
select the desired key. Two actions, select and send, are lege Hill Press.
required to input a character, a process that eliminates 1988. “Resource Guide for Persons With Mobility Impairments.”
the multiple and incorrect character input problems. In National Support Center for Persons with Disabilities, P.O. Box
addition, up to 16 characters can be assigned to any key, 2150, Atlanta, GA 30055.
and the keyboard generates audio output that speaks the
character or characters selected. Everett L. JOHNSON
Other techniques for input involve voice input, opti-
cal systems that track eye movement, light-sensitive keys
selected by lightpens, and touch screens. Output capabil-
ities include text-to-speech and braille text writers, in
COMPUTING CENTER
addition to those output devices used by the able-bodied. For articles on related subjects see APPLICATIONS PROGRAM-
The most prominent user of scanning keyboard and text- MING; DATA PROCESSING; DATA SECURITY; DISTRIBUTED SYSTEMS;
to-speech devices is Dr. Stephen Hawking, the noted Cam- OPERATING SYSTEMS; PROCESSING MODES; SYSTEMS PROGRAM-
bridge physicist. Though severely disabled by Lou MING; and TIME SHARING.
Gehrig’s disease, Dr. Hawking communicates with stu-
dents and the general public by using a PC especially A computing center provides computing services to a
adapted to his limited physical abilities. This is an excel- variety of users through the operation of computer and
lent example of the application of using computers to auxiliary hardware, and through ancillary services pro-
allow society to benefit from contributions of the dis- vided by its staff.
abled.
Educational software has been written specifically Services Fundamentally, there are four services pro-
for the disabled that uses their abilities and experiences vided by a computing center: machine operation, systems
for teaching purposes. Increased resolution CRTs, im- programming, application system development, and data
proved graphics capabilities, and inexpensive mass stor- control, scheduling, and quality control.
age devices have provided new tools for preparing
educational software that utilizes voice and animation in Machine Operation The operating system and the ma-
order to improve education for both the able-bodied and chine operator must communicate about the running of
the disabled. An excellent resource book is available that some applications. This is accomplished via the
contains listings and descriptions of both devices and operator's console, usually a display screen with a key-
software for communication control and computer access board and a printer for hard copy. The operating system
for disabled and elderly individuals (1987 reference). A sends messages to the console indicating that operator
resource guide for persons with mobility impairment is intervention is required. For example, if the printer jams,
available from IBM (1988 reference). thus inhibiting its action, it usually indicates a “turned-
Several professional organizations now have commit- off” state to the operating system when a program issues
tees whose activities are directed toward the application a request to print. Upon noting the printer in a turned-off
of computing for the betterment of the disabled. Addi- state (either due to a jam or other failure), the operating
tional information on the subject may be obtained from system would issue a message to the operator, indicating
these organizations. the condition. Once the problem had been cleared, the
operator would key an “all clear” into the console to
IEEE Computer Society indicate the back-to-normal condition.
TC on Computing and the Handicapped Of course, in very simple computers, the communica-
1730 Massachusetts Avenue, NW tion is much more simple-minded. The computer issues
Washington, DC 20036-1903 the request to print and then just waits until the informa-
tion is transmitted. If the printer is jammed or turned off,
ACM SIGCAPH everything comes to a standstill until the problem is
1515 Broadway rectified. Either way, the operator must notice that the
New York, NY 10036 machine is waiting for some operation, know where to
COMPUTING CENTER 343

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.

Concurrent C Concurrent C is a superset of C (g.v.)


CONCURRENT PROGRAMMING that provides parallel programming facilities. It has also
For articles on related subjects see ADA; CONCURRENCY been integrated with C++, which extends C to provide
CONTROL; GUARDED COMMAND; MODULA-2; MULTIPLEXING; MUL data abstraction facilities [Stroustrup 1986; Gehani and
TIPROCESSING; MULTITASKING; PARALLEL PROCESSING; and PETRI Roome 1989]. A Concurrent C program consists of a set
NET. of components, called processes, that execute in parallel.
ro Processes interact by means of transactions, which can
be synchronous or asynchronous.(To avoid confusion
Introduction Concurrent programming is becoming with “database transactions,” the term “transaction”
increasingly important because multicomputer architec-
shall mean a Concurrent C process interaction. Trans-
tures, particularly networks of microprocessors, are rap-
actions are like remote procedure calls, with one im-
idly becoming attractive alternatives to traditional portant difference: the receiving process can schedule
maxicomputers (minicomputers and mainframes). Con- acceptance of the calls.) Synchronous transactions im-
current programming facilities allow the natural expres- plement the extended rendezvous concept (as in Ada):
sion of concurrency, and they exploit the parallelism, if two processes interact by first synchronizing, then ex-
any, of the underlying computer system. Concurrent (par- changing information (bidirectional information transfer)
allel) algorithms occur in a wide variety of application and, finally, by continuing their individual activities. A
domains, such as operating systems (q.v.), databases, process calling a synchronous transaction is forced to
simulation (g.v.), weather prediction, real-time system wait (unless it times out) until the called process accepts
design, scientific applications (g.v.), artificial intelligence the transaction and performs the requested service.
(g.v.), and robotics (g.v.). Specifically, concurrent pro- With asynchronous transactions, the caller does not
gramming is important for many reasons [Hoare 1978; wait for the called process to accept the transaction;
Gehani and Roome 1989]: instead, the caller continues with other activities after
issuing the transaction call. Information transfer in asyn-
e Concurrent programming facilities are notation- chronous transactions is unidirectional: from the calling
ally convenient and conceptually elegant for writ- process to the called process.
ing systems in which many events occur
concurrently (e.g. operating systems, real-time
systems, and database systems). Summary of Facilities Concurrent C extends C for par-
e Without concurrent programming facilities, pro- allel programming by providing facilities for:
grammers are forced to implement parallel sys-
tems and algorithms as sequential programs. e Defining processes. (A process definition consists
Thus, the program does not reflect the structure of of a process specification, i.e. a process type, and
the system or algorithm implemented, and this a process body.)
makes the program hard to understand, analyze, e Creating processes (using the create operator).
and maintain. e Specifying the processor on which a process is to
e Efficient utilization of multiprocessor architec- run (using the processor clause of the create
tures requires concurrent programming. operator).
e Concurrent programming can reduce program ex- e Specifying, querying, and changing process priori-
ecution time, even on uniprocessors, by allowing ties (using the priority clause of the create
input/output operations to run in parallel with operator and library functions).
computation. e Synchronous transactions (for synchronous bi-
directional information transfer).
The only disadvantage of concurrent programming is that e Asynchronous transactions (for asynchronous
it adds complexity to a programming language. For exam- unidirectional information transfer).
ple, a concurrent programming language introduces addi- e Delays and timeouts (using the delay statement
tional syntax and semantics for defining program and the within operator).
components that can run in parallel and for controlling e Interrupt handling (using the c_associate func-
350 CONCURRENT PROGRAMMING

tion, which associates interrupts with transaction File: bettor.cc


calls).
e Waiting for a set of events (using the se] ect state- fHinclude “bettor.h”
ment, which allows a process to wait for a set of process body bettor(first, limit)
events, such as the arrival of transactions and the
{
expiration of a delay without the necessity of poll- int mybet = 1, yourbet = 1;
ing (q.v.). process bettor opponent;
e Accepting transactions (using the accept state- accept playwith(player)
ment) in a user-specified order (with the by clause opponent = player;
of the accept statement) and selectively (using Une GE NAS)
guards of the select statement and the opponent.placebet(mybet) ;
suchthat clause of the accept statement). while (mybet > 0 && yourbet > 0) {
e Process abortion (using the c_abort function). accept placebet(bet)
e Collective termination automatically. (When all
yourbet = bet;
processes in a program are waiting at a termi-
if (hisbet > 0) {
nate alternative of the select statement, the mybet = yourbet + 1 + rand()%100;
whole program terminates automatically.) if (mybet > limit)
mybet = 0;
An Example We now show a Concurrent C program that opponent.placebet(mybet);
models a very simple two-person betting game [Gehani }
and Roome 1989]. Each person is modeled as a process of }
type bettor. The two processes take turns betting. To Lf MCPATSty
place a bet, one process calls the other with its bet. A if (mybet > 0)
player’s bet is his or her opponent’s last bet plus a ran- printf(“I won; last bet %d\n”,mybet);
dom number between 1 and 100, provided that the total else
does not exceed the player’s betting limit. If it does, the printf(“I lost; last bet %d\n”,yourbet);
player gives 0 as a bet, signifying that the player has lost.
One process is designated as the first bettor, and initially
calls the other with a bet of 1. After this, the processes Each bettor process first waits to get the id of its
alternate between waiting for the next bet (waiting for a opponent bettor process, and then it alternates be-
transaction call) and placing a bet (making a transaction tween placing a bet and accepting a bet (the first bettor
call). The processes continue until one of them places a process starts by placing a bet, while the second bettor
bet of 0. The first bettor prints the results. process starts by accepting a bet).
Here is the specification of the bettor process. Finally, here is the main process:

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: }

b.placebet() The main process creates the two bettor pro-


cesses and records their IDs (the values returned by
the create operator). It then calls transaction play -
bettor bettor with of each bettor process to inform it of its oppo-
a b nent.
Although the program shown is quite simple, this
program structure can be used for implementing more
a.placebet() sophisticated game-playing programs.
CONSTANT 351

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.

PARAMETER (PI = 3.14159,HANDLE =’ TABMAT’)


Originally, the term contention was used to describe
defines the indicated constants and thwarts any attempt a communication system where the terminals, or lines,
(in the program) to change their associated values. The were competing fora circuit and the first one to find it free
same results are achieved in Pascal via the following obtained it. This concept can be generalized to the case
declaration: of multiple users (jobs, tasks, processes) competing for
sharable resources (processors, channels, devices). For
const
example, in a multiprogramming system, two jobs may
pi = 3.14159; simultaneously require the use of tape drives, thus possi-
handle = ’TABMAT’; bly exceeding the capacity of the installation. This over-
flow situation would lead to contention delays, since one
Arbitrary Constants While a symbolic constants job would have to be put temporarily in a waiting state.
name may bearbitrary, the value associated with it must Another example can be found in the case of a multipro-
conform to one of the data types predefined for the lan- cessing system where a process can be split into several
guage. However, some languages such as Pascal and Mod- tasks and the number of tasks ready to be processed in
ula-2 (q.v.) enable the programmer to define an arbitrary parallel is larger than the number of available processors.
data type and an associated roster of “allowable” values Contention is solved by using priority schemes; the
for it. For example, the declarations simplest one is a first-come-first-served strategy. How-
ever, all processes contending for a shared resource
type
peach = (cling, stark, elberta, redhaven, mushchik); must be remembered so that they will, in turn, be able
var to use it. In addition, access to the shared resource
dessert : peach; must be synchronized. This implies the presence of
queues, or buffers, with adequate synchronization mech-
define a data type named peach and equip it with the five anisms associated with each sharable resource.
assignable values shown in the parentheses. Declaration
of dessert, then, establishes that variable as being of the
JEAN-LOUP BAER
CONTROL APPLICATIONS 353

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

The introduction of the microcomputer chip (q¢.v.)


FIG. 1. Block diagram of a system.
has modified the term “control” to the extent that we need
to distinguish between digital contro! and analog control.
The inputs and outputs from a digital control system are thus requiring the modification of the transfer function.
no longer continuous with time as was the case with Some of these variations may be beyond the direct influ-
analog control systems. The microcomputer, and indeed
ence of the designer or the resulting control system.
A system such as a simple lawn sprinkler will deliver
any computer, must share its time domain with that of the
external world to which it is interfaced. As such, input and
an amount of water depending upon the setting of the
water faucet and the length of time the water is allowed
output is sampled and/or changed in discrete time inter-
to run. This is based on the assumption that the lawn
vals. Additionally, almost-random events must be ac-
watering process is satisfied by providing a predeter-
counted for and correctly handled by the discrete nature
mined quantity of water per unit area. Achieving this, in
of a digital control. Continuous, discrete, and sampled
turn, depends upon a constant-pressure water supply.
data can now be handled properly, and all are embodied
What we have just described is an open-loop system, (i.e.
in the term automatic control. od
the setting of the faucet will suffice to provide the correct
amount of water). If we elected to measure the amount of
Control Theory Control refers to the function water descending upon a sample area of the lawn, then we
whereby the outputs of a device, a process, or a system could arrange for extending or reducing the duration of
can be maintained at a desired value by specifying only the sprinkling period to accommodate variations in water
its inputs. These generally are spoken of as the input pressure and thus to provide the requisite amount of
signal and the output signal. The relationship between water.
them is defined as the transfer function and is represented, Systems where we measure the success of reaching
in its simplest form, by the block diagram in Fig. 1. the target value and feed back the deviation from the
There are no guarantees that by adjusting only the target value are called closed-loop systems. Closed-loop
input the desired output will be achieved. First, it must be systems are eminently suited for those situations where
determined if a static series of input settings will produce we need to overcome anticipated or random variations
corresponding output reliably. Observations must. be in the system itself or in the environment in which the
made to establish the relation between input and output, system operates. The difference between the desired
the transfer function. If these observations reveal a stable value and the actual value at any time is called the
relationship, then we have succeeded in building a con- “error,” and the objective of any closed-loop control
trol system. However, in many applications both internal system is to manage all the adjustable aspects of the
and external parameter variations can affect the stability system so as to drive the error to zero. A block diagram
of the transfer function or influence the system’s output, for a generalized closed-loop system is shown in Fig. 2.

SYSTEM

n+
CUZ.
CVHAC
AHA
OHABTOHAPFPAPUVEON AxdXSmMeEemrem

FEEDBACK OF OUTPUTS

FIG. 2. Block diagram of a closed loop system.


354 CONTROL APPLICATIONS

LOAD

THROTTLE AUTOMOBILE
SETTING SPEED
TRANSMISSION

FIG. 3a. Block diagram of an open-loop automobile speed control system.

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

RELEASE RESUME MANUAL LOAD


POSITION

SET SPEED

ACCELERATOR VEHICLE SPEED


PEDAL
ACTUATOR

FIG, 3b. Block diagram of closed-loop automobile speed control system.


CONTROL APPLICATIONS 355

advent of inexpensive and compact microprocessors


(¢.v.) saw their introduction not only in speed controls
but also in ignition and combustion systems (see EMBED-
DED SYSTEMS). There were two advantages. First, the micro-
processors played an integral role in the control system,
but their function was easily simulated in larger computer
systems used just for the purpose of designing and eval-
uating the proposed control systems. This not only re-
duced the amount of trial and error in the design process,
but also allowed for inexpensive exploration of the perfor-
mance of the intended control system and its algorithm.
The control algorithm is the plan for achieving the
desired control result. It provides the schema for calculat-
ing what changes must be made in response to changing
inputs and outputs. In the example just discussed, we find
both continuous and discrete operations. The automatic
speed controller allows: the setting of a desired speed,
the set point, to be locked in; cancellation of the auto-
matic speed control process by depressing the brake
pedal; activation of the system to resume automatic oper-
ation with the original set point speed; and using the
control system manually to move to a new speed and
establishing that as the new set point.
The control algorithm, that is, the equations that han-
dle the error signal, generally apply one or more of three
standard control actions, although more complex forms
can be defined. The net action to be taken is a combination
of proportional, integral, or derivative terms, each com-
bined with the appropriate constants (Kuo, 1991):

1. A proportional or gain term, with constant K,.


2. An integral or summation term, with constant K;,,
3. A derivative or difference term, with constant K a

The output from the controller will be the sum of one or


more of these actions. The proper values for the con-
stants K,, K,,K, are set by the control engineer to suit the
particular situation.
These combined control actions are so frequently FIG. 4. ‘The Allen-Bradley 1771-PD Microprocessor-based PID
Controller. (Courtesy of Allen-Bradley)
used, that the name PID (proportional, integral, deriva-
tive) is used to describe the control algorithm. This PID
control action is applied in most of the control loops used hicles. Sensors for some of these additional inputs are
in today’s process control applications. Digital micropro- available; others remain to be developed. Electronic high-
cessor versions fill catalogs (see Fig. 4). The current rapid way or “drive-by-wire” control systems are receiving atten-
increase in the price-performance ratio of the microcom- tionin many parts of the world. The complexity and cost of
puter, coupled with the availability of hardware interfaces such systems would easily increase cost over the current
to “real world” signals, has provided the control engineer speed control by an order of magnitude, but are said to
with new and affordable control analysis and simulation provide many advantages for relieving driver fatigue and
tools to evaluate proposed solutions to control problems. optimizing the use of the highway system. The implied
What has been described is an automobile speed con- complexity leads us to discuss acombination or collection
trol system and not an automatic automobile driving sys- of controls combined to managea whole process.
tem. For example, the system does not sense that there Process control involves the automatic control of
may bea slower moving vehicle immediately in front of the manufacturing, material handling, or treatment pro-
automobile or even a brick wall! The system is unable to cesses. These processes were once manually or mechan-
sense that the road may curve quickly to the right or left, ically controlled. Parameter levels were manually
requiring that the vehicle speed must be changed to nego- measured, adjustments were calculated, set points were
tiate the curve safely. To accommodate these new goals, mechanically changed, etc. As a result, a kind of “batch”
the control system would have to be changed to allow for process control mode prevailed.
the additional inputs. Input signals would have to be pro- The advent of microprocessors in the control arena
vided about road conditions and the spacing between ve- allowed the digital control system to move rapidly into
356 CONTROL APPLICATIONS

“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

FLOW FROM THE


NEXT PROCESS
ea ares ol inna aor

CONTROL VALVE
ALGORITHM POSITIONER

Digital Controller

FIG. 6. Tank control loop.


358 CONTROLDATA CORPORATION (CDC) COMPUTERS

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

Loosely-Coupled Network (LCN)—Lets customers


build a high-speed (50 megabits per second) “back-
bone” into their local area network for the transmis-
sion of jobs/files among connected mainframes and
supercomputers. Hardware and software products
support communication between CYBER main-
frames, Cray Research supercomputers, Digital
Equipment mainframes, and IBM mainframes, over
the local backbone and at speeds up to six megabits
per second between remote backbones.
NSC Product Suite—Enables customers to intercon-
nect Control Data workstations and computer sys-
tems with computers offered by other system
suppliers. Here, Control Data augments CDCNET
and LCN connectivity by offering all of the local and
FIG. 2. Control Data CYBER 910 Workstation.
remote networking products offered by Network
Systems Corporation (NSC). Available products in-
clude HYPERchannel hardware and NETEX soft-
application to disciplines such as finite-element analysis ware.
(g.v.) and computational fluid dynamics. Desktop/VE for Macintosh—Enables Macintosh users
CYBER 910-600/700 workstations and CYBER 920 to work with NOS/VE-based CYBER mainframes and
servers may be configured with two, four, or eight 33 perform such functions as host-login, file manipula-
MHz RISC processors, providing a maximum sustained tion, file editing, and application execution, using
performance up to 234 MIPS and 30 double precision familiar Macintosh-like conventions such as multi-
MFLOPS. ple windows, pull-down menus, mouse devices, and
CYBER 910 workstations and CYBER 920 servers in- icons (see APPLE COMPUTER).
corporate reduced instruction set computing (RISC) pro- CONNECT VIEW—Enables PC users to work with
cessors from MIPS Computer Systems Inc. NOS/VE-based CYBER mainframes and perform
such functions as host-login, file manipulation, file
High-Performance Peripherals High-performance main- editing, and application execution, using conven-
frame disk subsystems, including the Disk Array Subsys- tions such as pull-down menus and mouse devices.
tem, provide sustained transfer rates of up to 16.7 Vista Application Link—Allows users to download data
megabytes per second. Other CYBER peripherals include from Control Data CYBER, DEC VAX/VMS, or Unix-
200-inch-per-second magnetic tape subsystems, band based systems in Lotus 1-2-3, Symphony, or dBase,
printer technology, and optical disk subsystems. To com- without rekeying any data. Micro-to-mainframe
plement information server and archiving software, CDC communications interfaces allow users to obtain
markets a robotic storage device called the Automated data from PC programs without having to under-
Cartridge Library, a tape storage system that offers ex- stand the larger system.
tremely low storage costs and stores up to 19 terabytes of
data.

Complex Information Management Products


Networking and Connectivity Control Data has
adopted the International Standards Organization’s Open Specific information management products include:
Systems Interconnection (OSI - g.v.) model as its network-
ing standard for CYBER mainframe computer systems. ORACLE Relational Database Management System—In-
Control Data’s intent is to move from proprietary commu- corporates several features that promote inte-
nications protocols toward a full, native OSI network im- grated information management. For example,
plementation in order to meet the schedules in the U.S. SQL*STAR lets users maintain an application pro-
Government OSI Profile (GOSIP). gram on one system while its related database re-
Specific networking and connectivity products in- sides on a different system. In addition, ORACLE
clude the following: supports the SQL standard for user/program access
to databases.
CDCNET—Enables customers to build local area net- IM/DM Relational Database Management System—
works by using ethernet media. In turn, customers Also supports a distributed database feature
can extend these 10-megabit-per-second local area (DMNAM)that lets users maintain an application
networks (LANs - g.v.) into wide area networks by program on one system while retaining its related
using appropriate CDCNET products called network database on a different system.
device interfaces. To add multivendor connectivity, EDL—Represents an information integrator capable of
CDCNET includes such features as TCP/IP, NJE, managing data generated by multiple applications
HASP, and IBM 3270 support, as well as asynchro- programs across multivendor workstations and
nous terminal passthrough. mainframes. End users can request data without
CONTROL STRUCTURE 361

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. <>»

THOMAS A. CHARLAND and to (2) unconditionally or conditionally (depending


upon the value of a boolean expression [B]) transfer
execution control to such points, using goto (branching)
statements.
CONTROL STRUCTURE
For articles on related subjects see COROUTINE; DATA STRUC- goto(L)
TURES; EXCEPTION HANDLING; PROCEDURE; and STRUCTURED PRO- if( B) goto( L)
GRAMMING.
The conditional goto involves two possible paths of
A control structure is a programming language con- execution, as shown, one of which continues sequential
struct that specifies a departure from the normal se- control (if{ B ) is false) and the other ¢ B ) true) transfer-
quential execution of statements. In its broadest sense, ring control to the specified label.
this includes calling a procedure, resuming a coroutine,
and initiating tasks, all of which involve transferring
True
the path of execution to another program unit. (In the (Transfer to Specified Label)
case of recursion, the “other” program unit is a copy
of the calling program.) It also includes, in its broadest False ; :
(Continue with Next Statement)
sense, the “parallel” (simultaneous) performance of two
or more operations within a given program unit. In its
more common usage, however, control structure refers
With conditional and unconditional goto statements,
to the facilities for controlling the sequence of statement
arbitrary execution control may be achieved. Typically, in
execution within a given program unit, and includes
programming languages, labels are either numbers (e.g.
special facilities for selection control, repetition control,
in Fortran: GO TO 210) or alphanumeric identifiers (e.g. in
and exception handling. The description here is limited
Ada: goto MATCH-FOUND).
to this more common view. Usually, such facilities are
While the goto is, in principle, sufficient for all
in the form of “extended” statements, involving several
conceivable intra-program sequence control, in practice
parts in different lines—hence, the term control struc-
it is not generally the most satisfactory in a high-level
ture.
language environment. Most need for execution control
is limited to a few highly systematic patterns. When
Arbitrary Control The normal pattern of program implemented with gotos, such control patterns are not
execution is sequential control, in which statements are especially apparent to the reader of the program, which
executed in the order they appear. If (.S1) and ( S2) are detracts from the understanding of the program. By
eacha program statement (or self-contained sequence of the same token, primary reliance on gotos for specifying
statements) that performs some processing (e.g. assign- control when writing programs tends to be error-prone.
ment, !/O, or procedure call) then This was pointed out by Edsger Dijkstra in a now
classic letter (1968). Bohm and Jacopini (1966) showed
ee eS Oe Ola Sv that essentially any control flow can be achieved without
<S2> the goto by using appropriately chosen sequential,
selection, and repetition control structures. Therefore,
represents the execution of ( 51 ), followed immediately high-level general-purpose programming languages in-
by the execution of ( S2). A pictorial representation of clude, among their features, facilities designed expressly
sequential control is for optimum implementation of these and other com-
monly found control patterns. Software development

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.

Virtually all useful programs (except those consist-


ing only of procedure calls) involve intra-program ex- Selection Control A very common control pattern
ecution path control different from sequential control, is that of selectively executing, or not executing, a se-
and therefore all programming languages provide facil- quence of statements ( S), depending upon the current
362 CONTROL STRUCTURE

value (true or false) of a boolean expression ( B ). The { Bn) then{ Sn)


control structure for such a control pattern is as follows, [else (Sn + 1)]
with the equivalent control using goto shown below the endif
pictorial representation.

if( B) then( S) endif

if not( B) goto( L);( S)


Gis):

Another common pattern has one group of state-


ments,(51 ), being executed if( B) is true, and a different
if not (B1 ) goto( L2)
group, (S2), if( B) is false. { $1);goto( L1)
( L2):if not( B2) goto L3)
if( B) then( S1 )
{ S2 ); goto( L1 )
else( S2 ) @E3)):
endif

(Ln): notin detaGnn +1)


{ Sn) goto{
L1 )
(in + 1)2°.Sn+ 1)
Gib):
Since there are no restrictions on the boolean expres-
sions in this n-way selection control structure, more than
if not( B) goto( L2) one such expression may be true (else is always consid-
($1); goto{ L1) ered to be “true”). Still, at most one statement group is
CL2)i(S2') executed—that one associated with the first true boolean
(L1): expression—and none may be executed (if there are no
true boolean expressions and the else option is absent).
This latter structure, which is simply an extension of the Square brackets, as around the else portion of the above
first one with the optional else S2 ) part, is known as the structure, denote optionality.
if-then-else selection control] structure, and (with minor In none of the selection control structures is there
syntactic variations) is the most commonly found selec- any restriction on the statements that any (S) may con-
tion control structure in high-level languages. tain. And, in particular, any (S) may contain other
Another common control pattern is that of selecting (nested) selection control structures. n-way selection
one group of statements to be executed, from among control may be achieved using nested if-then-else struc-
3, 4, 5, or more different statement groups. In general, tures, for example. Therefore, the above n-way structure
one can think of n groups of statements (n > 0), (S1), provides no additional functionality over the if-then-else,
(S2),..., (Sn), from which (at most) one group is to be but highly nested structures detract enough from pro-
selected for execution. The conditions governing the gram readability that the arbitrary n-way selection struc-
selection are formulated as a set of boolean expressions, ture is desirable. Note that if-then-else is simply a special
(B1), ( B2),..., (Bn), as may be appropriate for the case of n-way selection—i.e. for n = 1.
needed control, so that if(Bl ) is true ( S1) is selected; The n-way selection structure described above is a
otherwise, if (B2) is true (S2) is selected and, in highly sequential selection mechanism, involving an or-
general, for the first ( Bi) that is true, the corresponding dered evaluation of a sequence of boolean expressions.
{ Si) is selected. Another common selection pattern involves, conceptu-
ally, “parallel” selection of one from among several state-
if(B1) then(S1 ) ment groups. Here, the selection conditions are disjoint
{ B2) then
( S2) relations involving constant values, so that, in principle,
selection may be “immediate” and not require the evalua-
tion of a sequence of boolean expressions. The case selec-
tion structure is often used to express such “parallel”
CONTROL STRUCTURE 363

selection. If (X) is an expression, and ( V) is a constant


value of the same data type as( X ), the case structure has
the form shown below.

case
( X)
{ V1) then(
$1 )
{ V2) then(
S2)

{ Vn) then ( Sn)


[else (Sn + 1)]
endcase
A special application of this structure is described in
the next section on repetition control.

Repetition Control An extremely important aspect


of programming is the specification of repetitive execu-
tion of a statement group ( S). The following structure,
with its goto equivalent on the bottom, will repeat execu-
tion of (S) indefinitely.

loop
(S)
endloop

Since the({ V)s are disjoint, their order in the case


structure is immaterial. Also, any { V) may consist of a
set or range of values, rather than just a single value,
oy
as long as all of the ( V)s remain disjoint. As with the
n-way if, there may be any number of cases in a case
structure and the else part is optional. In some case
(L1)
implementations, if the value of (X) does not match
(S)
goto( 11)
any of the( V) values and the else part is omitted, then
GEZ»:
an error condition exists, from which recovery must be
made (see exception handling below) or execution of
The above loop control results in an infinite loop
the program is terminated. unless execution of one of the statements in { S) causes
A significant variation of the case structure is the either program termination (e.g. execution of a stop state-
replacement of the expression ( X ) with an arbitrary pro- ment) or a branch out of the loop (e.g. goto { L2 )). A loop
gram segment S ). At various points in this program seg- exit statement is one whose purpose is to cause termina-
ment, the case value groups are identified for subsequent tion of loop execution, and is equivalent to goto ( 12 ).
execution (e.g. with a statement such as select( V)). Such Loop exits are normally conditional, and may have a form
a selection structure, generally known as a Zahn structure, equivalent to
provides for arbitrary selective execution based upon the
results of an arbitrary algorithm, and has the general form if ( Be ) exit
given below.
where ( Be ) is the loop exit condition. A common exten-
case selection: ( V1 ),( V2),... ,¢ Vn) sion of this is to allow specification of some end-of-loop
(S) processing{ Se ) prior to exiting the loop:
{ V1 ) then(S1 )
( V2) then( S2 ) if ( Be ) then( Se ) exit

This is useful if the loop has different end-of-loop process-


ing requirements at different exits.
(Vn ) then( Sn) Conditional exit statements can provide any kind of
[else (Sn + 1)] loop control; whether or not( S) is executed again may be
endcase controlled completely by the use of exit statements. For
364 CONTROL STRUCTURE

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-

ms tures is that of proceeding directly to the next repetition


cycle of a loop:

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:

loop while ( B ) loop{ C) with exits ( £1 ),{ E2),... ,( En))


(S) (S)
endloop endloop
{ E1 ) then( $1)
loop { E2) then( $2)
if not( B) exit
(S)
endloop
{ En) then( Sn )
A number of variations of these loop facilities are endexits
implemented in various computer languages, and occa-
sionally an entirely different kind of control is defined and where( S1 ),{ S2),... ,( Sn) are the different post-loop exit-
implemented for (C). One such class of variations is processing routines corresponding to exits( E1 ),( E2),...,
365

eee nl
CONTROL STRUCTURE

pepe tots Pec hot eee dooj doo|puse


oppua
(S$) (S$) (S$)
(Ss) doo (2x )* (1X ) UE (J )405
(ex Xa XIX = (7)44 (g )apiym op
(g@ ))anym op
doo} doojpue
oppua
(@)) ayn (S$) (S$)
S )op (S$) (S)4<7)
(Ss) op doo] (g )eTtu
)=(7) OP
(ey yor tx )=X7 soy (IXD] {2x DIX (gq )igun
(2x )Aq ( ly )woy op (J )jxou
(s) doojpue
(gq )tpun (¢ )yeede1 oppua J) suldkipa (7 ) w4ojsad
(s) [8x )dais] (&X) (S$)
(Ss) doo] Zuidoo7] “9
op <q )iuun (7) w4ojsad (gq papyn oj { ly )— (I 404
(§$ )op(g )eTqm
aseopue
{ JQa]as pua [( I*tg ) — siamo uay)
pue Jajas pua
) [( +g )ynpyap aoeasv2] ( tg )aynnyap ( 1g )asyaBerasv2
(4g (44
ig
Bx wey
(2% ){ % ) asD9 (2% )(% ) aspo (% )e— (% ) Oy
(% XZ ) (% )(% )) asvo (Ig )— (14 ) meq
(Ig )(1A Y aso (J )uo Supuadap (Ig )X % ) asvo} (Ig )( 1A ) aspo
(ig XM ) (X ) asp9 JDa]as Jo (X )aseo esen 'S
(x) asp yoajas (YT) (27) KIT ) 0108 (xX )) youms
yo (Xx )aseo
jipua yjpue
jipua [( Hug )asta]
(( bug )asya ) [( 4g )asja]
J18]2 yisja
s1asja (2% )uamp ( 2 ) FIST®
(2g )uays {2g ))#2812 < (% ) uays ( 2g )5188/8
(Ig )uays (1g ps! (Ig pomp ( 1g )3st yoursg-Aem-U "p
(Ig )uays ( tg ))J! esje-Usy}j! peyseu as]e-Usy}-j! peyseu
ase-Usy}-}! pe}seu
jipua yipue
jipua [( 25 )asqa)
[2g )asja] [<2 )asa] [( 2g )asa]
[( 2g )ost?) [< 2g )asa] (Ig pam(g Da asje-usyr-JI “€
(Ig puays (Cg ))s! (ig (gs (ig Ca Ds (Ig )uays ( g Ds
(Ig )uem (git
TAA 0708 (( g ))J! ool vayn(g)s! FyPUS TAqVT 0308 uetp (g I
QO 0308 amp (J )3 OOT 0708 (( g ))J! AAV 0708 (J )J! Bulyouerg “7
TaaVT O08 00T O108 Jaa 01038
001 0308 OOT 0708 gaa 0108
(( TAGV )) adurexe jaqe’] “1
Taavl
e e e e a . Tadv1 00T
Se
001 oor
vay ainyeo,j
TOdOO ) olsvd
TWOSVd 06 NVU.LYOd
“L ATaVl
366

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.

then, instead of terminating, program execution would


resume from the point at which the exception occurred.
Presumably, the statements in (.S) preceding recover COROUTINE
would provide suitable corrective action so that resumed
program execution is sensible. For articles on related subjects see ACTIVATION RECORD;
In addition to the intrinsic exception cases, some PROCEDURE; and SUBPROGRAM.
368 COROUTINE

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

CROSS-ASSEMBLERS AND the goals of communication security, authentication, and


COMPILERS digital signatures.
The transformation used to encipher a message typ-
For articles on related subjects see ASSEMBLER; COMPATIBIL- ically involves both a general method, or algorithm, and
ITY; COMPILER CONSTRUCTION; LANGUAGE PROCESSORS; and PorR- a key. While the general method used by a pair of corre-
TABILITY. spondents may be public knowledge, some or all of the
key information must be kept secret. The process of
Cross-processors, a term that includes both cross-com- transforming (enciphering) a message is to apply the
pilers and cross-assemblers, are programs written to run on enciphering algorithm to the message, where the key is
machine A (called variably the development machine, the used as an auxiliary input to control the enciphering. The
controller, the host, or the front end), to produce programs reverse operation (deciphering) is performed similarly.
to be run on machine B (called the target machine or the Classical encryption techniques involve such opera-
main processor). Thus, A is running a program (the cross- tions as substituting for each message letter a substitute
processor) written in a language acceptable to A. The letter; in this case, the key is the correspondence between
input to this program are statements in assembly language message (plaintext) letters and the enciphered message
for machine B (for a cross-assembler) or in any language (ciphertext) letters. Such substitution ciphers can also be
for machine B for which there exists a cross-compiler. based on substituting for two or more letters at a time.
The output of a cross-processor is machine language Another common technique is to use a transposition
for machine B, which is then down-loaded from machine cipher which permutes the order of the message letters
A to machine B. Downloading is the process by which the using an algorithm whose steps are determined by a key.
host computer transfers binary core imagés (or some- Many complicated hand or mechanical ciphers have been
times coded information) into the target computer so that developed in the last few centuries; see Kahn (1967) for
the target computer can then proceed with program exe- details. These techniques are insecure in general; the
cution. The data for the program is either read directly by breaking of the German Enigma cipher during World War
machine B or is part of the downloaded binary or coded Il attests to the vulnerability of even complicated rotor-
image. machine ciphers (see Colossus).
The two major uses of cross-processors are indica- The one-time pad is a technique that provides the
tive of their versatility. Cross-processors are used for ultimate in security: It is provably unbreakable. To enci-
production of software for machines whose hardware is pher a 1,000-bit message, however, requires the use of a
not yet available or is just being designed and evaluated. 1,000-bit key that will not be used for any other message.
In this case, machine B may be initially a simulation rather Each ciphertext bit is the exclusive-or of the correspond-
than actual hardware, to be later replaced by actual hard- ing message and key bits. The one-time pad is used only
ware. Cross-processors are also used for production of in very important applications (like the Moscow-Washing-
programs for target machines whose specialized instruc- ton hot-line) because of the expense in creating and dis-
tion set is not suitable for software production (e.g. signal
tributing the large amount of key information required.
processors or array processors) or whose cost may make Cryptosystems, which, unlike the one-time pad, de
them too expensive and thus not cost effective for compi-
pend upon an amount of key information that is indepen-
lation (e.g. vector machines, supercomputers (g.v.), mas-
dent of message length, are breakable in theory. What
sively parallel machines). makes them usable in practice is that the person trying to
GIDEON FRIEDER break the cipher (the cryptanalyst) must use an impracti-
cal or infeasible amount of computational resources in
order to break the cipher. These ciphers are constructed
so that the “work-factor” in breaking them is high enough
CRT. See TerMINALs. to prevent a successful attack.
The major application of cryptography today is for
data transmitted between computers in computer com-
munication networks and for computer data encrypted
CRYPTOGRAPHY, COMPUTERS IN for storage.
The most widely used cipher in the U.S. for the en-
For articles on related subjects see COMPUTER CRIME; DATA
cryption of stored or transmitted computer data is un-
COMMUNICATIONS; and DATA SECURITY.
doubtedly the Data Encryption Standard (DES), which was
designed at IBM and approved as a standard by the Na-
Cryptography is the science of transforming messages
tional Bureau of Standards in 1976. The DES enciphers a
for the purpose of making the message unintelligible to all
64-bit message block under control of a 56-bit key to pro-
but the intended receiver of the message. The term data
duce a 64-bit ciphertext. The enciphering operation con-
encryption refers to the use of cryptographic methods in
sists of roughly 16 iterations of the following two steps.
computer communications for the same reason, but also
implies the additional goals of providing assurance to the
1. Exchange the left half of the 64-bit message with
receiver that the message is not a forgery, and/or allowing
the right half.
the receiver to prove to a third party that the message is
not a forgery. These various aims are called, respectively, 2. Replace the right half of the message with the
370 CURRENT AWARENESS SYSTEM

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.

C = M*(mod n). RONALD L. RIVEST

That is, Cis the remainder of M° when divided by n. Here


all quantities are large numbers (several hundred bits
long), and n is the product of two very large prime num-
CURRENT AWARENESS SYSTEM
bers p and q. The security of the cipher rests mainly on For articles on related subjects see INFORMATION RETRIEVAL;
the practical impossibility of factoring the number n into LIBRARY AUTOMATION; and MEDLARS/MEDLINE.
its parts p and gq. The deciphering operation is similar,
except that the exponent is different: A current awareness system is a system for periodi-
cally notifying users of the acquisition of selected items
M = C “(mod n). of information (often literature or electronic messages of
CURRENT AWARENESS SYSTEM 371

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

User Profile Matching


interests construction operation

Profile
storage

Profile
revision

Revision of t User
document ued
evaluation notifications
indexing

FIG. 1. Typical simplified selective dissemination service.


372 CYBERNETICS

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

A. States of equilibrium of equilateral triangle or cone


Stable ° ¢+—— Unstable
Neutral

B. Representation of stability of system S (6)


having one essential variable (Tilt-angle 6, here)
<——— Stable —_______»-1t_____—_——- Unstable —»
region 60° region
6 (Degrees)

FIG. 1. A system whose stability depends on one independent variable.

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

tial variables within which it can comfortably retain its


vital functions. Therefore, in cybernetics “regulation” (a) 2| =|

commonly means keeping a system not necessarily com-


pletely intact, but substantially “the same.” It means keep-
ing the system together, as a whole, and identifiable as the
same system, and, ifit is alive, surviving.
It is this special meaning of the word regulation that
gives cybernetics its particular pattern—its paradigm. We
conclude that the paradigm of cybernetics is the regula- (b)
tion of its essential variables for maintaining a system in
states such that its identity as a system remains continu-
ously the same, before and after displacements of the
variables. Or we can say that the paradigm of cybernetics
is keeping certain system variables within certain limits,
such that the system survives.
The real significance of variety lies not in absolute (c)
amount, but in the possibility of its increase or decrease.
We increase sensory variety when we gather data, de-
crease it when we summarize, compress, or abstract. Both
processes are necessary for cognition. However, “lower”
arsed
cognitive processes are associated with data gathering or
increase in concrete sensory variety, whereas “higher”
cognitive processes are associated with data condensa-
tion, abstraction, or decrease in concrete variety.
mir fa

When the variety shown by a system under one set of


conditions is less than that shown by the system under
another set of conditions, the relation between the two
sets of variety is a constraint (Ashby, 1968, p. 127). For FIG. 3. Regulation of a system through Law of Requisite
example, suppose two couples (A and B, or four voters) Variety.
can each independently vote for R or D. Then, the number
of distinguishably different outcomes is 24 = 16 and the
variety is log, 16 = 4 bits. If, however, Mr. A always defers show paths DTR and DTER, progressively less effective.
to Ms. A’s judgment and votes the same as Ms. A, the Perfect regulation (Fig. 3(b)) would leave E isolated from
number of different outcomes is 8, and the variety shown external disturbance (i.e. unaware because of non-com-
is log, 8 = 3 bits. If, further, Mr. and Ms. B always vote R, munication that a disturbance had occurred).
the variety in the outcomes is log, 2 = 1 bit. The progres- A system is said to be well regulated when, through
sive decrease in variety from 4 bits to 3 to 1 corresponds the intervention of the regulator and the environment, a
to increase in constraint on the system showing the vari- disturbance cannot permanently drive the system from a
ety. Returning to the requirement for regulation—that state in which it is stable (retains its structure and func-
there must exist some constraint in order to predict the tion—‘“survives”). Lack of regulation occurs when the
behavior of a system—it is apparent that to regulate a system is transformed to a state from which it cannot
system is to impose a constraint on its variety. return to a stable state (i.e. cannot survive).
The cybernetics of constrained and unconstrained The principal law of cybernetics (credited to Ashby,
sets was advanced by the insight of Wiener (1948), who 1968, p. 206) is the law of requisite variety. This states that,
said that “the transmission of information is impossible if log V, is the variety in the possible ways in which a
save as a transmission of alternatives,” and by Shannon’s disturbance D can affect a system E (to be regulated by a
observation that “the significant aspect is that the actual regulator R) and if log V, is the variety in R’s alternatives
message is selected from a set of possible messages” (optional ways of response to D), the variety in the possi-
(Shannon and Weaver, 1949). Thus, regulation implies the ble outcomes (log V,) affecting E cannot be forced by R
capability to prevent occurrences of unfavorable alterna- below the limit (log V, — log V,), or log (V,/V,) = log V,,
tives. Therefore, it implies transmission of these alterna- This law applies to all forms of regulation and is
tives to the regulator, which in turn must respond with a independent of field of science or technology or of spe-
command message directed toward preserving the stabil- cific mechanism. Loosely interpreted, it means that—as-
ity of the regulated system. suming the disturbance, environment, and the system
Fig. 3 shows the basic elements of a regulatory sys- itself are fixed and cannot be altered—the only way to
tem. The system whose essential variables (E) are to be increase E’s probability of survival is to increase R’s vari-
kept within certain limits depends on communication of ety (R’s versatility, or the number of different modes of
variety between system disturbance (D), the regulator response that R can make in order to protect E’s stability
(R), and the environment (T). The most direct regulation as affected by D). However, satisfying the law by increas-
is DR, shown in Fig. 3(a). The signal arrives from D in time ing V, does not guarantee perfect regulation (i.e. perfect
for R to act on T before T affects E. Figs. 3(c) and 3(d) shielding of E). Just as the existence of constraint is
CYCLETIME 375

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.

CYCLE STEALING The cycle time of a computer is the time required to


For articles on related subjects see CHANNEL; and MEMORY: change the information in a set of registers. This is also
MAIN. sometimes called the state transition time.
The register cycle time of a processor is sometimes
Cycle stealing is a technique for memory sharing referred to as the internal cycle time, clock time, or simply
whereby a memory may serve two autonomous masters cycle time; occasionally, confusion develops between the
and in effect provide service to each simultaneously. One internal cycle time (referenced to registers) and the main
of the masters is commonly the central processing unit memory cycle time. The memory cycle time is usually
(CPU - g.v.), and the other is usually an I/O channel or several times the internal cycle time.
device controller. Fig. 1 illustrates two memory cycles The internal cycle time may not be of constant value.

Access to memory

by CPU

by 1/O

Time
Cycle 6
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5

FIG. 1. Cycle stealing.


376 CYCLIC REDUNDANCY CHECK

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:

CYCLIC REDUNDANCY CHECK


M(x) = a, + a,x ++ +a,_.x*~' =) a,x!
For articles on related subjects see CODES; ERROR-CORRECT- ()
ING CODE; and PARITY.
If we wish to include r CRC bits, r < k, M(x) is multiplied
In modern computer systems, data is continuously by x’ (this is equivalent to shifting the message bits r
transferred between the main processor and its periph- places to the right). Let G@&) be another polynomial—
erals, storage, or terminals. Errors may be introduced called the “generator” or “checking” polynomial—of de-
CYCLIC REDUNDANCY CHECK 377

Invalid check (4)


Received VRC bits
Generated VRC bits

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 (#)

Generated LRC bits

Received LRC bits


End-of-block character

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) |

where R(x) is the remainder and Q(x) is the quotient. The


code word W(x) is The remainder, R(x), is generated by the shift register
(which is initially at 00000) as follows:
Wx) = Q00Gx) = x M(x) + R(X) mod2, (4)

Message Bit Shift Register Contents


and what is transmitted are the coefficients of Wx). Stage 12345
Note that W(x), which is of degree r + k — 1, contains 10101
the original k message bits (the x’M(x) term) and r check 11111
bits (the R(x) term). Furthermore, W(x) is exactly divisi- 11010
01101
ble by G(x). The division by G(x) at the transmitting end
00110
is accomplished by an r- stage shift register with feedback
00011
paths represented by the coefficients of G(x), as shown in 10100
Fig. 2. On the receiving end, W(x) is also divided by G(x), 11111
and the remainder in this case must be 0; otherwise, an 11010
error has occurred. OOoOrFfr
One
-—-
coo
= 11000
Consider the following example related to the shift
register shown in Fig. 2. Let the message be 1010010001. The final content is R(x). Each successive shift register
Therefore, M(x) = 1+ x2 +x>+ x With G@) =1+x? + content represents a successive stage of the division of
x4 +x°, modulo 2 division of x° M(x) by G(x) yields x°M(x), remembering that only the bits of x°M(x), which
have been already transmitted at each stage, take part
24+
x8 4x74
Oe) =1ltxt+x x8 4H in the division. When all message bits have been trans-
378 CYLINDER

W(x) encoded message


M(x) bits to be encoded
(or decoded message
for transmission (or checked
if in receive mode)
on receipt)

——<—
A
Switch 1

a Shift in O's
i(th) stage of shift register [+]

Exclusive OR (modulo 2 add)

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

Five access arms Cylinder

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

pre maut 6.4 ” ‘aes ei! tor Sorry \ Pedite. 428


r) % " eine = thew ae Wives, > F Fcliat ap
; ES Siiey aR *, | aes “1h UD
iestal Pye. -, 7
, : wy ¥ in i g ;
i
a -
are 7 x
“s c 7

iAP )8® ng Wud a SEs ite


‘ ' — 7 - 7 Wit _ —— Pa

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:

. Analog and digital input cables;


DATA COMMUNICATIONS
. Analog to digital converter;
. Disk or tape cassette for storage; For articles on related subjects see BANDWIDTH; BAUD;
. Central processor; CHANNEL; CODES; COMMUNICATIONS AND COMPUTERS; COMMUNI-
CATION CONTROL UNIT, CONDITIONING; CONTENTION; CYCLIC RE-
Main memory; and
DUNDANCY CHECK; ECHOING; ERROR-CORRECTING CODE; MODEM;
ANOperator console.
hWNe MULTIPLEXING; NETWORK PROTOCOL; OPEN SYSTEMS INTER-
CONNECTION; PACKET SWITCHING; PARITY; PROTOCOL; SYNCHRO-
For low-volume data acquisition, a floppy-disk drive may
NOUS/ASYNCHRONOUS OPERATION; TELEPROCESSING SYSTEMS;
be substituted for the disk drive or tape cassette. Pro-
and TERMINALS.
grams are loaded from cassettes, floppy disks, or—in
some newer models—a host computer over a communi-
cations link.
Prices of data acquisition computers have decreased PRINCIPLES
considerably, improving their advantage over manual
methods for capturing and transcribing data in many Introduction From the first time that data had to be
passed between one register and another in a computer,
applications. Their inherent reliability—especially the
381
382 DATACOMMUNICATIONS

PS
MOD
Parallel-
series Modulator
converter
Communication
network

Series-
parallel Demodulator
converter

FIG. 1. Schematic of communications between source and destination.

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!

FIG. 2. Examples of telegraph modulation.


DATA COMMUNICATIONS 383

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-

FIG. 8. Schematic of computer network.


DATA COMMUNICATIONS 387

FIG. 9. Example of multilevel multiplexing.

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

Level Layer by the reception of the start bit. In asynchronous trans-


mission, characters do not recur at any predictable inter-
Application val. This form of transmission is most commonly used for
communication with slower-speed human-operated ter-
Presentation minals.
6 Control In synchronous transmission, the bits of one charac-
ter are followed immediately by those of the next (Fig.
Session
5 Control 2b). The stream of characters is divided into blocks. Each
block is surrounded by framing characters. The reading
Transport
of the sequence of characters in a block is triggered by the
4 End-to-end
Control reception of a start-of-block framing character. Charac-
ters are received continuously until an end- of-block fram-
Network
3 Contro!
ing character is detected. Since there are no control bits
for each character, synchronous transmissions generally
Link result in a more efficient line utilization.
2 Control
Protocol Characteristics Since data communica-
Physical
Control
tions software is mainly concerned with data communica-
tions protocols, it is important to understand which
protocol functions are typically implemented, at least
FIG. 1. ISO functional layers for open systems interconnec- partially, in software. Therefore, the following five proto-
tion.
col functions will be discussed in more detail: (1) call
establishment and clearing; (2) error control; (3) flow
control; (4) concentration; and (5) terminal-specific pro-
entities. The applications layer, which is concerned with
cedures. This, of course, is not an exhaustive list, but it
applications software, is beyond the scope of this article.
highlights some of the main issues that need to be ad-
In the following sections, we will show which func-
dressed in designing data communications software.
tions are typically performed by data communications
software and discuss a possible software structure for
implementing some of these functions. Call Establishment and Clearing Before any data can
be exchanged over data communications facilities, there
needs to be a mechanism invoked by which one end can
Communication Line Characteristics There are decide whether or not the other is operating at all (i.e.
two main modes of transmission—synchronous and able and willing to establish a connection). In other
asynchronous operation. In asynchronous transmissions, words, both parties need to agree on a procedure by
the data is sent one character at a time (Fig. 2a). Each which one side can indicate to the other side that it either
character is framed by a start and stop bit. Bits within a wants to establish or break a connection. Data set signals
character occur at well-defined intervals. The number of are used to convey this information at the physical com-
bits per character is fixed for a given communications munications level. Depending on the voltage of a particu-
line. The reading of this number of fixed bits is triggered
lar pin of the interface, each side indicates that it is either
operating or not available. In case a connection is estab-
lished via the public telephone network, a more complex
MARK|
sequence of changes in the data set signals is required. At
SPACE0 the link level, an exchange of special initialization com-
We oes a Selo eee Gu
START ~ ! 1 “stop mands and responses is normally required before data
BIT - {BIT
| can be transmitted. The most sophisticated call establish-
ment and clearing procedures are used at the network
8 BITS OF DATA
control level. In this case, highly structured call request
(a)
and clear request messages are sent that carry informa-
tion relating to the nature of the call. In particular, the call
request message may indicate who intends to pay for the
call, throughput requirements, what higher level protocol
2 z rs = MES SAGE z 9
1m |% |B |(CHARACTER STREAM] w | is to be used, etc. The clear message may carry informa-
tion about the clearing cause, duration of the call, ac-
counting data, etc.
SYN: SYNCHRONIZATION CHARACTER Fig. 3 shows a state diagram for call establishment
SOM: START OF MESSAGE CHARACTER between two stations, A and B. Normally, a station sends
EOM: END OF MESSAGE CHARACTER out a call request and waits until it receives the matching
BCC: BLOCK CHECK CHARACTER
call accept message. Call collision will occur when both
(b) stations try to establish a call at the same time. Note that,
in the case presented, the call request from A to B takes
FIG. 2. Data transmission. a) asynchronous, b) synchronous. precedence.
DATA COMMUNICATIONS 389

eR. CALL REQUEST


CA: CALL ACCEPT receiver receives two blocks with the same sequence
number, it is known that the latter block is a retransmis-
NEICHER
STATION
sion of the first one and can be discarded as a duplicate if
TRANSMIT TING there was no error in the first one. The receiver will also
send an acknowledgment for each duplicate to make sure
that the sender eventually learns about the successful
transmission.
A well-known technique for acknowledging blocks is
STATION A STATION 8
to send back to the sender the sequence number N of the
WAITING WAITING next expected block, thereby acknowledging all blocks
TO TRANSMIT TO TRANSMIT
10 8 TOA with sequence numbers N — 1 or less. The range of se-
quence numbers is, of course, limited, since they occupy
a finite space in each block. If K bits are reserved for the
sequence number in the header of a block, then they are
normally calculated modulo 2*. In the simplest case, K is
CALL equal to 1; i.e. each block is labeled as block 0 or block 1.
COLLISON
(BOTH WISH TO This requires only a single bit in the header for sequence
TRANSMIT) control. This scheme has, however, the disadvantage that
block 1 (or 0) can only be sent after block 0 (or 1) has been
CA FROM acknowledged. Therefore, the throughput is limited to
B TOA
(it¥@ COLLISON CASE, CALL one message per round-trip time (i.e. the time interval
REQUEST FROM ATO B
TAKES PRECEDENCE)
between sending a block and receiving its acknowledg-
ment).
OATA
TRANSFER
Sequence numbers are also used to detect blocks
FROM ONE that reach the receiver out of sequence. In this case, two
STATION TO
THE OTHER recovery actions are possible. The receiver discards all
out-of-sequence blocks and asks the sender to retransmit
all blocks from the point where the first block was missed
FIG. 3. State transition diagram for call establishment.
(reject scheme). The alternative possibility is that the
receiver keeps the out-of-sequence blocks and asks the
sender only for the retransmission of the missed blocks
Error Control One of the most important tasks of any (selective retransmit scheme).
data communications protocol is to deal with line errors. Figs. 4 and 5 demonstrate the use of the reject and the
Various error detection and correction schemes have selective retransmit scheme. In both cases, message 2 is
been studied and are in use today. They range from simple assumed to get lost on the line. The reject-retransmit
even or odd parity indication per character to powerful, scheme causes messages 2, 3, and 4 to be retransmitted
usually hardware-generated, checksums per transmis- (Fig. 4). The selective retransmit scheme causes only
sion block. All the more advanced procedures use posi- message 2 to be retransmitted (Fig. 5). Messages 3 and 4
tive acknowledgment schemes; i.e. the sender waits for an are only acknowledged after the successful retransmis-
acknowledgment from the receiver. If an acknowledgment sion of message 2.
is not received within a given time period, the block is
retransmitted. Since the acknowledgment may get lost on Flow Control To avoid loss of data, the average rate at
the line due to a line error, the receiver must be able to which the receiver is able to accept data must be equal to
distinguish new incoming blocks from retransmissions of or greater than the average rate at which the sender is
previously sent blocks. This can be accomplished sending it. Alternatively, there may be a mechanism by
through the use of sequence numbers. Whenever the which the receiver can let the sender know that it should

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

FIG. 5. Selective retransmit scheme.

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-

DATA SET SIGNAL PROCESSING


COMMUNICATIONS APPLICATIONS
CLOCK ROUTINES PROGRAM
LINE

FIG. 7. Communications software structure.


392 DATACOMMUNICATIONS

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

ple, the airlines provided for access to seat reservation


systems, and major business data processing centers, Reject
such as those operated by the banks, allowed for remote
entry of data and remote printing of results. This is still
an important aspect of network use and the basic princi-
ples of error-free communication have not changed. How-
ever, the major growth is now based on the exchange and
sharing of information, rather than access to processing
Working draft
power.
Networks now support exchange of personal mes-
sages, exchange of business data, access to distributed
databases, integrated manufacturing, and distributed
command and control systems. They are applied in
commercial activity, administration, and entertainment. Committee
draft Ballot fail
Some of these new applications make additional de
mands on the supporting networks, but many are ex-
tensions to new fields based on existing technology. A
common feature of many of these new areas of appli-
cation is the sharing of information between organiza- Draft
tions, and, in consequence, the need for communication international Ballot fail
to be effective without a single management or design standard
authority to make it work. Data communications stan-
dards make information exchange possible in this envi-
ronment.
International
The Organizations Involved Two major bodies standard.
are involved in the creation of standards. These are the
International Organization for Standardization (ISO), rep-
FIG. 1. The standardization process.
resenting primarily the computer industry and its cus-
tomers, and the International Consultative Committee on
Telephony and Telegraphy (CCITT), representing the
If there is substantial agreement with little comment,
communication carriers via their national post and tele-
the draft becomes a Draft International Standard (DIS). At
communications authorities (the PTTs). Preliminary stan-
this point it is processed editorially to conform to the ISO
dards are also produced by the European Computer
house style, and may need to be translated into French,
Manufacturers’ Association (ECMA) and the Committee
although this requirement is now generally waived. A
of European Posts and Telegraphs (CEPT). In the U.S., the
further ballot by a higher-level committee then allows it
IEEE has played a major role in drafting standards propos-
to progress to a full International Standard (IS). If any of
als, particularly in the field of local area networks (LANs -
these ballots does not show support, the document must
g.v.). Standards of general interest from ECMA and IEEE
be revised and the ballot repeated.
are often fed into the ISO for wider discussion and sup-
In favorable circumstances, the passages from CD to
port with the option of rapid publication as an ISO stan-
DIS and from DIS to IS each take about a year. Although in
dard. Many standards are now produced jointly by ISO
principle the technical content should be agreed before
and CCITT, with the two organizations agreeing to publish
registration as a CD, pressure for rapid progress may
technically identical texts.
result in significant instability beyond this point, making
early implementation a risky business. In practice, a draft
The Standardization Process The development
might be ready for pilot implementation by the time it
of a standard within the ISO involves a number of steps. reaches the DIS stage.
The theory is as follows (see Fig. 1). Initially, a need is
identified and support for a standardization project is
confirmed by ballot among the national standards bodies Major Areas of Standardization The wide
on a new work item (NWI). A technical group then devel- range of data communications standards is organized
ops a working draft for the standard to the point where it within the framework of the Open Systems Interconnec-
is believed to be technically stable. This is approved by tion (OSI) Reference Model. Within the structure created
the controlling subcommittee and registered as a Com- by the reference model, individual service and protocol
mittee Draft (CD). At this point, the national standards standards are defined for each of the layers except the
bodies take part in a ballot on the technical content. Each application layer. In many layers, provision is made for
may vote “yes” without qualification, vote “yes” but give choice of either a connection-oriented mode of opera-
comments on possible improvements it would like to see, tion, in which streams of information are sent between
or vote “no” and give the reasons for its objections and an the communicating systems in the period during which
indication of what action would make the standard ac- a connection exists, and a connectionless mode of op-
ceptable. eration in which individual items of data are transmitted
394 DATA COMMUNICATIONS

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

TABLE 1. Representative List of ISO Data Communications Standards

ISO CCITT Abbreviated title

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

Data Link Layer


ISO 3309, 4335, 7478 High-level Data Link Control (HDLC)
ISO 7776 X.25 HDLC Procedures (X.25 compatible)
ISO 8802 Local Area Networks (7 parts)
ISO 8886 X.212 Data Link Service

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

O means that the | | | 4 These six bits give the number


character in the of times it is repeated
next byte is repeated

FIG. 4. Run length encoding.

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.

Suppression of Repeated Characters Numeric Differencing This method is similar in philosophy


fields in some files contain a high proportion of leading to the previous one and is best for files of numerical
zeros; other files contain repetitive blanks or other char- data that have small variations in magnitude between
acters. A general scheme for suppressing repeated char- entries. As an example, rather than storing the cumula-
acters is called run-length encoding. One such method tive precipitation for each day (i.e. C,, Cy,..., Cygg), WE May
uses the fact that, in the conventional eight-bit EBCDIC store the difference between entries (i.e. Ch, 5 Cie

1001000010000000 | DATA-ITEM1 DATA-ITEM 4 DATA-!ITEM 9

Presence Bits Non-Null Data Fields

FIG. 5. The use of the presence bits in a record that can have a maximum of 16
data items.
DATAMODELS 399

Name Compressed Name is generally undesirable, the compacted keys can be


Aalbers 0 Aalbers forced to be of equal length by keeping a number of bits
Aalderink 3 derink equal to the length of the longest compacted key. In the
Aamar 2 mar above example, this would result in:
Aamondt 3 ondt
Aaro 2 ro Rear-compacted key(i- 1) 1010101010101
Aarons 4 ns
Rear-compacted keyi 1010101101010
FIG. 6. The exploitation of ordered data for front compres-
sion. Rear-compacted
key (i +1) 1010101101011

Concluding Remarks Although the methods de-


C3g5—C3g4)- Note that c, is an absolute value and serves scribed have been explained separately, it may be useful
as the base. The saving in space that results is a conse- to use more than one procedure for the same data set. For
quence of the fact that the difference in the cumulative example, it may be beneficial to suppress the repeated
precipitation of two adjacent days is less than the abso- characters of a text file first and then Huffman encode the
lute value of each of the former. In addition, we expect resulting text.
many of the differences to be zero. The differencing Sometimes it is possible to reduce the need for
method is often highly successful in compressing digi- data compression by avoiding redundant storage of
tized pictures. information in the first place. This is one of the major
objectives of database management systems. For exam-
Decimal to Binary Conversion Rather than stor- ple, one should not store a part description in both
ing numbers in (packed or unpacked) decimal notation the “parts file” and the “inventory file.” A somewhat
(which take four and eight bits per decimal digit, respec- related issue is that fields that are computable from
tively), binary representation can be used as a form of others should not be stored at all. For example, store
compact notation. As an example, numbers between 0 “monthly earnings” but not “tax withheld” because the
and 255 can be represented by using only an eight-bit tax algorithm can be used to generate the tax withheld
byte. Decimal-to-binary conversion is a semantic depen- from the monthly earnings.
dent data compression technique. This article has dealt principally with compression of
data stored in databases. For information on speech and
Data Compaction As an example of data compac- image compression, see Lynch (1985).
tion, we consider a sequence of numerically ordered (i.e.
sorted) keys in a directory ofa file. In this example, we use References
rear-compaction to delete a rear redundant string (RRS)
from a key. This string is composed of those rightmost 1985. Lynch, T. J. Data Compression: Techniques and Applications.
Belmont, CA: Lifetime Learning Publications.
bits of the key which are not necessary to distinguish
1987. Held, G. Data Compression, (2nd Ed). New York: Wiley.
uniquely the key from the set of all keys in the particular 1988. Storer, J. A. Data Compression: Methods and Theory. Rock-
sequence to be rear-compacted. It can be shown that, ville, MD: Computer Science Press.
given a set of sorted keys, to find the RRS of a key K, it is
enough to look only at the previous key and the following H. K. REGHBATI
key in the sorted sequence. Consider the following set of
keys.

RRS
DATA ENCRYPTION. See Cryprocrapny, Com-
Key(i-1) 10101010101010101 PUTERS IN.

RRS

Key i 10101011010101010 DATA MODELS


RRS For articles on related subjects see DATA TYPE; DATABASE
MANAGEMENT SYSTEM; MEMORY MANAGEMENT; and RELATIONAL
Key(@i+1) 10101011010111011 DATABASE.

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.

Until the 1960s it was common to divide the world of


References
computer applications into two realms—business data
1982. Tsichritzis, D. C. and Lochovsky, F. H. Data Models. Engle- processing and scientific computing—with the latter en-
wood Cliffs, NJ: Prentice-Hall. compassing all engineering, scientific, or other technical
1984. Brodie, Michael L., Mylopoulos, John and Schmidt, Joachim
applications of computers where the emphasis was on
W. (Eds.), On Conceptual Modelling, Perspectives from Artificial
numerical calculations, usually extensive ones, rather
Intelligence, Databases and Programming Languages. New
York: Springer-Verlag.
than on the manipulation (sorting, organizing, etc.) of
1987. Hull, R. and King, R. Semantic Data Modelling: Survey, data (together with, at most, very simple arithmetic cal-
Applications and Research Issues. ACM Computing Surveys, culations), which was the province of business data pro-
19, 3, September) 201-260. cessing.
Another distinct, although related contrast between
MALCOLM P. ATKINSON the two areas was their relative dependence on the
central processing unit facilities of the computer on the
one hand and on the input-output facilities on the other
hand. Most scientific calculations seemed to require
DATA PROCESSING little input data, produced relatively few numbers as
results, but relied heavily on the arithmetic and logical
For articles on related subjects see ADMINISTRATIVE APPLICA capabilities of the CPU (q.v.). Indeed, computers that
TIONS; INFORMATION AND DATA; and INFORMATION PROCESSING. handled mainly large scientific calculations were, and
still are, often called “number crunchers.” By contrast,
Data processing is a widely used term with a variety business data processing tasks usually involved large
of meanings and interpretations ranging from one that amounts of input data (e.g. the entire employee file of
makes it almost coextensive with all of computing to a company)—hence the name “data” processing—per-
much narrower connotations in the general area of com- formed relatively few calculations, and then produced
puter applications to business and administrative prob- large amounts of output (e.g. all payroll checks for the
lems. company).
In a broad sense, data processing may be said to be To a degree, this dichotomy between scientific calcu-
what computers do. In this context it should be compared lations and business data processing was always mislead-
to information processing, which some prefer to data pro- ing. If the paradigm for business data processing—much
cessing because “information” does not carry the conno- input and output, little calculation—was, in fact, a rather
tation of “number,” as “data” sometimes does. Of course, good generalization, the paradigm for scientific calcula-
the “data” in data processing is really intended to connote tion was much less so. Scientific calculations involving
any kind of information in symbolic form. Thus, informa- large volumes of input data and, more commonly, large
tion may be viewed as “knowledge,” while data are the quantities of results had been common since the earliest
physical symbols used to represent the information. days of computing (e.g. the production of tables of math-
The term “data processing” is often used with vari- ematical functions such as the trigonometric or Bessel
ous modifiers, the most common being:
functions). Still, it has only been in recent years that the
dichotomy has been seen to be less and less useful for any
1, Electronic data processing (EDP), a term widely purpose.
used to describe all computing activity—or, at Increasingly, scientific calculations (e.g. meteorolog-
least, the part of computing that focuses on ical and high-energy physics applications) process large
administrative or business applications—and amounts of input data and produce copious results. Also
particularly to distinguish computerized appli- increasingly, although less so, business applications in-
cations from manual methods. volve sophisticated mathematical techniques involving
2. Automatic data processing (ADP), closely analo- large amounts of calculation (e.g. various statistical and
gous to EDP, since it is intended to distinguish related forecasting applications). Thus, while there re-
computer data processing from data processing main many computer applications that conform to the
where significant human assistance or interven- original business data processing/scientific computing
tion is required. stereotype, it is increasingly common and more reason-
3. Business data processing (BDP) refers specific- able to use the terms “business data processing” and
ally to administrative applications (e.g. person- “scientific data processing” to distinguish between appli-
DATA SECURITY 403

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

1982. Denning, D. E. Cryptography and Data Security. Reading, MA:


Addison-Wesley.
1989. Pfleeger, C. P. Security in Computing. Englewood Cliffs, NJ:
Prentice-Hall. 4 5

CHARLES P. PFLEEGER FIG. 1. A tree structure.


DATA STRUCTURES 407

FIG. 2. Storage structure for the tree structure of Fig. 1.

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

é LLINK iia RLINK [. | LLINK eras RLINK [. } LLINK |B | RLINK 5


Oe eee Oe a EE Ms)

FIG. 3. Doubly linked circular list L.

Deleted
links

FIG. 4. Insertion of X into list in Fig. 3.

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

if input is possible at only one end, but deletion may


occur at both ends. A deque is said to be output-re-
stricted if output may occur at only one end, but input
may occur at both ends. Fig. 8 illustrates by means of a
railway-switching network the notion of a deque with
input and/or output restrictions (see Knuth, 1973, p. 236).
(“Deque,” a shortened form of “double-ended-queue,” is
pronounced “deck.”)
Data structures include numerical structures, such
FIG. 6. A graph of five nodes and six edges. as integers that have arithmetic operations applicable to
them, and nonnumerical structures, such as arrays, lists,
and trees, whose primary purpose is to keep track of
A collection of data objects (nodes) so intercon- relations among data objects rather than to manipulate
nected that their network may contain cyclic paths is them.
called a graph. A typical graph is shown in Fig. 6. Such a Computational structures may be studied and ana-
structure is a generalization of a list structure because it lyzed at many different levels of abstraction. We have
can be represented by an adjacency list, a “list of lists,” already remarked on the difference between logical data
each of which tells which nodes are connected to the node structures and the storage structures in terms of which
at the head of the list (see Fig. 7). Alternatively, the same they are realized. The characterization of structure by
information can be represented as a generalized list (list logical relations among components is clearly more ab-
with sublists) for processing by algorithms written in Lisp: stract than the realization of the logical structure by
particular configurations of cells and pointers. It is conve-
(A (BCD)B(AC)C
(ABE) D(AE)E(CD)) nient to introduce an additional higher-level mathemati-
cal level of abstraction in which logical relations among
For a more extensive description of graphs and opera- components of a data structure are characterized even
tions thereon, see GRAPH THEORY.
more abstractly by mathematical relations, and an addi-
Astack is a linear list in which elements are accessed,
tional lower-level “hardware” level of abstraction that
created, and deleted in a last-in-first-out (LIFO) order. In
specifies how storage structures are realized at the hard-
order to access an element in a stack, it is necessary to
ware level.
delete all more recently entered elements from the stack. In programming languages, the choice of a data struc-
Thus, only the top of the stack is immediately accessible. ture is made by selection of one of the available data
The two principal stack operations are popping and push- types supported by the language. Usually, there are prim-
ing. If Sis a stack, then pop(S,x) causes the top element of itive data types for integers, real (floating-point) num-
the stack to be removed and stored at x and push(S,x) bers, and characters; composite data types for arrays and
causes x to be placed on top of the stack. records; and data type definition mechanisms for defining
A queue is a linear list in which elements are created new composite types in terms of primitive constituents.
and deleted in a first-in-first-out order. A line of people One important programming language concept is
waiting to be served in a cafeteria is a queue, since the that of an abstract data type, which has an interface of
person having waited longest is always the first to be named operators accessible to the user and which oper-
served (deleted from the queue). Similarly, employees in ates on a hidden internal data representation. For exam-
a large organization generally form a stack with regard to ple, an abstract “stack” data type would provide the user
the probability that they will be fired (first-in-first-out, or with “push,” “pop,” and “test empty” operators, but hide
FIFO). A queue in which insertions and deletions are from the user the stack data representation (as an array
normally made only at opposite ends, but to which an or list). The abstract data type mechanism is available in
item is occasionally inserted into or removed from the experimental languages like CLU, but is not currently
interior is called a priority queue. available in any major production language. The language
A generalization of queues and stacks in which ele- Ada (q.v.) has a concept called packages (q.v.) that pro-
ments may be added and deleted at both ends of a linear vide collections of resources with hidden implementation
list is called a deque. A deque is said to be input-restricted to the user, but are not actually abstract data types.
Returning to the levels of abstraction listed above:

1. Mathematical structure is defined by specifying a


set of objects and a set of operators (functions,
relations) for transforming objects into other ob-
jects.
2. Data structure is defined by labeled, directed
graphs that allow characteristic operators on
data objects having the given structure to be
naturally and simply defined by means of graph
FIG. 7. Anadjacency list for graph of Fig. 6. transformation rules. A given mathematical
410 DATA STRUCTURES

Track closed in input-restricted deque

Input
Output

Track closed in output-restricted deque

FIG. 8. A double-ended queue (deque).

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

TABLE 1. Classification of representative data structures

Static Data Structures Elastic Data Structures Dynamic Data Structures


(Fixed Number of (Variable Number of (Variable Number of
Contiguous Cells) Contiguous Cells) Non-contiguous Nodes)

Non-Cartesian array File Graph


n-ary tree
Binary tree
Cartesian array:
n-dimensional array n-dimensional elastic arrays (APL) List with sublists (Lisp)
three-dimensional array Deque simple linked lists:
matrix (APL) Queue (Simula) DLCL
two-dimensional array Stack (Forth) DLLL
one-dimensional array Variable-length string (Snobol, SLCL
Icon, Turbo Pascal, APL) SLLL

Fixed-length record Variable-length record (Cobol) set (SETL)


eee
DLCL —-Doubly-Linked Circular List; DLLL-Doubly-Linked Linear List; SLCL-Singly-Linked Circular List; SLLL-Singly-Linked Linear List
DATATYPE 411

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

Access module Database


processors computer

Disk storage
units

FIG. 1. Components of a database computer system used as a backend proces-


sor to a host computer,
DATABASE MANAGEMENT SYSTEM (DBMS) 413

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

Purchase Order Smith Jones Brown Black

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

References rounded by a dashed line (called the procedure boundary)


and given a name, PROCA, so that it may be used in other
1988. McFadden, F. R. and Hoffer, J. A.Database Management (2nd
dataflow programs. Fig. 2 shows a conventional flowchart
Ed.). Reading, MA: Addison-Wesley.
1990. Codd E. M. The Relational Model for Database Management: for a sequential programming language and a correspond-
Version 2. Reading, MA: Addison-Wesley. ing dataflow program for determining the roots of a quad-
1990. Date, C. J. An Introduction to Database Systems (5th Ed.), Vol. ratic equation.
I. Reading, MA: Addison-Wesley. Although dataflow is a relatively new approach to
1991. Mittra, Sitamsu. Principles of Relational Database Systems. computer systems organization, dataflow-related model-
Englewood Cliffs, NJ: Prentice-Hall. ing techniques have been in use for quite some time.
1992. Date, C. J. with White, C. J. An Introduction to Database (Karp and Miller, 1969). One of the first formal methods
Systems, Vol. II. Reading, MA: Addison-Wesley. using a dataflow-like technique is PERT/CPM (q.v.), devel-
T. WILLIAM OLLE oped in the 1950s for project planning and control. An-
other major use of a dataflow-like technique is in the
simulation language GPSS V (see SIMULATION), developed
for modeling discrete stochastic systems. The designers
DATAFLOW of logic circuits and computer hardware have used
dataflow-related techniques in describing, analyzing, and
For articles on related subjects see COMPUTER ARCHITEC-
testing circuits in which data items are in the form of
TURE; FUNCTIONAL PROGRAMMING; GRAPH THEORY; PARALLEL
electrical signals. Dataflow, in this context, bears a strong
PROCESSING; PETRI NET; and SUPERCOMPUTERS.
resemblence to Petri nets. Optimizing compilers analyze
the flow of data in performing machine independent opti-
mizations. Dataflow related techniques have also been
PRINCIPLES
used in microcode optimization (Lanskov et al., 1980),
Dataflow is a generic term that pertains to algorithms software specification, and reliability (Fosdick and Os-
or machines whose actions are determined by the avail- terweil, 1976).
ability of the data needed for these actions. Algorithms There are currently several different candidate archi-
that are expressed and executed in dataflow terms are tectures proposed for executing dataflow programs. The
controlled by the arrival of data at operators (called architecture first proposed by Dennis and Misunas (1975)
actors). This is to be contrasted to control flow environ- consists (see Fig. 3) of a collection of addressable instruc-
ments where the locus of execution is based on an in- tion cells (IC) connected by an arbitration network to a
struction pointer (or program counter - q.v.) which, group of operation units (transformational devices). The
identifies the operation to be performed next. Dataflow operation units are, in turn, connected by a distribution
algorithms can be represented as directed graphs in network back to the instruction cells. The instruction
which the arcs are data paths and the nodes are opera- cells correspond to nodes on the graph, while operation
tions to be performed on the data tokens arriving on the units are merely execution units. An enabled instruction
incoming arcs. The graph shown in Fig. 1 is a dataflow cell transmits an instruction packet to an operation unit
procedure. via the arbitration network. The arbitration network pro-
The names within the nodes of the graph indicate the cesses instruction packets on a round robin basis. The
operation to be performed. The availability of the input result of a node firing is a data packet, which is sent to the
tokens and the ability of the output arc(s) to receive data destination instruction cells, using the distribution net-
(which will be the case when the previous output has work. A variation of Dennis’s architecture was im-
already been used as an input to another node) are the plemented by Texas Instruments, Inc., in their Distributed
only conditions that must be satisfied for any operation Data Processor (DDP). Each operation unit in the DDP has
to execute. The act of performing the operation is called
firing the node and results in the consumption of the input
tokens and production of output tokens.
The node labeled “OP1” in Fig. 1 has two input arcs
associated with it; nodes “OP2” and “OP4” have one input
arc and node “OP3” has three input arcs. If tokens arrive
on both of OP1’s input arcs and its output arc is empty,
then the input tokens will be consumed, the transforma-
tion OP1 will be performed on the data, and an output
token will be produced. If a token had arrived on the input
arc to OP2 coincidentally with the arrival of input tokens
to OP1, and OP2’s output arcs were empty, then both
nodes OP] and OP2 can fire simultaneously.
Node OP4 must wait only until OP2 has finished exe-
cuting in order to fire, whereas node OP3 must wait for
both OP1 and OP2 to complete. Thus, the synchroniza- ——_{— oe OO LL.

tion of asynchronous activities is accommodated very


naturally in a dataflow graph. The graph of Fig. 1 is sur- FIG. 1. |Sample dataflow program and graph.
DATAFLOW 417

Dataflow Program Flowchart Program

Enter a, b, c

Exit x, y

FIG. 2. Dataflow version of a sequential program to find the roots of a qua-


dratic equation (ax + bx + c = 0) with real roots. The labels on the lower right
of the nodes of the dataflow program correspond to the labels on the boxes on
the left of the flowchart. The labels 1 and 2 on the incoming arrows to the
dataflow nodes indicate the order of the operands for subtraction and divi-
sion.
f

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

FIG. 3. Candidate dataflow architecture (ic = instruction cell; op u =


operation unit).

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

human, most of us like to make a small private


which pinpoints the precise location of the alleged error.
reservation about our own performance on special
Note, however, that it makes the assumption that the
occasions when we really try. It is somewhat deflat-
programmer forgot to place a multiplication operator
ing to be shown publicly and incontrovertibly by a
between the 4 and theA when, in fact, the error may have
machine that even when we do try, we in fact make
been the mistaken notion (for most computer languages)
just as many mistakes as other people. If your pride
that 4A is a legal identifier (g.v.).
cannot recover from this blow, you will never make
The type of error cited above is generally called a
a programmer.
fatal error because it prevents the compiler from gen-
erating the object program needed for execution. Other
Though over two decades have now elapsed since those situations may generate only a warning message that
lines were written, they still capture the essence and potentially erroneous results might be obtained; it would
mystique of debugging. then be up to the programmer’s judgment as to whether
the offending construction really need be modified. An
Types of Error Mistakes (bugs) find their way into a example is the Fortran statement
computer program for many reasons, but they may gen-
erally be classified as follows: The CAPRiEOR 4s S567) Ke= Kee Ls
420 DEBUGGING

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

On-hand quantity < 20 Y Y Y Y Y Y N


Weekly usage amount >15 >15 8-15 8-15 8-15 <8 2
Local vendor available - - Y N N > : eI
On order quantity > 30 Ve N N Y N N x4 re

Rule counts 2 2 1 1 1 2 6 9

Place rush order 1 1


Place regular order 1 1 1 1
Cancel an order 1
Exit 2 2 2 2 2 2 2 X

FIG. 1. A decision table for low-activity stock-order procedure.


DECLARATION 423

documentation. Such tables can also be used as input to


CONDITION decision table compilers or precompilers, to produce
7) functionally correct software.
uw
a
= Disadvantages While decision tables have no theo-
Z retical size limit, large decision tables can become incom-
Ww
ACTION prehensible and difficult to modify. Fortunately, decision
table size can be controlled by rule consolidation and by
parsing. Also, software exists to assist in preparing,
checking, and maintaining decision tables. Even so, using
FIG. 2. Parts of a decision table.
decision tables does not eliminate the analysis and design
tasks of matching possible combinations of conditions
and actions with the practices and expectations of the
decision tables that describe existing work practices and people who use data.
operations. These often reveal the presence of over-
sights, inconsistencies, and redundancies in the existing
References
ways that work is done. As a part of systems design,
analysts can prepare decision tables that specify the sit- 1967a. Chapin, Ned. “An Introduction to Decision Tables.” DPMA
uations under which specific work is to be done by people Quarterly, 3, 3: 2-23 (April).
and by computers. By using decision tables, such specifi- 1967b. Chapin, Ned. “Parsing of Decision Tables.” Communica-
cations can be made complete, self-consistent, accurate, tions of the ACM, 10, 8 (August).
1970. McDaniel, Herman. Decision Table Software. Philadelphia:
and non-redundant.
Auerbach Publishers.
For these reasons, analysts typically apply decision
1971. Pollack, Solomon L., Hicks, Harry T., and Harrison, William
tables where the work is high in logic content—that is, the J. Decision Tables: Theory and Practice. New York: John Wiley
actions to be taken depend upon the complex interaction & Sons, Inc.
of many variables. Such situations abound in administra- 1983. Hurley, Richard B. Decision Tables in Software Engineering.
tive and control applications of computers. Attempting to New York: Van Nostrand Reinhold.
design software for such situations led in the early 1960s
to the development of decision tables (Chapin, 1967a). NED CHAPIN
Major users have been financial, manufacturing, and mil-
itary organizations, mostly in software design, analysis,
debugging and testing, programming, and documenta-
tion. Decision tables have found little use in scientific and DECLARATION
engineering applications, when situations can be cleanly For articles on related subjects see EXECUTABLE STATEMENT;
described in mathematical terms. While decision table PROCEDURE-ORIENTED LANGUAGES; PROGRAMMING LANGUAGES;
usage declined in the 1980s, decision tables fit well with and STATEMENT.
software engineering (Hurley, 1983) and offer potential in
system software and expert systems (q.v.). A declaration (declarative statement) is a high-level
programming language statement that provides descrip-
Languages Decision table languages (McDaniel, tive information (contrasted with an imperative, or execut-
1970) use as their input the decision table prepared dur- able, statement, which specifies explicit processing
ing software design. Then by means of a compiler or operations).
precompiler, a computer translates the decision table Besides specifying the actual computations, decision
into either a compilable language (such as Cobol) or, rules, and input/output operations involved in the im-
more rarely, machine language. This can directly provide plementation of a particular algorithm, a high-level Jan-
the logic portion of the software, leaving the procedures guage program also must provide the compiler with
for the actions to be coded by the analyst or programmer, descriptive information that allows it to perform a variety
or provided by other means. When well-checked decision of organizational tasks directly connected with the pro-
tables are used as a software design tool, the use of a duction of an executable object program. For example,
decision table language results in source code that is not the description of a variable (its name, together with the
only typically free of logic bugs, but it also can be pro- type of data to be stored in it) enables the compiler to
duced very quickly. allocate the proper amount of storage, associate its loca-
tion with the variable’s name, and set up any necessary
Advantages Decision tables provide concise descrip- data conversion mechanisms prior to the assignment of a
tions of logically complex situations. Decision tables can value to that variable. (This description also defines the
be broken or parsed into sets of smaller tables (Chapin, set of operations that are applicable to the element.)
1967b). Smaller tables are usually easier to prepare, since Similarly, the definition and description of a data file
logically complex situations can become overwhelming if makes it possible for the compiler to establish a relation-
they have many alternatives and many variables. Also, ship between references to that file and a particular col-
smaller tables are easier to check. lection of data transmitted to or from a_ specific
Well-checked decision tables provide terse, accurate input/output device.
424 DEDUCTIVE DATABASE

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 restrict arguments of atomic


DEDUCTIVE DATABASE formulas to constants and variables, whereas in first-
order logic one also may have function symbols as argu-
For articles on related subjects see DATABASE MANAGEMENT ments. The reason for the restriction is to assure that one
SYSTEM; LOGIC PROGRAMMING; and RELATIONAL DATABASE. has finite answers to queries. Rules are to be read either
declaratively or procedurally. A declarative reading of (1)
A deductive database is an extended relational is: “A, or A, or...orA, is true if B, and B, and...and B,, are
database that consists of a set of facts, a set of rules, and all ed A procedural reading of (1) is “A, or A, or.. or A,
a set of integrity constraints. From the set of rules and the are solved if B, and B, and...and B,, can He Rolveds The
facts, it is possible to derive new facts not contained in left-hand side of the implication! A, or...or A, is referred
the original set of facts. The integrity constraints describe to as the head of the rule, while the righthand: side, B, and
the database. An example of an integrity constraint is one B,...and B,, is referred to as the body of the rule.
that specifies that all suppliers have only one store from Queries to a database, Q(X,,..., X,) are of the form
which they sell their products. A rule might specify that, AX,...4X,(L, AL,...A
L,)where
s >0,the L,are literals, and
if asupplier supplies screw drivers, they must also supply the X;, 1 = i S rare the variables in Q. ‘An answer to a
screws. This rule obviates the need to list screws explic- query has the form < q),,...,a,,> + < Gn kag Fiat
itly in the database. <4,,,..., @,, > such that Q(@,,,..., @,,) V Q(a,,,... 1 a,) VoreV
A deductive database is based on logic. The set of Q(4,,,..., @,,) is provable from the database. By “prov-
facts is referred to as the extensional database, and con- able” is meant that an inference system is used to find
sists of either a set of relations (or facts) whose argu- answers to queries.
DEFAULT CONDITION 425

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 ;

DELIMITER specifies a loop in which the sequence enclosed by the


begin...end delimiters is to be executed during each of
For an article on a related subject see PROCEDURE-ORIENTED the 18 trips through the loop.
LANGUAGES. Pascal terminology distinguishes separators, such as
colon (:), semicolon (;), and comma (,), which separate
A delimiter is an item of lexical information whose one language token from another, and delimiters, which
form and/or position in a source program denotes the occur in pairs in order to bracket a sequence of state-
boundary between adjacent syntactic components of that ments or tokens. Example Pascal delimiter pairs are (), [],
program. {}, begin...end, repeat...until, and the keyword pro-
As is true with natural language, the meaning and gram, which begins a program, and the final period (.),
clarity of statements in high-level programming languages which ends it.
often depend on the inclusion of explicit indicators that
“punctuate” the statement; such signals are termed delim- SEYMOUR V. POLLACK
iters. Since high-level language statements must be pro-
cessed by a compiler whose analytical and interpretive
facilities must function without the equivalent of human
cognition, it is necessary to equip programming languages DESIGN, LOGIC. See Locic Desicn.
with a fairly extensive variety of such delimiters, many of
them highly specific. The most common of these, natu-
rally, is the blank space, whose function as a separator is
self-explanatory. Some languages, however, like Fortran, DESK CALCULATOR. See CALCULATORS, ELEC-
ignore blanks; more common are languages that tolerate TRONIC AND PROGRAMMABLE.
superfluous blanks between syntactic components. (One
or more consecutive blanks constitute whitespace. Judi-
cious placement of whitespace improves the esthetic ap-
pearance and readability of programs.)
DESKTOP PUBLISHING
Parentheses also represent a commonly used type of For articles on related subjects see COMPUTER GRAPHICS;
delimiter. One of their primary purposes in high-level METAFONT; TEX; TEXT EDITING SYSTEMS; and WORD PROCESSING.
DESKTOP PUBLISHING 427

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

1 document-layout packages provide more built-in facilities


for editing and dealing with continuous text.
ee The popularity of desktop publishing has produced a
ae flood of books, especially on the more popular page-lay-
out packages. Examples of widely used page-layout pack-
Ys ages are Ventura Publisher (Van Engelen, 1989) and Aldus
PageMaker (Matthews, 1990). Examples of document-lay-
out packages are Interleaf Publisher and FrameMaker.

Page Design Users typically design a page by defin-


ing rectangular areas within it to contain text or graphics.
FIG. 1. Atypical desktop publishing system. These areas are usually known as frames. Once users have
428 DESKTOP PUBLISHING

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

Custom Size: 689.4 points


Overscore: Off t
Strike-Thru: Off 2
Underline: Off t
Double Underline: Off t

Wnternal to the computing system. A AIK LALIT


‘study to determine the susceptibility of acomputing
tem to various kinds of security failures. Risk analys
ipecform ed by analyzing general threats tothe securi
ithe system (such as loss of electrical power or progr

FIG. 2. A simple example of a style-sheet.

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

1 Input table 3 Shafts and gears used 4 Torque amplifier


2 Output table for interconnection 5 Integrator disk

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

Main memory Output units


Input units unit

Arithmetic
and logic
unit

Legend:
Flow of information
———-» Control links

FIG. 1. Central processing unit. Grouping of computer components.


436 DIGITAL COMPUTERS

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

of eight-digit numbers in about one millionth of a second,


2. Auxiliary storage devices, which hold data in-
and there are models that can do the job in as little as one tended for further processing by machine (e.g.
ten-billionth of a second. magnetic tapes, disks, and drums).
The term logic is used here to describe a non-arith-
metic facility of the unit; e.g. an ability to differentiate The first group contains a number of types of devices. The
between positive and negative numbers, and, as a result, most obvious of these are printers, designed to produce
to take alternative paths in the program. A simple exam- results in the form of printing on paper.
ple will illustrate its value. Most printers in current use operate on the same
In stock control, it is usual to compare a newly calcu- basic principle as the typewriter, in which a character
lated stock balance with the preset minimum or danger is printed through an impact of a typeface on an inked
level, to determine if reordering is necessary. If the “min- ribbon traversing the paper. There are, however, some
imum” is subtracted from the “balance,” then a positive printers that generate and print characters electroni-
(excess) result indicates that all is well; a negative result cally.
(a shortage) shows a need to reorder. In this latter case Where the volume of printing is large, it is usual to
only, we can arrange for the machine to “jump to” (i.e. use a line printer, one capable of producing a whole line
transfer operational control to) a part of the program that of print at a time (usually from 120 to 160 characters).
prints out reordering information on the printer for man- Such printers are capable of quite high speeds, typically
agement action. If all is well, we need print nothing—one up to 20 or more lines per second on a continuously fed
way in which the computer itself can reduce paperwork. roll of stationery. It is essential, of course, to have excel-
This apparently simple facility is of fundamental signifi- lent paper-handling facilities to keep pace with such
cance, and a typical program of a few thousand instruc- speeds. Such line printers are ideal for applications re-
tions will contain many of the “test and jump to another quiring voluminous end-results, such as payrolls, in-
phase of the program if negative” types of instruction. voices, or inventory listings, but are too often used to
The arithmetic and logic unit consists of one or a print more than necessary.
number of registers (each made up of electronic circuits), The output device of choice when high print quality
which may be termed accumulators. To add a number and graphics are important is the /aser printer. The high
stored in address 113 of the memory to that stored in resolution of such printers is based on xerographic prin-
address 207, first the contents of address 113 are read ciples similar to those used with photocopy machines. A
into an accumulator and then the contents of address 207 modern laser printer is shown in Fig. 2.
are added to that accumulator. The answer is then copied A related device, which is quite commonplace, is the
to another address in memory, thereby leaving the accu- video display unit (VDU). This has a keyboard like a
mulator free for the next operation. typewriter, but the printing mechanism is replaced by a
television-like tube on which letters or digits can be pro-
The Control Unit This part of the central processor jected. Compared with the typewriter, VDUs have the
advantage of displaying a large amount of information at
functions so as to cause the whole machine to operate
once (often, several hundred characters), and a fresh
according to the instructions in the program. Instructions
are normally transferred sequentially from the memory to display of additional information can be generated very
the control unit, where each instruction is interpreted rapidly. On the other hand, since they cannot produce
“hard copy” (i.e. a permanent record), they are best used
and the appropriate circuits are activated to “execute”
the instruction. This strict sequence is broken, for exam- in circumstances where an operator needs to examine a
small quantity of transient output information that does
ple, when a “test and jump” type of instruction occurs and
produces an exceptional result. There is then a transfer of
not have to be printed.
control to a program step in a different part of the pro-
gram, from which the sequential pattern continues until
again broken.
The control unit of a computer contains special cir-
cuits known as microprograms. One of these corresponds
to each type of elementary operation (and, therefore, to
each type of instruction) in the computer repertoire. It is
by the inclusion of a suitable microprogram that a given
operation is “built” into the computer. (See MICROPRO-
GRAMMING.)

Output The output devices of the computer enable it to


communicate results to the outside world. Output de-
vices fall into two main categories:

1. Those that produce output that is readily han-


dled and understood by human beings (printers FIG. 2. The HP Laserjet Ill printer from Hewlett-Packard
and display units). Company. (Courtesy Hewlett-Packard.)
438 DIGITAL COMPUTERS

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.

FIG. 4. Seagate’s WRENRUNNER 2-767MB, 5 1/4-inch hard disc drive; with an


11.9 msec. access time and a maximum data transfer rate of 3 megabytes per
second. (Courtesy Seagate)
440 DIGITAL COMPUTERS: HISTORY

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,

FIG. 1. Family tree of computers to mid-1950s. (Courtesy of the Smithsonian Institution.)


DIGITAL COMPUTERS: HISTORY 443

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

FIG. 2. The BINAC computer.

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

FIG. 3. The Ferranti Mark I computer at Manchester University, 1951.

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.

TABLE 1 Characteristics of Electronic Computers as of Early 1951

Serial Decimal Clock pray


or or No. of Word frequency No. of
Computer Parallel Binary Addresses length KH Type Words

EDVAC® S B a1 44 bits 1,000 U 1,024


UNIVAC S D 1 12 char. 2,250 U 1,000
IAS® P B 1 40 bits Asynch. W 1,024
EDSAC S B 1 35 bits 500 U 512
Ferranti | Ss B 1 40 bits 100 W 256
Pilot ACE S B © 32 bits 1,000 U 360
SEAC S B 3 45 bits 1,000 U 512
SWAC P B 4 36 bits 125 W 256
Whirlwind | I B 1 16 bits 1,000 E 256
Harvard Mark III S/P D 3 16 dec. 28 D 4,000©
Burroughs S D lor1+1© 9 dec. 125 D 800
ERA 1101 Ri B 1+ 1 24 bits 400 D 16,384
Notes: (a) U = ultrasonic delay (mercury tank); W = Williams tube; D = magnetic drum; E = electrostatic (CRT).
(b) Not commissioned until 1952.
(c) Separate 200-word memory for instructions.
(d) Provision for minimum-access coding.
DIGITAL COMPUTERS: HISTORY 447

References puting since 1945, as each new round of machines renders


1951. U.S. Navy, Office of Naval Research. Digital Computer News- any such statement obsolete.
letter 1-3. The notion that there were three major generations
1953. U.S. Navy, Office of Naval Research. A Survey of Automatic of computers, based on device technology (vacuum
Digital Computers. tubes, discrete transistors, and integrated circuits),
1972. Goldstine, H. H. The Computer from Pascal to von Neumann. served well to characterize machines for the beginning of
Princeton: Princeton University Press. this period. But even though all computers have used the
1985. Wilkes, M. V. Memoirs of a Computer Pioneer. Cambridge, integrated circuit of the “third generation” since the
MA: M.LT. Press.
1970s, advances in computing since that time have been
as great as they were from 1950 to 1970. Nevertheless, the
Maurice \4 WALKES
notion of generations still has explanatory power, if no
longer applied to the device level. All machines, espe-
cially those tested by the rigors of the marketplace, tend
to be improved or modified by their designers in incre-
CONTEMPORARY SYSTEMS
mental ways. Periodically, designers introduce more rad-
For articles on related subjects see APPLE COMPUTER, INC.; ical improvements, and when they do, it is appropriate to
ATLAS; COMPUTER ARCHITECTURE; COMPUTER INDUSTRY; CON- speak of a new generation of product. Introducing a new
TROL DATA CORPORATION COMPUTERS; DIGITAL EQUIPMENT COR- device technology is one of several ways this can happen;
PORATION VAX SERIES; IBM 1400 Series; IBM 360/370/390 also common is a thorough redesign of the machine’s
SERIES; IBM PC AND PC-COMPATIBLES; LIVERMORE AUTOMATIC architecture. Thus, the history of computing is character-
RESEARCH COMPUTER; MINICOMPUTERS; NAVAL- ORDNANCE RE- ized not by three or four but by many generations. Pres-
SEARCH CALCULATOR; NCR COMPUTERS; PERSONAL COMPUTING; ent generation cycles in the computer business can last
STRETCH; SUPERCOMPUTERS; UNIVAC I; VON NEUMANN MACHINE; as little as 3 or 4 years. (See GENERATIONS, COMPUTER.)
WORKSTATION. Given this context, the question remains: Are there
general characteristics of the evolution of computing
Since 1950, computers have advanced at a pace un- since 1950? A closer look reveals that some general trends
paralleled in the history of technology. Processing speed have emerged.
and memory capacity have increased, while size and cost
have decreased by several orders of magnitude. The pace The von Neumann Architecture First among
has not been steady on all fronts, but it has always been these trends is the persistence of the so-called von Neu-
rapid, and it continues. mann machine model of computer architecture over suc-
This phenomenal growth has transformed the nature cessive waves of hardware and software advances. That
of computing to the point that all but the professional model, originally conceived by J. Presper Eckert (g.v.),
historian tends to label anything that happened in com- John Mauchly (q.v.), and John von Neumann (q.v.) in the
puting before 1945 irrelevant “prehistory” or prologue. mid-1940s, emerged in response to the need for a practi-
One can of course chronicle each dramatic advance, each cal design for the EDVAC (q.v.), a machine they were
“milestone” of computing that marks the passing of a proposing as a follow-on to the ENIAC (g.v.), then under
certain threshold. Such listings are valuable, but do little construction. But that model’s influence was to be much
to aid one’s understanding of the subject. However, it greater. Its persistence has come from its ability to orga-
seems impossible to make general statements about com- nize and unify what otherwise would be a bewildering

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

0.38 0.2-1.5 2.2-3.5 2.2-3.6 Paper tape 3,600 10,000 —


0.40 0.5 mean 2.15 mean 3.9mean Magn. tape 5,600 18,000 Magn. tape
0.025 0.062 0.44-1.0 1.1 Cards 2,300 0 —
1A 1.5 mean 6 mean — Paper tape 3,800 0 =
0.64 1.2 3.36 oe Paper tape 3,800 0 Drum, 16K
1.0 Ss 2 . — Cards 800 —_ —
0.38 1.5 max. 3.6 max. 3.6 max Paper tape 1,300 15,800 Magn. tape
— 0.064 0.38 — Paper tape; cards 2,300 3,000 =
0.016 0.049 0.061 0.1 Paper tape 6,800 22,000 a
4.5 5 13 100 Magn. tape 5,000 1,300 ee
32 0.6-17 30-50 — Paper tape 3,271 6,773 =
0.1 min. 0.35 min. 0.42 min. Paper tape 2,200 3,000 —
17
Sa nnn nn EE ErnnnIEErEEEnneneeesee!
GAs DIGITAL COMPUTERS: HISTORY

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

FIG. 1. UNIVAC 1. (Photo: Lawrence Livermore Laboratories.)


DIGITAL COMPUTERS: HISTORY 451

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.

FIG. 2. IBM 704. (Photo: IBM.)


452 DIGITAL COMPUTERS: HISTORY

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-

FIG. 4. IBM System/360 Model 44. (Photo: IBM.)


454 DIGITAL COMPUTERS: HISTORY

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

FIG. 5. CDC 160-A. (Photo: Control Data Corporation.)


456 DIGITAL COMPUTERS: HISTORY

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

FIG. 6. CDC 6600. (Photo: Control Data Corporation.)


DIGITAL COMPUTERS: HISTORY 457

transistors just then becoming available, were densely


packed into modules called “cordwood” from the way
they looked.
The functional units permitted a measure of parallel
processing, since each unit could be doing a different
specialized operation at the same time. Added parallelism
was provided through “lookahead,” a process (pioneered
on the Stretch) by which the CPU examined the instruc-
tion stream and determined to what extent operations
could be fetched in advance of the time the functional
units needed them. (Interestingly, this made a branch
instruction that actually branched the most time-consum-
ing operation on the machine.) Likewise, the peripheral
processors could each be busy handling I/O, while the
central processor was executing program steps that did
not require connection with the outside world.
The 6600 went against the trend of using microcode
to build up an instruction repertoire. Curiously, it re
sembled the approach taken by the first digital comput-
ers, including the electromechanical Harvard Mark I
(1944) and the ENIAC (1946). In the Mark I,.for example,
there was no operation to “multiply.” Instead, lines of
paper tape were punched to route numbers to a multi-
plying unit. While doing the multiplication, the Mark |
could be coded to do something else as long as it did
not need that product (or the multiplying unit). The
6600 had two floating multiply units, each of which could
perform a multiplication in 1 microsecond, but no integer
multiply command. Seymour Cray believed in a very
sparse instruction repertoire, and his ideas presaged in
many ways the current trend toward reduced instruction FIG. 7. _CRAY-1. (Photo: Cray Research, Inc.)
set computers (RISCs - g.v.).

Cray-1 Control Data upgraded the CDC 6600 with the


7600 in 1969 and produced an incompatible supercompu- machine, but also one that had a distinctive and decep-
ter called the STAR in 1972. The latter machine was capa- tively small size and shape.
ble of parallel operations on vector data—a feature also Prices for a Cray-1 were on the order of $5 million and
used in the design of the Texas Instruments Advanced up. The Cray-1 sold well and the company prospered.
Scientific Computer (1972). Around that time, Seymour Control Data continued offering supercomputers for
Cray left CDC and formed Cray Research, whose goal was some time, but eventually withdrew from the business.
to produce an even faster machine. IBM had countered the announcement of the 6600 with its
In 1976, Cray Research announced the Cray-1, with own 360 Model 91 (1967), which, however, was a commer-
the first delivery in March to the Los Alamos National cial failure. However, other machines based on the
Laboratory. Preliminary benchmarks showed it to be ten 360/370 architecture in the late 1980s established IBM as
times faster than the 6600. Like that machine, the Cray-1 a competitor in the class. Cray research announced the
had 12 functional units and extensive buffering between X-MP, a multiple processor version of the Cray-1, in 1982,
the instruction stream and the central processor. Memory the Cray-2 in 1985, and the Y-MP in 1988. Several Japanese
options ranged from 250K words to 1 million 64-bit words. firms, including NEC and Fujitsu, entered the aréna with
The chief difference between the 6600 and the Cray was machines in the supercomputer class in the mid-1980s. In
the latter’s ability to process vector as well as scalar data. the U. S., several start-up companies entered the field in
The Cray-1 also achieved high speeds through inno- the late 1980s with machines with performance approach-
vative packaging. The computer used only four types of ing the Crays, but selling at lower cost.
chips, each containing only a few circuits that used emit- Beginning in the mid-1960s, the supercomputer was
ter-coupled logic (ECL). The circuits were densely packed established as a viable class of machines, rather than
and arranged in a three-quarter circle to reduce intercon- as specialized, one-of-a-kind experimental machines. The
nection lengths. Circuit modules were interconnected by persistence and ingenuity of one man, Seymour Cray,
wires, laboriously soldered by hand. The modules were had a lot to do with that. Although the class is well
cooled by liquid Freon, which circulated through alumi- established, the design of these machines tends to be
num channels that held the circuit cards. Large power idiosyncratic, with the personal preferences of individual
supplies located at the base of each column supplied designers playing a much larger role than it does in
power. These design decisions resulted not only in a fast other classes. Each designer seeks the fastest device
458 DIGITAL COMPUTERS: HISTORY

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

FIG. 1. A Tandy TRS-80 microcomputer system.


DIGITAL EQUIPMENT CORPORATION VAX™ SERIES 463

The Field Matures

The IBM PC The IBM Personal Computer was an-


nounced in the late summer of 1981. The announcement
was particularly significant because the entry of IBM into
this market signaled to the larger corporations that mi-
crocomputers were a legitimate part of the commercial
computer landscape (see IBM PC and PC-ComparisLes; Fig.
2 is a picture of a compatible made by Compaq.) Unex-
pectedly, IBM produced a machine that used mostly stan-
dard parts and had many of the open architecture
features of the Altair and the Apple. IBM allowed and even
encouraged hardware and software by non-IBM firms.
This openness, along with IBM’s strong reputation for
quality and service, quickly brought acceptance from
both business people and the existing microcomputer FIG. 3. Apple MacIntosh Plus (courtesy of Apple Computer).
culture. Soon the IBM-PC was the largest-selling personal
computer on the market.
then, later, for computationally intensive graphics for
The Apple MacIntosh The Apple MacIntosh (see Fig. 3) design and manufacture. As microprocessors grew more
project directed by Steve Jobs was completed during a powerful, it appeared that engineers could have their own
period when Apple’s fortunes were uneven. The special personal workstations (q.v.) that were especially built for
project team worked more than four years to produce the technological work. Using special, fast processors, large
“Mac.” As originally delivered, the new machine had very memories, and fast, high-resolution graphics on large
limited memory and was slow in operation. But it had a screens, engineers have established new and much
brilliant user interface (q.v.) that, along with Apple’s gen- higher standards for the young technology. The first com-
eral aura and the machine’s quaint appearance, made it a pany to make this dream into a commercial reality was
favorite among college students. In any case, sales of the Sun Microsystems, which produced the Sun 100 in 1984.
Apple II were strong enough to support the MacIntosh Since then, other manufacturers have joined the market
until it was improved. The most important factor in the and personal computers have begun to offer many of the
Mac’s survival was Apple’s adaptation and development features of the workstation for general use.
of desktop publishing (q.v.). This application gave the Mac For coverage of the current generation of personal
credibility in the corporate marketplace and greatly in- computers, see PERSONAL COMPUTING.
creased sales (see APPLE COMPUTER).
JON EKLUND
The Sun-1 From the beginning, engineering applications
pushed the new computer technology to its limits.
Engineers’ first needs were for calculating power and
DIGITAL EQUIPMENT
CORPORATION VAX™ SERIES
For articles on related subjects see DIGITAL COMPUTERS:
HISTORY; MINICOMPUTER; and VIRTUAL MEMORY.

Digital’s VAX systems comprise a broad family of


compatible computers. The first VAX system, the VAX-
11/780; was introduced in 1977 at an entry price of about
$200,000. Since then, the product family has been ex-
tended with models offering either higher performance or
lower cost, spanning the range from small desktop sys-
tems to large mainframes. The VAX-11/780, a very suc-
cessful “super” minicomputer, is still used as a norm for
performance ratings. The term VAX Unit of Performance
(VUP) is often used to rate other systems relative to the
VAX-11/780 computer.

VAX Architecture The VAX architecture defines the


common attributes of the VAX family, such as the instruc-
tion set, data types, memory management, interrupt han-
dling, exception handling, and other programmer-visible
COMPAQ Deskpro 486/33L (courtesy of COMPAQ).
behavior. Standardizing the architecture allows all hard-
464 DIGITAL EQUIPMENT CORPORATION VAX™ SERIES

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.

Operating Systems DEC supports three operating


environments for VAX systems: VAX/VMS™, VAX/Ultrix™,
and VAXELN™. FIG. 1. The MicroVAX 3100 Models 10e and 20e.
DIGITAL EQUIPMENT CORPORATION VAX™ SERIES 465

TABLE 1. The DEC VAX Series of Digital Computers


aes ae PR eS eetsed MOD es PA ee
Model Date Comments Circuitry Bus Cycle Time Cache Performance
ere rer SNS a ae Ne ee ee ny Sy ee i ee
VAX-11/780 1978 Schottky TTL Unibus/ 200 ns 8 KB 1.0 VUP
Massbus
VAX-11/750 1980 TTL gate array _—_Unibus/ 320 ns 4KB 0.6 VUP
Massbus
VAX-11/730 1982 TTL bit-sliced — Unibus/ 290 ns none 0.25 VUP
Massbus
VAX-11/782 1982 Dual-processor 780 2.0 VUP
VAX-11/725 1984 Repackaged 730 0.25 VUP
VAX-11/785 1984 Field updgraded 780 TTL Unibus/ 133 ns 8 KB 1.5 VUP
Massbus
VAX 8600 1984 First pipelined VAX ECL gate-array 80 ns 16 KB 4.0 VUP
MicroVAX-I 1984 First subset VAX TTL Qbus 250 ns none 0.2 VUP
MicroVAX-II 1985 Single chip Qbus 200 ns none 0.9 VUP
VAX 8650 1985 Field updgraded 8600 _ECL gate-array 55 ms 16 KB 6.0 VUP
VAX 8200 1986 VLSINMOS chip VAXBI 200 ns 8 KB 1.0 VUP
VAX 8300 1986 Dual-processor 8200 2.0 VUP
VAX 8800 1986 Dual-processor 8600- ECL gate-array VAXBI 45 ns 64 KB 12.0 VUP
VAX 8700 1986 Uniprocessor 8800 6.0 VUP
VAX 8500 1986 Slower 8700 3.0 VUP
VAX 8550 1986 Faster 8500 6.0 VUP
VAX 8250 1987 Faster 8200 160 ns 1.2 VUP
VAX 8350 1987 Dual-processor 8250 2.4 VUP
VAX 8530 1987 Faster 8500 4.0 VUP
MicroVAX 1987 Repackaged uVAX II SCSI 0.9 VUP
2000 -
VAX 88x0 1987 1-44 processor 8700 24.0 VUP
MicroVAX 1987 CMOS chip Qbus 90 ns 64 KB 2.7 VUP
3600
MicroVAX 1988 CMOS chip Qbus 90 ns 1 KB 2.5 VUP
3400
VAX 6200 1988 1-4 processors CVAX chip VAXBI 80 ns 256 KB 11.2 VUP
MicroVAX 1988 CVAX chip Qbus 60 ns 4.0 VUP
3800
VAX 6300 1988 1-6 processor 6200 CVAX chip VAXBI 60 ns 24.0 VUP
MicroVAX 1989 CVAX chip Qbus 90 ns 2.5 VUP
3100
VAX 1989 1-6 vector CPUs CMOS chip VAXBI 28 ns 128 KB 42.0 VUP
6000-400
VAX 9000 1989 1-4 pipelined CPUs ECL gate-array XMI 16 ns 128 KB 500 Mflops
VAX 1990 CMOS chip Qbus 28 ns 128 KB 8.0 VUP
4000-300

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.)

VAXstation 3100 In January 1989, Digital introduced


the successor to the VAXstation 2000, the VAXstation DECstation 2100 Announced in July 1989, this worksta-
3100. The VAXstation 3100 supports both a monochrome tion is the same as the DECstation 3100 except that it has
frame buffer and an 8-bit Dragon graphics subsystem. a lower SPECmark performance rating of 8.3.
The VAXstation 3100 came in two variants. The Model
30 is a small desktop enclosure that supports two
internal SCSI-based mass storage devices. The Model 40 DECsystem 3100 This was DEC’s first RISC-based multi-
supports five internal SCSI-based devices. The Models user/server system. The DECsystem 3100 was introduced
38 and 48 represented new CPU/FPU combination and in March 1989. This system allowed terminal users or
enclosures. In January 1990, Digital further enhanced networked-based server computing for a very attractive
the VAXstation 3100 family with the introduction of the entry-level price. This system is based on the DECstation
SPX graphics option. This graphics option supported 3100 and offers all of the same features except that it does
the X-windows system and offered up to 10 times the not support graphics.
performance of GPX graphics.

DECsystem 5400 Announced in July 1989, this system


VAXstation 3520/3540 This is a multiprocessor VAXsta-
uses a 64 KB instruction cache and 64 KB data cache. It
tion introduced in January 1989. The VAXstation 3520
has a SPECmark performance rating of 11.8.
offered two CPUs, while the 3540 offered four. In addition
to supporting multiprocessing, the VAXstation 3520/3540
also offered follow-on 3-D graphics capability to the DECsystem 5800 This multiprocessor system was also
VAXstation 8000 and the first 1280 x 1024 monitor. announced in July 1989. It can be configured with up to
four processors. It uses the memory, I/O, and packaging
RISC Workstation and System Family In Janu- of the VAX 6000 family. The uniprocessor version is rated
ary 1989, Digital announced its first RISC workstation at 11.3 SPECmarks. The fully-configured quad processor
based on a microprocessor designed by MIPS Computer system achieves a SPEC throughput rating of 39.
Systems, Inc. These new systems run the Ultrix operating
system and mark Digital’s entry into the open systems
market (see OSI). DECstation 5000 Model 200 This workstation, an-
nounced in April 1990, uses a 64 KB instruction cache and
64 KB data cache. The desktop system is expandable on
the desktop to 120 MB of ECC memory and up to 21 GB of
disk I/O. It is offered in several different configurations,
ranging from simple frame buffer graphics to hardware
accelerated high-performance animation quality 3D
graphics. The DECstation 5000 is also available in a multi-
user/network server configuration as the DECsystem
5400. It has a performance rating of 18.5 SPECmarks.

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.

FIG. 2. The VAXstation Model 76 workstation.


DILEEP P- BHANDARKAR
DIRECTORY 467

DIRECT ACCESS quickly (given a steady hand) to any desired position on


the surface of the disk to select the desired piece of
For articles on related subjects see ACCESS TIME; FILE; and
recording. In practice, the computer disk file is usually
MEMORY: AUXILIARY.
equipped with a number of disks, with a separate record-
ing head for each disk surface. In this way, the selection
Early hardware, developed for the storage of large
of a desired record at random can usually be made in a
files in a data processing system, depended on two
fraction of a second, and the computer system can there-
media—punched cards (in the very early days) and mag- fore respond in an acceptable time scale to the input item,
netic tapes on the early computers. Although widely dif-
usually in about one-third of a second.
ferent in physical characteristics, they had something in
Where higher speeds are required (measured, say, in
common—they forced the user to store file records in
hundredths of a second), magnetic drums (Fig. 1) are
some predetermined sequence and to process them in used. These are fast, rotating cylinders with file informa-
that same order. tion stored on tracks along the surface and with a record-
Punched-card users had had no option but to accept ing head for every track. There is no need, therefore, to
the limitations of their equipment, but there seemed to be move the heads (as with disk files), and the time for
something quite out of balance between the short time a access to required information depends only on the
computer took to update a file record and all the sorting, speed of rotation of the drum.
collating, etc., necessary to find the record in the first The need for speed in accessing file records is clear.
place. Worse, although users often could learn to live with What is even more obvious is the requirement for ultra-
these limitations, there were certain types of commercial rapid access to program instructions and data held in the
and industrial operations where they were quite unac- computer’s main memory. These are required with an
ceptable. In processing banking transactions, for exam- access time measured in millionths of a second or less so
ple, it is often very desirable to be able to update each that the speed of the arithmetic unit is not wasted.
record as and when each transaction is made. In any It is an interesting paradox that one of the fastest
system that calls for the interrogation of a file, such as devices currently used for random access to files, the
airline seat reservations, it is obviously imperative to be magnetic drum, was used in some of the earliest com-
able to handle each separate transaction as and when it puters for the main memory and was rejected because
occurs in a random sequence. it was too slow for random access to instructions and
Records in magnetic tape files are stored in the se- data!
quence of some key identifier, and access to them is It was replaced by magnetic core and then semicon-
therefore “serial”, i.e. item by item in that sequence. The ductor memory units, which form the majority of main
terms sequential access and serial access are therefore memories in today’s computers. These are capable of
used. What is required is a system for access directly to providing required data or instructions in times ranging
any desired record; the term usually given to this is direct from a few microseconds (millionths of a second) down
access or random access. to a few nanoseconds (billionths of a second), speeds
Not until the late 1950s was suitable hardware devel- compatible with those of arithmetic and control units.
oped to permit files to be stored in such a way that access Main memory is therefore also classifiable as direct ac-
to any desired record could be obtained in the same time cess memory or, as more commonly Called, random ac-
as to any other, and in an acceptably short time. The cess memory (RAM).
machine that first accomplished this was the IBM 305
RAMAC (Random Access Method for Accounting and Con- GRAHAM J. Morris
trol), and the storage device was the magnetic disk file.
The magnetic tape unit is in many ways like the
domestic tape recorder, where we often have to run
through many feet of tape to find the recording we want. DIRECTORY
The magnetic disk file is in many ways like the phono- For articles on related subjects see FILE; LOGIN FILE; and
graph, where the recording head can be moved very USER INTERFACE.

Read/Write A directory (or catalog) is a file of file names. More


heads specifically, a directory contains the names of all files that
reside on a particular volume (q.v.). A volume, in turn, is
a unit of mass storage, such as the diskette in a particular
floppy disk (g.v.) drive or a portion (called a partition) of
a hard disk (g.v.) drive.
The directory itself—a file of stored information—is
to be distinguished from that portion of the directory
selected for display. In the MS-DOS operating system used
Words stored on the IBM-PC and PC-compatibles (q.v.), for example, the
Track command
in parallel

FIG. 1. Magnetic drum. aes Bi


468 DIRECTORY

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

DIR Available Delete Filespec Log disk Makedir Print Rename


COMMANDS *Showal] ‘Tag AUntag Volume eXecute
scroll Return file commands ALT menu Fe quit —F2-help
FIG. 2. An XTREE screen showing hierarchical directory structure.

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

computer’s ADD command must be applied to operands DISCRETE MATHEMATICS


of a certain type (such as integers or real numbers).
None of the comments that were embedded in the For articles on related subjects see ALGORITHMS, ANALYSIS
original source code can be reconstructed, and the OF; ALGORITHMICS; AUTOMATA THEORY; BOOLEAN ALGEBRA;
synthesized source code will usually be far less readable CODES; COMBINATORICS; COMPUTATIONAL COMPLEXITY; COM-
than the original. What we hope to obtain through PUTER ALGEBRA; ERROR ANALYSIS; FORMAL LANGUAGES; GRAPH
disassembly, however, is a new source file that is logically THEORY; LOGIC DESIGN; LOOP INVARIANT; MATHEMATICAL PRO-
equivalent to the original, one that, when assembled GRAMMING; MATRIX COMPUTATIONS; NUMBER THEORETIC CALCU-
and executed, will produce the same answers as the LATIONS; NUMERICAL ANALYSIS; PROGRAM _ SPECIFICATION;
original. When the new source code does assemble PROGRAM VERIFICATION; QUEUEING THEORY; SEARCHING; and
cleanly and function as stated, it then provides a platform SORTING.
for modification and maintenance. The process is shown
in Fig. 1. Discrete mathematics encompasses those branches
of mathematics that deal with discrete objects, in con-
Reference trast to other branches, such as calculus and analysis,
whose main concern is with continuous functions. Some
1991. Federighi, F. D., and Reilly, E. D. VAX Assembly Language
branches of mathematics, such as numerical analysis and
Programming. New York: Macmillan Publishing Company.
linear algebra, have both continuous and discrete compo-
EDWIN D. REILLY nents. Another but somewhat simplistic perspective on
the contrast between discrete and continuous mathemat-
ics is that the underlying number system in continuous
mathematics is usually the real numbers, while for dis-
crete mathematics it is the integers. Because problems in
discrete mathematics often involve the integers, which
form an infinite set, discrete mathematics is not necessar-
ily finite mathematics.
Disassembler
The importance of discrete mathematics has in-
creased rapidly over the past two decades. The reason for
this is simply that digital computers are discrete engines,
since all calculations done on them are effectively based
Original ae Replacement on the integers. Even floating-point numbers form a dis-
source code source code crete system because the floating-point numbers repre-
sentable in any computer are a discrete set of points on
the real line.

Discrete Mathematics and Algorithms A\l-


Assembler Assembler though algorithms play an important role in continuous
as well as discrete mathematics, they are much more a
part of the warp and woof of discrete mathematics,
mainly because algorithms are so closely related to com-
puter programs. Moreover, algorithmics, the systematic
Original ee New study of algorithms, which is concerned with the develop-
object code — object code ment, analysis, and verification of algorithms, is a much
more important subject in discrete mathematics than in
continuous mathematics. This is true also because of the
close relationship of algorithmics to the solution of prob-
lems on computers. Algorithms are a crucial component
of most of the examples later in this article.

Proof in Discrete Mathematics Proof is just as


Computer = Computer important in discrete mathematics as in any other branch
of mathematics. But a striking feature about discrete
mathematics in contrast to continuous mathematics is
that, while many different methods of proof are applica-
ble in discrete mathematics, one method of proof—math-
Answers = Answers ematical induction—is quintessentially the most
important. In its most basic form, mathematical induction
proves the truth of a proposition P(n), which depends on
FIG. 1. The interrelation of assembly and disassembly. The some integer parameter n, for all n = ny by first proving
symbols =, #, and = are to be read “is identical to”, “is not the basis case P(n,) by any available proof method. Then,
identical to,” and “is close to identical to,” respectively. assuming the truth of P(n) for any unspecified value of n
DISCRETE MATHEMATICS 471

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.

Difference Equations Another name sometimes used


for this subject is recurrence relations. Two main sources

Initialize d(v,) to 0 and d(u,) to ~, i = 1,..., 0


U< {up}
repeat
Update the current distance function.
Find the vertex u not in U for which d(u) is a minimum;
if there is a tie choose u arbitrarily.
Ue UU {u}
endrepeat when u = v,
FIG. 1. The Shortest Path Problem. Object: Find the shortest
path from vp to v7. FIG. 2. A sketch of Dijkstra’s Algorithm.
472 DISCRETE MATHEMATICS

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

FIG. 3. Applications of Dijkstra’s Algorithm to the graph of Fig. 1. k represents


the count of the passages through the loop with k = 0 the initial state.

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)

where (1) is the difference equation itself and below it are


the initial conditions. By far, the most important difference where the r;’s in (2) are the roots of the polynomial equa-
equations are linear. tion

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

FIG. 4. Algorithm to generate all the permutations of 1, 2,..., n.


DISCRETE MATHEMATICS 473

tions that can be stated in English (e.g. traditional syllo-


gisms), as well as those that arise in the verification of
algorithms (e.g. the assertion of a loop invariant in an
and the c;’s are found using the initial conditions. The algorithm).
reader familiar with homogeneous, linear, constant coef- As an example of the latter, Fig. 5 displays an algo-
rithm to multiply two integers by repeated addition to-
ficient differential equations will see a close analogy be-
tween the solution of those equations and the solution of gether with the assertions to be used in the proof of the
algorithm. Focusing on the one labeled loop invariant, we
similar difference equations.
Other classes of difference equations, such as first- note that the proposition prod = uy can be proved to be
true when the loop is first entered and at each subsequent
order linear equations without constant coefficients and
some nonhomogeneous equations, can also be solved in entry into the loop. The proof is essentially by mathemat-
ical induction (actually a finite induction, which is very
closed form but, as with differential equations, most dif-
ference equations cannot be solved in closed form. How- common in proofs of algorithm correctness). Since u = x
when the loop is finally exited, the final value of prod is xy
ever, when a difference equation cannot be solved in
as desired.
closed form, we can always just compute as many values
Propositional logic is used in the design of computers
of the solution of (1) as we wish by brute force. That is,
in its form as Boolean algebra (q.v.), wherein it is used to
with n = k + 1, we can just plug the initial conditions into
design logical circuits that realize particular Boolean
(1) and compute y,, ,, withn = k + 2 wecan compute Viareos
functions (see Locic DESIGN). Such logical circuits can then
etc.
be fabricated on chips.
As an example of the use of difference,equations in
In more sophisticated attempts at the verification
analyzing algorithms, consider the algorithm for binary
of algorithms than that shown in Fig. 5 and in most
search in the article SEARCHING. If we count the worst case
applications of logic elsewhere in computer science, it
of the number of comparisons c,, of the search item with
is not the propositional calculus but its more sophisti-
items on a list of length 2” (where we choose a power of
cated cousin, the predicate calculus, that must be used.
2 as the list length to keep things simple), we obtain the
The predicate calculus deals with predicates, which are
difference equation
propositions containing variables so that whether a
predicate is true or false depends upon the values of
its variables. Thus, “x is a feminist” is a predicate that
would be true if x is Gloria Steinem and false if x is
whose solution is c,, = m+1. This is just the solution given
Phyllis Schafly. The crucial concept in the predicate
in the article on SEARCHING, if you set the list length n = 2”.
calculus is that of a quantifier. The universal quantifier
is written V and read “for all” so that
Mathematical Logic Mathematical logic (hereafter just
logic) has become an accepted part of discrete mathemat- (Wn) P(r)
ics. One reason for this is that all efforts at the verification
of algorithms inevitably involve the notation and meth- is true if P(n) is true for all values of n and false otherwise.
ods of logic. The other is that mathematical logic has (Except when the domain of nis given—see the examples
always played an important role in the design of comput- below—the domain is normally the positive integers or
ers and is playing an increasingly important role in vari- the nonnegative integers.) Using the universal quantifier,
ous branches of computer science, particularly artificial we may express formally the idea of proof by (weak)
intelligence (q.v.). One component of logic that is always mathematical induction. That is, to prove
part of discrete mathematics courses is the propositional
calculus, which is concerned with the analysis of proposi- (Wn: n= n,) PCr),

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

Input A [n X(n+1) augmented matrix [A|b], with entries ay]


Algorithm GAUusSs-SQUARE [Works if no 0 pivots]
procedure DOWNSWEEP(i) {Subtract multiples of row i from lower rows]
fork =i+lton [k varies over rows below {]}
mM, — Ay; /Q;
a,;<— 9 [Assigning saves a step over computing]
for /=i+1ton+1 [/ varies over entries in row k]
Oy — Ay — MG,
endfor
endfor
endpro
procedure Scale (/)
Fine= Fins
1/Qi
a,<— 1
endpro
procedure Upsweep(i) [Subtract multiples of row i from higher rows]
for k = i-1 downto 1
Ben +1 Fanti Fri Fint 1
a,;<— 9
endfor
endpro
fori=lton [Main algorithm]
Downsweep(i)
endfor
for i = n downto 1
Scale(i)
Upsweep(i)
endfor
Output A {Last column is solution]

FIG. 6. Algorithm to find the solution of Ax = b when A is an n X n matrix, by Gaussian


elimination.
476 DISTRIBUTED SYSTEMS

Coefficient Matrix A Constant Column b

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 —

FIG. 7. Analysis of Algorithm Gauss-Square. Each entry represents the count of


multiplications and divisions in the indicated portion of the algorithm.

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

FIG. 1. A typical distributed computing system.

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

Capabilities of Distributed Systems A good


distributed system should provide at least the following
capabilities:
Local
(Inventory
e The user should view the system in the same man- -~---—— “

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

Example Applications Applications of distributed Company


computing are common in commerce, financial in- Headquarters
stitutions, industry, government, the health care field,
Outstanding
and the military. A situation in which a distributed system ~“.
eee ee
-

might be especially appropriate is in a company with Sales


dispersed operations, such as a national warehouse sys- Trends
tem or branch sales offices. The important characteristic
is that there be a combination of storage and data pro- FIG. 2. Anexample of a distributed application.
cessing that can be performed locally while generating
only a relatively small amount of external activity that
must be sent to other locations for further processing. It
should be noted, however, that decisions on the distribu- distributed system. These airline systems need to work
tion of both processing and data are more often than not together to organize passenger transfers, crew manage-
based on management or organizational factors rather ment, recovery from aircraft failure, etc.
than on the technical characteristics of the operation. Fig. A system currently being built will be used to collect
2 illustrates a simple example of what might be a portion data from meters and other instrumentation and convey
of a complete distributed system. Branch office comput- it to utility companies. Individual meters will transmit
ers handle all local activities, while the headquarters’ readings and receive control signals, using low power
system processes aggregated data at the corporate level. radio. The data will be relayed by message concentrating
Another example would be a national chain of super- computers, each serving an area about 100 meters in
markets in which local inventory and point-of-sale ac- radius, passing messages on, by radio, until they reach
counting may be supported at each market by a single the computers holding company databases, or sending
computer system. These can be interconnected to allow disconnect and reconnect messages. In a limited applica-
common financial management, and they can be con- tion operating within the United Kingdom alone, it is
nected to warehousing and the transport fleet to organize anticipated that 4 million computers will be involved in
restocking. They may also be connected to computers at the distributed system. Similarly, the system supporting
their suppliers to organize reordering, billing, and dis- brokers and stock exchanges and other financial institu-
patch. While a consistent regime may operate in all mar- tions also forms a worldwide distributed computing sys-
kets, it is unlikely that all of their suppliers will run similar tem.
systems; hence, inhomogeneity is inevitable. Depending on the application, we may find either a
When many companies cooperate on a manufactur- uniform, tightly-coordinated system with very specific
ing task—aircraft production for example—they will goals, such as a bank and its state- or country-wide
share design data, test cases, and test results among their branches, or else a system with considerable variation of
computers. Later, they will manage scheduling, inventory, goals and interests at each site and that functions in only
and marketing via their shared distributed computing a partial, loosely coordinated, collaborative way, such as
system. the international collection of stock exchanges and deal-
Airline reservation systems are only one aspect of an ers. A system with such partial collaboration is called a
airline management system that may form a worldwide federated system. Since a company may participate in
DOCUMENTATION 479

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:

1. Sales forecasting (linking with sales accounts).


DOCUMENTATION i). Parts explosion and production batching/netting
(linked with engineering design).
For articles on related subjects see ADMINISTRATIVE APPLICA-
TIONS; DECISION TABLE; FLOWCHART; PROGRAM SPECIFICATION; . Plant resource allocation and scheduling.
SOFTWARE ENGINEERING; STANDARDS; and STRUCTURED PROGRAM- . Materials ordering/tooling and allocation.
MING. . Monitoring job progress.
. Scrap and bonus reporting (linking with payroll).
Documentation is a vital part of developing and using —
Oo. Job costing (linking all systems).
NID

a computer-based system and an integral part of what is


now Called software engineering. In some commercial or- Most of these functions are closely interrelated. Some 20
ganizations, 20% or even more of the total development or 30 separate job functions or organizational units may
effort goes into the documentation of the new system, be involved with the development, implementation, and
recording how it is to work and how it was developed. running of the computer system. In addition to job func-
Documentation of a computer project falls into two broad tions such as those described, different levels of user staff
categories—development documentation and control will involve senior or executive management, line man-
documentation. Development documentation records agement, and supervisors and operators. Similarly, a
how a computer-based system is structured and what it number of job functions will be performed by personnel
is supposed to do and gives the background information in the data processing or management services depart-
upon which the design is founded. Control documenta- ment; for example:
tion, on the other hand, serves an administrative func-
tion: It records the resources used in developing and 1. Business analysts, internal business consultants
implementing the system, and includes such documents who advise management on business methods
as project plans, schedules, resource allocation details, and who identify areas for improvement.
and progress reports. 2. Systems analysts (q.v.), who investigate, analyze,
and specify a new system.
Functions of’ Documentation Documentation 3. Systems designers, who design the new system
serves four main functions: (computer and manual procedures) in detail.
4. Programmers, who design, code, and test the
1. Intertask/interphase communication. computer programs for the system.
2. Historical reference for modification and correc- 5. Operators, who are responsible for the day-to-
tion. day running of the system.
3. Quality and quantity control.
4. Instructional reference. There may also be general support or service staff within
data processing, such as maintenance programmers, soft-
The relative importance of each of these depends on ware support people, forward pianners, and standards
many factors. For example, one of the most important is analysts. In a small installation, many of the job functions
the scope and type of the project; it may be a large-scale listed above may be performed by one person or a small
commercial system, or a scientific problem-solving pro- group; in a large installation, each job function may be
gram used by one or two technicians on a limited amount performed by a specialist group. Keeping people in-
480 DOCUMENTATION

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

FIG. 2. Documentation flow.

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.

Documentation Maintenance and Control


Once a program has been implemented, the documenta-
tion must be retained for subsequent reference. When the Summary Documentation is a vital element in devel-
system is changed, the documentation will be consulted oping and running any computer project, whether in a
and altered accordingly. It is vital to revise the documen- government, business, academic, or military installation.
tation so that it completely and accurately reflects the It must not be handled in a haphazard fashion; formal
operation of the system at all times. If the documentation documentation standards must be laid down and en-
is not so revised, then further maintenance will be very forced. These standards must cover all areas—users, sys-
difficult. After any major amendment, all affected pro- tems, and programming and operations. In a modern
grams will have to be retested to prove that the changes computer installation, the flow of documentation can be
have been made correctly and that they do not disrupt or complex, encompassing in-house systems and programs
invalidate other processing. as well as externally produced software.
It is necessary, therefore, to insure that the appropri-
ate control procedures are used. All changes should be
properly recorded and all copies of the documentation
References
updated. There is a strong case here for restricting the
number of copies of the documentation to reduce the 1963. Brandon, D. Management Standards for Data Processing. New
time spent in revising records and to minimize the risk of York: Van Nostrand Reinhold.
out-of-date copies being used by mistake. All copies 1972. Van Duyan, J. Documentation Manual. Philadelphia: Auer-
bach.
should show current parameter requirements for the op-
1973. London, K. Documentation Standards (Rev. Ed.). Philadel-
erating system, language rules, limitations and parame-
phia: Auerbach. :
ters for utility programs, and operating error messages 1980. Basic Concepts of HIPO Programming. Delpan, NJ:
produced by all software programs. A large installation DATAPRO.
will not only create a central records library, but also 1990. Roetzheim, W. H. Structured Design Using HIPO-IL. Englewood
appoint a full-time librarian to cope with amendment Cliffs, NJ: Prentice-Hall.
distribution control. This is sometimes handled by a
“software support” department, which will insure that KEITH R. LONDON
DPMA (DATA PROCESSING MANAGEMENT ASSOCIATION) 485

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

CCITT V.35 CCITT V.35


Interface Interface

Digital Service (DDS) communication line


conforming to AT&T Publication 62310
FIG. 1. Typical application of a DSU/CSU.

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

ee # a a 2h tly 6 eae | Jit J a ev f theres g ab) d ne 3


} i ‘ x '
oe dicted Tier: » eres “peed ag iz-
? : ; ’
hs wai é kee OD fi 4
ar " 4 - ro j naga
om ad ee

MATSH No te 1H reps a. una Mig} | hen ae Oe e


= .

Seeman. Eaeghnes ALSO, Kiek Case et teed, Viihagheain Ves


ey e =
gi : ca
ten dk, teehe, TRE : ~

alk mablaniinpastn: GON} Sy ive iis i o

tered gir wind tuveltes-\dnase


. oO)! ’ 0 °Ve7 HOGA i THTA & poate
reyes uh a2 ; td

Pet Gh. Ges spits AG y : ’ oo) RS


west. .fPary ti yeas
Pris Ae vaiieg FP wy bs : ay ’ J pag Pe
ere 2 1F oS
” ~ Neri
ienen a it
ie Oe sh

Bee AReedy Sapte n, <cum


t foe sal Rayetai aebesy
Cantey Ah TON
| : y Es

: 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

pusleceesilatrenrigss »A> ted tthe .otal ‘ tiie iivad qonl


« buts
ier: nies iret wheal? thoes ile GH Hh Lact seg) iss
: r peGehes RWS Mares: SVM T wea eee lid ea CAA, HH
pied enaiedaurn, Ky fect des buys arse xa oe

— Radhic seathees: Duele vied (acihy: cpuenadl-vrike OO! GL Med. oy pg beanchwr ct


divelepe’ PY the “~ Were teds: re eee qos Snes Me
-geserici> eth ce bees / ae d
= ipeblaveen wie.ative Sry
_ Sertboety. She weetigia ii Ag Seteee snd) ea A a a ay
— dmaden iciga:.. BAe tuicnns 6: k>ty sy Re 7? urs Sesy f soehrnesd me
i> Mitigeesa <4! |Rendbaday thafiiesiaw «pndiet 201 ot caeat, gies sivel contre r
aivratiie we ondy dan Wiis pais STIR wer dicisataacebatial
*. deasmgeronpereg > (oan)
PAG Ges AIH Law pk > . oe earls
9 fas eae
%~ Bs Cethors neyENR AM anne
Mamita nena aaclevw! ath eth sowledirts a bcemrerans ~~ SRE Me Rahs ety fit
Y Knot amon: ete alee fagh ie Bee forte
© Sh eo tee ieee
‘why ie biti iwi aeHaeS ab Python wtb
LET eS. owed as | eet His
PO CARR Wey Lent aie y
i oti ee ats iperht (iw deo iain el phair
sheaON
ng
ari iN
TPS) fe cranny
»fe eth 98
ae

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

eee pe,61 yeas = Ay NOdi aswie revit


entiats4 cere role
aitet
Ps seday elee a ae. icv” 8 ta toed wd
mr acaniolBoe
Be i st so Seat tere!
4 +2
OO ‘
AMEE
r*
SDT petitions, vilsitiaengty
} ; < = Sh - * att ye “ OM saves
e pa ' ee te ey
a aioe ea re te
he Ser Oval aa 1999987 a
: “anne ies; + oJa 19 A TAG
: , bs an ate tae

edule : ~ au
Ati (NTA = JAMAL

Sue Sy
E-MAIL. See ELectRonic MAIL. TABLE 2.

Character Card Punches

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

The Extended Binary Coded Decimal Interchange


Code (EBCDIC) was developed by IBM for use on the
The meanings of the control characters and special
IBM 360-370-390 (g.v.). In order to remain compatible
graphics, as well as the card-punch patterns of charac-
with IBM mainframes, certain other computers also use
ters that do not conform to the rules above, are shown
EBCDIC, but the IBM-PC and most new computers now
in Fig. 1.
use ASCII.
Fig. 1 shows the 256 (= 2°) combinations for EBCDIC, IVAN FLORES
many of which are unassigned. The leftmost four bits (or
first hexadecimal digit) of the eight-bit code are shown
across the two rows at the top of Fig. 1 and the rightmost
four bits (or second hexadecimal digit) in the first column
ECHOING
on the side. Table 1 gives an example. For articles on related subjects see DATA COMMUNICATIONS;
Also shown in Fig. 1 are the punches on an IBM card and MODEM.
corresponding to each of the characters of the code. Zone
punches (12, 11, 0, and occasionally 9) for characters In computing, an echo is a character or message
above (below) the heavy black lines are shown at the top retransmitted by the recipient fast enough to give assur-
(bottom). Digit punches (1 to 9) for characters to the left ance to the sender that it was received correctly. When
(right) of the heavy black line are shown on the left communicating over phone lines to a distant computer
(right). Table 2 gives an example. using a video display terminal (VDT) or a personal com-
puter, echoing relates to whether the characters that
appear on the screen as you type are merely those that
TABLE 1. correspond to the keys struck or whether they corre-
spond to a round trip that the characters make: keyboard
Code over the phone to the distant computer that sends them
back over the transmission line to the screen. The truly
Symbol Binary Hexadecimal
echoed character gives assurance of accurate receipt; the
character that appears because of a local path from key-
4 11110100 F4
Y 11101000 E8 board to screen does not. When using a simplex (one-
c 10000011 83 way) line such as might be attached to a teletype, echoing
= 01111110 7E is not an issue. When using a half-duplex line (two-way
a eee EEE UE SEER ESSEIEID RUEIEEEEEUEEEEE transmission, but only one way at a time), true echoing

489
490

Bit Positions 0, 1

Bit Positions 2, 3

First Hexadecimal Digit

: 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

G) 12-0-9-8-1 G) No Punches (3) 12-0 (3) 0-1


@) 12-11-9-8-1 ©) 12 11-0 11-0-9-1
@) 11-0-9-8-1 @ 11 (1) 0-8-2 (is) 12-11
() 12-11-0-9-8-1 12-11-0 (12) 0

Control Character Representations Special Graphic Characters


ACK Acknowledge EOT End of Transmission PF Punch Off ¢ Cent Sign Zi
BEL Minus Sign, Hyphen
Bell ESC Escape PN Punch On . Period, Decimal Point / Slash
BS Backspace ETB End of Transmission Block RES Restore < Less-than Sign A
BYP Bypass ETX End of Text
Comma
RS Reader Stop ( Left Parenthesis % Percent
CAN Cancel FF Form Feed SI Shift In + Plus Sign te Underscore
cc Cursor Control FS Field Separator SM ___ Set Mode | Logical OR > Greater-than Sign
CR Carriage Return HT Horizontal Tab SMM _ Start of Manual Message & Ampersand
cu1 Customer Use 1 IFS
? Question Mark
Interchange File Separator so Shift Out ! Exclamation Point
CuU2 Customer Use : Colon
2 IGS Interchange Group Separator SOH Start of Heading $ Dollar Sign # Number Sign
Ccu3 Customer Use 3 IL Idle SOS Start of Significance . Asterisk
DCI Device Control 1
@ At Sign
IRS Interchange Record Separator SP Space ) Right Parenthesis y
DCc2 Device Control
Prime, Apostrophe
2 1US Interchange Unit Separator STX Start of Text ; Semicolon =
DC4 Device Control 4 Lc Lower Case Equal Sign
SUB Substitute “1 Logical NOT ‘.
DEL Delete LF Line Feed Quotation Mark
SYN — Synchronous Idle
OLE Data Link Escape NAK Negative Acknowledge ™ Tape Mark
os Digit Select NL New Line UC Upper Case
EM End of Medium NUL Null VT Vertical Tab
ENQ Enquiry

FIG. 1. EBCDIC code combinations.


ECKERT, WALLACE J. 491

can be done only at great loss of speed. With a full-duplex


line (simultaneous transmission in both directions),
echoing can be done very efficiently because the echo of
one character can cross the transmission of the next
without inhibiting the fundamental data transmission
rate of the communications channel (q.v.) being used.
There is also a software meaning of echo, When input
is supplied to a running program by typing it at an interac-
tive terminal, it will show on the screen, but not on what-
ever printed output results from the computation being
done. To be sure that printed output represents the an-
swers to the correct problem, programmers may include
in their programs explicit write statements that “echo”
input to the output file as soon as it is received. The echo
may be a literal image of the incoming data, or it may be
presented more usefully in labeled form. A fragment of
Pascal code that illustrates the latter usage might be:
write( ‘Enter value of radius: ’);
{Ask for input}
readin(radius); {Read input value}
writeln(’radius = ’, ;
FIG. 1. J. Presper Eckert.
radius) {Echo the input}

EDWIN D. REILLY Dr. Eckert received an honorary degree of Doctor of


Science in Engineering from the University of Pennsylva-
nia in 1964. In 1969, he was awarded the National Medal of
Science, the nation’s highest award for distinguished
ECKERT, J. PRESPER achievement in science, mathematics, and engineering.
A Fellow of the Institute of Electrical and Electronics
For articles on related subjects see DiGITAL COMPUTERS: Engineers and a member of the National Academy of
HISTORY: EARLY; ENIAC; MAUCHLY, JOHN W.; and UNIVAC I. Engineering, Dr. Eckert is listed as the inventor or
co-inventor on 87 patents.
J. Presper Eckert, co-inventor of ENIAC, was born in
1919 in Philadelphia. He received a Bachelor of Science MICHAEL M. MAYNARD
degree in electrical engineering from the University of
Pennsylvania’s Moore School of Electrical Engineering in
1941, and his Master’s degree under a graduate fellowship
from the Moore School in 1943.
ECKERT, WALLACE J.
Dr. Eckert collaborated with Dr. John W. Mauchly, of For an article on a related subject see DiGiITAL COMPUTERS:
the Moore School’s staff, on developing ENIAC (Electrical HISTORY: EARLY.
Numerical Integrator and Computer) for Army Ordnance
between 1943 and 1946. This was the world’s first all-elec- Wallace John Eckert was born in Pittsburgh, PA, 19
tronic general-purpose digital computer, and could per- June 1902 (d. Englewood, N.J., 24 Aug. 1971). Much of the
form 5,000 additions or subtractions per second. Its credit for the introduction of machine computation into
development launched the computer industry as we astronomy belongs to him. The significance of the com-
know it today. puter impact on astronomy is comparable to that of the
In 1947, Dr. Eckert and Dr. Mauchly incorporated introduction and use of the telescope and photography.
their venture as the Eckert-Mauchly Computer Corpora- Eckert was raised on a farm in Albion, PA, the second
tion. They developed BINAC, the first electronic and fully of four boys born to John and Anna (Heil) Eckert. He
self-checking computer, in 1949. Their next project, UNI- received his A.B. degree from Oberlin College in 1925 and
VAC (Universal Automatic Computer), was well under his M.A. from Amherst in 1926. In 1931, he was awarded
way when Remington Rand acquired the Eckert-Mauchly his Ph.D. in astronomy by Yale University. He joined the
firm in 1950. Columbia University Department of Astronomy as an as-
Dr. Eckert became director of engineering for Reming- sistant instructor in 1926.
ton Rand’s Eckert-Mauchly Division, which completed In 1928, Professor Ben Wood formed the Columbia
UNIVAC I. He became vice-president and director of re- University Statistical Bureau using punched-card equip-
search in 1955, vice-president and director of commercial ment donated by Thomas Watson, Sr., of IBM. It was here
engineering in 1957, vice-president and executive assis- that Eckert was first exposed to the possibility of using
tant to the general manager in 1959, and vice-president machines to facilitate computation. From 1929 to 1933, he
and technical advisor to the president of Sperry-Rand, used the machines in Prof. Wood’s laboratory for the
Univac division, in 1963. interpolation of astronomical data, the reduction of ob-
492 EDUCATION IN COMPUTER ENGINEERING

2060. This work still serves as the Ephemeris predictions


for these planets.
Eckert’s most important purely astronomical con-
tributions were in relation to the moon’s orbital motion.
This and later work in the area of lunar coordinates
and orbital parameters (1966) provided the operational
basis for NASA’s Surveyor, Lunar Orbiter, and Apollo
projects.
He retired from IBM in 1967 and as Professor of Celes-
tial Mechanics at Columbia in 1970.

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).

EDITOR. See Text Epitinc SYSTEMS; and WORD PRO-


servational data, and the numerical solution of planetary
CESSING.
equations. In 1933, with the encouragement of Ben Wood,
he convinced Watson to install punched-card equipment
and a control unit for astronomical calculations. This led
to the formation of the T. J. Watson Astronomical Comput- EDUCATION IN COMPUTER
ing Bureau, jointly operated by Columbia, IBM, and the
ENGINEERING
American Astronomical Society (1937-1945). During this
period he published his landmark work (1940), “Punched For articles on related subjects see COMPUTER ENGINEERING;
Card Methods in Scientific Computation.” COMPUTER SCIENCE, ACADEMIC; and EDUCATION IN COMPUTER
He was director of the U.S. Nautical Almanac Office in SCIENCE.
Washington, D.C., from 1940 to 1945. He introduced ma-
chine methods to data handling in the Naval Observatory A computer engineering education is the academic
as well as the Almanac Office. During the war he designed preparation provided to students to prepare them witha
the “American Air Almanac,” a great navigational influ- broad and well-integrated background in the concepts and
ence that is still in use with only minor modifications. methodologies that are needed for the analysis, design,
In 1945 he was appointed head of IBM’s Pure Science and utilization of information processing systems in a
Department and became director of the Watson Scientific world of rapidly changing technology. Such education dif-
Computing Laboratory. The Laboratory not only per- fers from a computer science education (when it is import-
formed needed computations, but also provided a training ant to make the distinction between the two) in the sense
ground in machine computation for more than a thousand that science is different from engineering, and relevant
scientists in crystallography, geology, chemistry, statis- education should reflect the preparation required to pre-
tics, optics, and solid-state physics, as well as astronomy. pare the student for work in the corresponding discipline.
Eckert was instrumental in the construction of IBM’s Nominally, science is more concerned with understanding
Selective Sequence Electronic Calculator (SSEC, 1949) underlying principles, and engineering is more concerned
and the Naval Ordnance Research Calculator [NORC, with the cost-effective harnessing of those principles. As
1954 (qg.v.)]. Using the SSEC, Eckert, Dirk Brouwer of such, a computer engineering education has a much
Yale, and G. M. Clemence (1951) of the U.S. Naval stronger emphasis on the basic mathematical sciences
Observatory computed the precise positions of Jupiter, and insistence on training and experience in design.
Saturn, Uranus, Neptune, and Pluto for the period 1653- Like all engineering disciplines, an education in com-
EDUCATION IN COMPUTER SCIENCE 493

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 1. Certificate and Associate Degrees: 1982-1989

C&S Business data processing

Year Certificate Associate Certificate Associate

1982-83 1,960 10,065 4,005 16,307


1983-84 2,327 12,824 4,768 18,709
1984-85 2,453 12,677 4,363 18,835
1985-86 1,889 10,704 4,179 15,926
1986-87 1,977 9,098 3,213 13,294
1987-88 1,800 8,628 3,135 10,255
1988-89 1,534 7,914 2,711 9,673

Source: U.S. Department of Education, National Center for Educational Statistics


496 EDUCATION IN COMPUTER SCIENCE

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:

The Undergraduate Curriculum The under- CO1: Principles of Computer Organization


graduate program varies from university to university, CO2: Algorithms
depending upon such factors as the resources available, CO3: Theory of Computation
the amount of specialization deemed useful, and the inter- CO4: Principles of Programming Languages
ests of the faculty. Even the content of specific courses is,
in some cases, quite variable. As noted earlier, the most The program requires a second course in mathematics
comprehensive attempts made to date in defining the selected from discrete mathematics II, calculus, and lin-
scope and content of an undergraduate program in com- ear algebra, and three remaining computer science elec-
puter science have been the works of the ACM Curricu- tives. A strong laboratory component is considered
lum Committee, “Curriculum 68” and “Curriculum 78.” In essential for CS1, CS2, and CO1, and is desirable for CO4
particular, the 1968 report had a profound effect on shap- and many of the electives.
ing the direction of computer education in the then still
emerging discipline. Computer Science and Engineering (IEEE) The Educa-
The program prescribed in Curriculum 68 reflects the tional Activities Board of the IEEE developed two model
viewpoint of those advocating a strong specialization in curricula for accreditable programs in computer science
computing at the undergraduate level; as such, it follows and engineering in schools of engineering (Cain, 1977 and
the traditional pattern of most scientific and engineering 1983, IEEE Computer Society). The 1983 report updates
undergraduate programs. The large component of com- the original curriculum and expands it to cover all re-
puter and mathematics courses recommended (between sources needed to define a high-caliber undergraduate
one-half and two-thirds of the total undergraduate course program in computing, including guidelines for the devel-
load) plus technical electives in computer-related dis- opment of faculty, adminstration, and material.
ciplines, leaves little room for non-technical subjects in The general requirements for an accreditable curric-
the humanities and the social sciences within the normal ulum are:
four-year program.
As noted earlier, “Curriculum 78,” revised the recom- e One-half year of mathematics beyond trigonome-
mendations for the undergraduate program. The revision try.
reflects the significant developments that occurred One-half year of basic sciences.
within computer science education during the interven- One year of engineering sciences.
ing decade. Curriculum 78 provides somewhat greater One-half year of engineering design.
flexibility than Curriculum 68 in the content of courses, One-half year of humanities and social sciences.
emphasizing the objectives of such a program and the
subject matter to be covered. Aside from the proposed For the requirements in computer science and engineer-
curriculum, the report discusses such topics as service ing, the report lists a core of 13 subject areas that map
courses, continuing education, computing facilities, and into 33 semester hours (11 3-credit courses). In addition,
staff. a course in discrete mathematics (q.v.) is a prerequisite
Curriculum 78 proposed the following requirements or corequisite for all subject areas in the core except
for SAl. Three additional professional electives in com-
for computer science majors:
498 EDUCATION 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

This committee was superseded by a curriculum


Although early master’s programs in computer sci-
committee on information systems that published their
ence did not require a bachelor’s degree in computer
recommendations in the report “Information Systems
science or even substantial prior study in the field, stu-
Curriculum Recommendations for the 80s: Undergradu-
dents entering a master’s program should now have aB.S.
ate and Graduate Programs” (Nunamaker et al. 1983). The
in computer science or at least the equivalent of the
committee updated the curricula and its requirements,
material included in CS1 through CS8 of Curriculum ’78,
stressing the inclusion of the American Assembly of Col- and mathematics through calculus, linear algebra, dis-
legiate Schools of Business common body of knowledge crete structures, and one course in probability and statis-
as a Major component of the program and introducing an tics. Maturity in both abstract reasoning and the use of
MIS policy course as a capstone to the program. There are models, as well as one or more years of practical experi-
eight required information systems courses for the under- ence in computer science, are desirable.
graduate student, and ten for the graduate student. The According to this report, the master’s program
ten courses for the program are listed below; most of the should provide both breadth in several areas and depth
graduate courses contain a difference in emphasis, depth, in a few. In addition, it should allow a degree of flexibility
and content. to address individual needs. The typical program will
consist of 30 to 36 semester hours in courses from the
Information Systems Technology following subject areas:
IS1_ Computer Concepts and Software Systems
IS2__ Program, Data, and File Structures . Programming languages
IS4 Database Management Systems . Operating systems and computer architecture
IS6 Data Communication Systems and Networks
. Theoretical computer science
IS7 Modeling and Decision Systems (graduate
. Data and file structures
program only)
= . Other topics
Nh
WN
Information Systems Concepts in Organizations
IS3__ Information Systems in Organizations
IS5 Information Analysis The report lists 30 courses in these five areas with brief
descriptions.
IS8 Systems Design Processes
The program should include at least two courses
IS9___ Information Systems Policy (graduate program
from A, two courses from B, and one course from each of
only)
C, D, and E. Each student’s program should contain at
IS10 Information Systems Projects
least four computer science courses that are for graduate
students only. Beyond coursework, each student should
Courses for Non-Majors Many undergraduate courses in
be required to participate in some summary activity, such
computer science attract not only the major in computer
as a thesis, project, internship, seminar, or comprehens-
science (or information systems) but also students major-
ive examination.
ing in other disciplines who complete a minor in com-
Doctoral programs in computer science are intended
puter science. For those who do less, the introductory
for students with theoretical or research interests, and
course in programming is still a popular option, espe-
most such programs reflect the research interests of the
cially for students majoring in mathematics, science, or
faculty members. In general, courses are similar to those in
engineering, but the liberal arts or business student wil!
the master’s degree programs. Of course, the doctoral the-
often instead take a course in computer literacy, comput-
sis lies at the heart of the doctoral program. It is the means
ers and society (q.v.), or management information sys-
by which the student demonstrates the capability for orig-
tems (q.v.) that emphasizes the development of computer
inal contribution to knowledge. This demonstrated capa-
literacy through the use of microcomputer packages
bility is the fundamental requirement for the doctorate.
rather than through actual computer programining.

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

be ordered from the ACM Order Department, P.O. Box 64145,


very early given the status of an autonomous scientific
Baltimore, MD 21264.
discipline because of the definition of the word “in-
1981. ACM. “Recommendations and Guidelines for an Associate
Level Degree Program in Computer Programming,” J. C. Little,
formatique” by the Académie Frangaise in 1966. Except in
Editor, ACM Order #201812.
English-speaking countries where computer science is still
1983. ACM. “ACM Curricula Recommendations for Computer Sci- the normal designation, informatique or its variants in
ence, Volume I,” ACM Order #201831. other languages is the standard name for the discipline.
1983. ACM. “ACM Curricula Recommendations for Information In the late 1950s, there was the European Computer
Systems, Volume II,” ACM Order # 201832. Manufacturer Association (ECMA), which played a role in
1983. ACM. “ACM Curricula Recommendations for Related Com- the definition of the language Algol 60, but its action was
puter Science Programs in Vocational-Technical Schools, restricted to defining technical standards and it has
Community and Junior Colleges, and Health Computing, Vol-
played no role in education. There has been no European
ume III,” ACM Order # 201833.
group (up to 1990) that has tried to define a “European
1985. ACM. “Curricula Recommendations for Secondary Schools
and Teacher Certification,” ACM Order #201850.
curriculum” and in each country the national “Computer
There have been several national surveys on computers in higher Science Society” set up a specialized group to discuss the
education and computer manpower conducted by Hamblen. curriculum problem. In all countries, the discussions
These report on computing facilities and related expendi- were based on what was known in that time about what
tures, and computer science and related degree programs. was going on in U. S. universities, and therefore the ACM
Two of these (which reference earlier publications) are listed “Curriculum 68” had a tremendous influence on European
below: curricula, as did subsequent ACM curricula.
1979. Hamblen, J. and Baird, T. “Fourth Inventory of Computers In 1990 the teaching of informatics in Europe is not
in Higher Education 1976-1977,” New Jersey: Educom.
very different from what it is in the U. S. The curricula are
1989. Hamblen, J. “Computer Manpower: Through 1984-1985,”
more or less the same, and the differences come mainly
Computer Science Education 1, 93-98.
From 1970-1984, Orrin E. Taulbee prepared annual reports giving from the differences in the administrative organization of
data on Ph.D. academic programs. Since 1984, David Gries has education in each country. In the U. K., a number of
written these reports, the latest of which appeared in the universities offer traditional degrees in computer science
CACM in 1992. (undergraduate, masters, and Ph.D.). Degrees in com-
1992. Gries, D. and Marsh, D. “The 1989-90 Taulbee Survey Re- puter science are also offered at the colleges of technol-
port,” CACM 35: 133-143 (January). ogy and at the polytechnics.
In Germany, education is under the responsibility of
AARON FINERMAN AND ELLIOT B. KOFFMAN
the different “Lander” (i.e. states), but, in January 1976, a
law was passed under which the federal government has
been able to unify education at the university level. All
EUROPE post-secondary institutions are now called “Hoch-
schulen.” The scientific Hochschulen are the former uni-
The teaching of computer science and technology versities and the “technische Hochschulen” are schools
has developed in Europe along more or less the same of engineering with the “Fach Hochschulen” being for
lines as in the U. S. and for the same reasons. vocational education. There are 19 scientific and techni-
Some of the first computers in Europe were installed cal Hochschulen delivering degrees in computer science,
or built in universities: Cambridge and Manchester in the
but in most Hochschulen there are optional credits in
U. K.; G6ttingen, Munich, and Darmstadt in Germany; and
informatics for degrees in electrical engineering, law, eco-
Paris, Grenoble, and Toulouse in France. They were used
nomics, medicine, etc.
mainly for research purposes in departments of applied In the schools of engineering which, in France, are
mathematics and sometimes in electrical engineering, but completely separate from universities, optional credits in
these research projects led to the development of aca- informatics started in the early 1960s and are today the
demic programs. rule in every school of engineering. In 1969, the first de-
By the mid-1950s, optional courses had started at the partment of informatics was created at the Instituts Uni-
universities that had their own computers or could afford versitaires de Technologie with a degree for analysts and
to rent a computer mainly for students in mathematics or programmers at the vocational level. Today there are 19 of
physics. At that time, a curriculum in computer science these departments, with an output of about 2,000 per year.
was uSually divided into three parts—numerical analysis, in 1972, an M.Sc. in applications of data processing to
hardware, and programming.
management was created; this degree is now offered at 10
In England, in 1965, there was only one university of-
universities and the M.Sc. in informatics is offered at 20
fering a B.Sc. degree in computer science, but there were universities. About 10 universities award Ph.D. degrees,
no degrees in computer science in Germany before 1970,
which require three to four years after the M.Sc. degree.
despite a rather extensive teaching program at a number There are, of course, also computer science pro-
of Hochschulen (schools of engineering). In France, de-
grams in the other countries of Western Europe, but they
grees in computer science were given by the Institut de
are all, with some loca! variations, strongly inspired by
Programmation starting in 1964, although the teaching of
the various ACM curricula.
computer science started much earlier at the University of
Grenoble (1956), Toulouse (1957), and Paris (1957). It was
also in France that computer science and technology was
JACQUES HEBENSTREIT
502 EDUCATION IN COMPUTER SCIENCE

JAPAN students of science and engineering, but not for others


because of the lack of curricula, teachers, and methods of
The teaching of computer science and engineering teaching. Also, the contents of programming courses did
has developed in Japan along lines similar to the U.S., not advance after the 1960s; most centered on Fortran
though with a time lag. This article describes the educa- programming. However, the shortage of computers has
tion in information science and engineering in universi- been mitigated because cheap microcomputers of high
ties, high schools, the industrial world, and technical quality are now used very widely.
schools. Also it describes the examination for information
processing engineers. High School Programs After 1970, on the council's
The contents and objective of education have recommendation, courses for information technology
changed with the times. In the latter half of the 1950s, and information processing were established in many
several universities and research institutes developed technical and commercial high schools, respectively. At
their own computers, and researchers and graduate present, many vocational high schools have computers,
students did research in computer hardware and its pro- and computing is one of the key subjects. But so far, most
gramming. They organized short courses that emphasized
teachers in middle schools and liberal arts high schools
hardware characteristics, binary arithmetic, and program-
have been indifferent to both the computer itself and to
ming in machine or assembly language (q.v.). In the 1960s, using computers in education. However, some changes
computers were commercialized and were installed in
are beginning to take place. During the latter half of the
many national universities for research purposes. They
1980s, various educational councils were organized to
were used mainly for research, but more formal educa-
revise primary and secondary education, and it was
tional courses in computing were established in various
planned to introduce education for computer literacy into
departments of science and engineering of many universi-
them. Recently, microcomputers have been installed in
ties. Courses for Fortran programming started in those
many of those schools, and they are beginning to be
days, and various educational courses for users were of-
tentatively used in various subjects.
fered by computer makers, technical schools, and public
educational organizations. At the end of the 1960s, the
Education in the Industrial World The short-
Minister of Education organized the Council on Informa-
age of software engineers has been pointed out for more
tion Processing Education. At the beginning of the 1970s, in
than 20 years. The shortage of senior engineers is espe-
response to the growth in computing in industry, the coun-
cially serious. In 1986, the Minister of International Trade
cil recommended the establishment of both professional
and Industry set up a committee to study how to cope
education in information science and engineering and the
with the situation. To develop a proposal from the com-
expansion of education in computer literacy (q.v.) for all
mittee, several subcommittees and working groups were
students in universities and vocational high schools. .
organized. According to their job descriptions, engineers
were divided into four kinds: an application engineer, to
University Programs No degrees in computer sci- construct an information processing system for a busi-
ence and engineering were granted before 1970. After ness section, a technical engineer, to play the role of a
1970, many departments of information science or bridge between users and makers and construct an opti-
engineering were established in accord with the council mal system for users, a development engineer, to con-
recommendation. At present, more than 80, 50, and 30 struct basic software, and a production engineer, to design
universities offer undergraduate, masters, and doctoral a program and manage a project of developing programs.
degrees in computer science or engineering, respectively. They also established the concept of senior engineer and
The curricula of many of these computing departments guidelines for fostering development of such engineers.
are strongly influenced by ACM Curriculum ’78 or the The list that follows gives the knowledge or techniques
Model Program of Computer Science and Engineering of that these senior engineers must have in common:
the IEEE. However, each department establishes its own
curriculum independently; there is no standard. Also, ac- Computer architecture
cording to whether the origin of a department is in Communication networks
mathematics, electrical (electronic) engineering, or man- Software engineering
agement science, it has a tendency to place emphasis on Analysis and design of information processing systems
theoretical foundations and software, hardware, or appli- Information systems and the human factor
cation to organizational systems related to business ad- Project management
ministration, respectively. Recently, several Japanese Database management
departments developed curricula that place emphasis on Operation of information processing systems
knowledge engineering. In 1989, the Minister of Education Communication techniques
and the Information Processing Society of Japan organ- Related knowledge, such as fundamental theory, pattern
ized a committee to investigate educational programs for matching, and applications of artificial intelligence
information processing in universities. And now a core
curriculum for a department of information science is Technical School Programs There are many pri-
under consideration and will be published before long. vate schools for training information processing techni-
Some universities have large computing centers for cians. Most of them are post-secondary two-year schools
education. Education in computer literacy is prevalent for that give no degree for graduation. These schools have
EDSAC 503

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

FIG. 1 The EDSAC.


504 ~=EDVAC

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

References account information, verify a valid user by the customer’s


1945. von Neumann, John. “First Draft of a Report on the EDVAC,” entering of a personal identification number (PIN), and
Contract No. W-670-ORD-4926, U. S. Army Ordnance Depart- then allow cash withdrawals, deposits, transfer of funds
ment, Philadelphia: University of Pennsylvania, Moore School between accounts, and balance inquiry. More extensive
of Electrical Engineering (June 30). services are offered by some ATM-based systems.
1946. Chu, C., Davis, J., Huskey, H., Lukoff, H., Merwin, R., Sharp- In 1990, it was estimated that, for some users, EFT
less, T., Shaw, R., and Sheppard, C. Progress Report on the saved more than $1 per transaction. Generally, however,
EDVAC, vol. II. University of Pennsylvania, Philadelphia (June
the anticipated impact in lowering overall volunie of
30).
paper transactions due to these systems has not oc-
1950. Stifler, W. W., Jr. (Ed.). High Speed Computing Devices. New
curred. Further, the number of ATM manufacturers has
York: McGraw-Hill.
1970. Knuth, Donald E. “Von Neumann's First Computer Pro- gone from eight to six within the last two years, suggest-
gram,” Computing Surveys 2, 4: 247-260 (December). ing that the domestic market may have peaked and the
industry may be consolidating.
Harry D. HUSKEY The automated clearing house (ACH) network is a
nationwide system that processes pre-authorized elec-
tronic payments on behalf of depository financial institu-
tions. ACH networks resulted from a joint effort by the
E FT. See ELECTRONIC FUNDS TRANSFER SYSTEMS.
Federal Reserve System and the banking industry in the
mid-1960s.
The National Automated Clearing House Association
(NACHA) is a trade association representing 42 regional
ELECTRONIC CALCULATOR. See ca: ACH associations whose members comprise over 15,500
CULATORS, ELECTRONIC AND PROGRAMMABLE.
depository financial institutions. Expanding direct depos-
its of payroll and similar services should increase the
volume of transactions substantially in the 1990s.
ELECTRONIC FUNDS Electronic funds transfer at point of sale (EFTPOS) is
the blending of electronic point of sale technology with
TRANSFER (EFT) SYSTEMS EFT, usually accomplished with a “debit” card that is
For articles on related subjects see BANKING APPLICATIONS; similar to those used for ATMs. Electronic point-of-sale
COMMUNICATIONS AND COMPUTERS; COMPUTING AND SOCIETY; advantages such as better pricing and inventory planning
DATA SECURITY; DISTRIBUTED SYSTEMS; ELECTRONIC MAIL; NET- and control are thus enhanced by the characteristics of
WORKS, COMPUTER; and PRIAVCY, COMPUTERS AND. EFT such as convenience of cash and the security of a
credit card.
An Electronic Funds Transfer (EFT) System is a system EFTPOS systems involve a network of retail-based
that involves the electronic movement of funds and fund terminals linked on-line to a financial institution’s com-
information between financial institutions. The transfer is puter. Payments rendered at retail operations can then be
coupled with minimal amounts of data to facilitate that debited from a customer’s account and credited to the
transfer. There are two major worldwide EFT networks: retailer’s automatically. Information about the transac-
the Clearinghouse Interbank Payments System (CHIPS) tion may also be entered into the retailer’s information
and FedWire (the oldest EFT system in the U.S.). In 1991, system and used for inventory management purposes.
these networks moved an estimated $1.29 billion each In 1989, a one-year pilot program, EftPos UK, was
banking day. A third major network, the Society for World- begun in the United Kingdom to determine the viability
wide Interbank Financial Telecommunications (SWIFT), is of EFTPOS systems on a large scale. Though this program
capable of handling nearly 1 million messages per day. was terminated in April 1990 after only six months of
operation, EFTPOS systems are still forecast to have
The Evolving Forms and Extensions of EFT potential on a less ambitious scale. The lukewarm
The original expansion of EFT was stimulated by the reception to EftPos UK by fewer than the desired level
standardization of magnetic ink character recognition of subscribers appeared to be due to uncertainty about
(MICR) technology in the mid-1950s. EFT systems were who would pay the relatively high costs of installation
anticipated to be a lower-cost alternative to paper trans- of the service.
actions. EFT has progressed through four various forms: Electronic funds transfer and electronic data inter-
automated teller machines (ATMs), automated clearing change (EFT-EDI) is the direct, rapid, computer-to-com-
houses (ACH), electronic funds transfer point of sale sys- puter transmission and translation of business infor-
tems (EFTPOS) and debit cards, and electronic funds mation (e.g. invoices, purchase orders, claims forms) in a
transfer electronic data interchange systems (EFT-EDI). standard format. No human intervention is necessary in
Automated Teller Machines (ATMs) provide the basis order to link the transmission to other parts of a
for the most familiar EFT system in current use. These company’s information system. For example, EDI-trans-
target the consumer market. ATMs are installed by finan- mitted invoices can update inventory orders and gener-
cial institutions to provide unattended, on-line computer- ate exception reports for backorders.
ized banking “teller” services. ATMs are user-activated EDI messages are non-proprietary and non-copy-
through a magnetic strip on a plastic card. ATMs read rightable, while those from EFT systems have substan-
506 — ELECTRONIC FUNDS TRANSFER (EFT) SYSTEMS

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

1991. Bove, Richard X. “Bank Technology Reshapes Industry,”


and Bitnet which serve academic, industrial and gov-
Bankers Magazine, 174, 3 (May/June), 17-20.
ernmental institutions, FIDONET, which links hobbyist
1991. Intriago, Charles A. “Bankers Challenge Proposed Wire
ae
bulletin boards; and commercial information services
Rules,” Bankers Magazine, 174, 4, (July/August),
59. such as MCI, CompuServe, Prodigy, BIX and GENIE.
Many software companies have found it useful to main-
JANICE F. CERVENY tain mailboxes on such systems to aid communication
with their user bases.
Attainment of successful electronic mail usage pres-
ents a classic “chicken and egg” problem. To be success-
ELECTRONIC MAIL (E-MAIL) ful, a critical mass of users is required, but individuals are
not motivated to use the system until that critical mass of
For articles on related subjects see BULLETIN BOARD; Com- other users exists; users quickly lose motivation to log in
PUTER CONFERENCING; GATEWAY; and LOCAL AREA NETWORK. if there are no messages for them. Computer-based mes-
saging is most easily established among user groups who
Electronic mail (E-mail) is the electronic transmission are already using the system for other purposes. Other
of messages, letters, or documents. E-mail may be trans- problems with electronic mail include determining the
mitted by means of point-to-point systems or computer- electronic addresses of other users and problems of eti-
based message systems. Point-to-point systems link two quette with regard to using the new medium. Electronic
specific terminals for the duration of the message. Point- junk mail consisting of unsolicited advertisements has
to-point E-mail includes telegrams and mailgrams, Telex been a particular problem with fax where the receiver has
and TWx, and facsimile systems (fax). pe to pay the cost of paper. Flaming, intemperate responses
Fax, which sends copies of written, printed, and to others messages, has been a problem with computer-
graphic information over ordinary phone lines, has seen based messaging and conferencing systems. Sending a
an enormous growth in popularity as the price of fax ma- computer-based message does not require the time for
chines has decreased. Fax boards inserted into expansion reflection that sending a conventional letter does and
slots and used with laser printers and scanners have be- computer-messaging lacks the interpersonal feedback
come a popular personal computer accessory. The chief found in conversation.
disadvantages of facsimile are the requirement to estab-
lish a point-to-point connection between the machines References
and, for computer-generated text, the fact that the infor-
1982. Kerr, Elaine B., and Hiltz, Starr R. Computer-Mediated Com-
mation is converted into and received as an image rather munication Systems: Status and Evaluation (P. R. Monge, Ed.).
than text suitable for a word processor. But for maps and Human Communication Research Series. New York: Academic
other pictorial information, fax is exactly what is needed. Press.
Computer-based message systems, also known as 1985. Vervest, Peter. Electronic Mail and Message Handling. West-
store-and-forward or mailbox systems, store messages in a port, CT.: Quorum Books.
computer database for later retrieval. Computer-based 1990. Quarterman, John S. The Matrix: Computer Networks and
messaging may take place on a single computer, a network Conferencing Systems Worldwide. Bedford, MA: Digital Press.
of computers, or across different computer networks
ROBERT G. RITTENHOUSE
linked by gateways. Unlike users of point-to-point systems,
computer-based message system users are not location
bound. Users may send and receive messages at any hour
of the day and from any location that offers access to the ELECTRONIC OFFICE
message system, even something as simple as a phone that
allows dialing in with a portable terminal. Computer-based For articles on related subjects see ADMINISTRATIVE APPLICA-
message system users can broadcast to many users, read TIONS; COMPUTER CONFERENCING; DATA PROCESSING; DESKTOP
and discard messages, file and retrieve messages, and PUBLISHING; ELECTRONIC MAIL; TEXT EDITING SYSTEMS; and
move messages to and from the messaging system. WORD PROCESSING.
Most multiuser computer systems and local area
networks (g.v.) support some kind of computer-based The concept of the electronic office (office automa-
messaging utility. Another alternative is to use a micro- tion) encompasses the application of computer and com-
computer based bulletin board. Bulletin boards are pop- munications technology to improve the productivity of all
ular in both hobbyist and business settings as they types of office workers, including clerical, administrative,
represent the least expensive way to implement com- professional, and executive. In the mid-1950s, office auto-
puter-based messaging. mation was used as a synonym for data processing (q.v.)
Computer-based messaging is also ‘available over and referred to the ways in which bookkeeping tasks were
wide area networks (WANs). The prototype for these automated. After some years of disuse, the term was
is the ARPANet, established by the Department of revived in the mid-1970s to describe the interactive use of
Defense in the 1970s to link major computer research word and text processing systems, which would later be
sites. Computer-based messaging quickly became combined with powerful computer tools leading to a so-
ARPANet’s major application. Other wide area networks called “office of the future” that, inevitably, would be an
include USENET, linking Unix-based systems; Internet electronic office.
508 ELECTRONIC OFFICE

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

FIG. 1. ENIAC, (Courtesy of Smithsonian Institution.)

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

Creature creation, the building and animation of syn-


thetic characters, has also benefitted from the introduc-
tion of computer technology. One of the great
advancements in creature work was the development of
go-motion photography by Industrial Light and Magic (see
Fig. 3). This was a refinement of stop-motion photography,
the process by which a model, puppet, or any object is
filmed one frame at a time and moved slightly between
frames by an animator. Go-motion differs from stop-motion
in that puppets are moved by rods and cables controlled
waste | Non ELEMENTS: Stank [awa] ecate [ware SHOT #/ SEQUENCE
by computer-directed motors. This technique permits the
Pidet
>
pl | x f
puppets to move while the camera shutter is open, creat-
ing the natural blurring of moving parts, and avoids the
SB 16 jerky and stroboscopic movement often associated with
FAM COUNT {PAGE # stop-motion animation. While go-motion allows the anima-
34 d
tor to produce work of higher technical quality, it is still the
artistic skills of the animator that create the illusion of life.
FIG. 1. A storyboard and element list from Return of the Jedi.
Computer technology is used in a number of aspects
Copyright © 1983 Lucasfilm Ltd. All rights reserved. Courtesy
Industrial Light & Magic.
of traditional and effects animation. Traditional anima-
tion, as exemplified by the work of the Walt Disney
studio, and effects animation (see Fig. 4, color insert
camera in a precise and repeatable manner. Camera con- page CP-6), such as the creation of lightning bolts, is
trols are connected to stepper motors or potentiometers usually drawn on paper or animation cels and filmed on
which allow a computer to record and/or play back cam- an animation stand (see Fig. 5, color insert page CP-6).
era motions, freeing the filmmaker to design motion that Computer control of the animation stand provides the
would otherwise be impossible to use in effects shots (see same advantages, repeatability and refinement of moves,
Fig. 2). Motion control allows an actor to be filmed multi- as does motion control of stage cameras. Older tech-
ple times in different locations using the same camera niques such as pans, tilts, zooms, spins, fade-ins, fade-
move, to create the illusion of self-interaction. This tech-
outs, cross-dissolves, and wipes are all made much easier
nique is also used to record and control camera move-
with the use of computer technology. In addition, com-
ment when filming both scale models and live action sets.
puter-assisted techniques such as slit-scan and _ pin-
The filmmaker can create multiple pieces of film from
blocked animation have been made practical and
different scale originals and combine them seamlessly.
integrated into the field of effects animation.
Most motion control systems allow the camera shutter to
Optical composites are the heart of visual effects.
remain open during movement of the camera and subject,
An optical composite is a shot composed of two or more
thus recording movement as a blurred image. Motion blur
images that have been combined on an optical printer
is natural in other cinematography, but was almost im-
to create the illusion of a single image (see Fig. 6, color
possible to achieve in effects work prior to the introduc-
insert page CP-7). Optical composites may be as simple
tion of computer technology.
as placing a single element into a scene or as complex
as placing a hundred individual elements into a scene.

FIG. 2. The Vista-Glide motion control camera system. The


camera is located on a motorized dolly system and its motion FIG, 3. An animator working with a go-motion set up. This is
is recorded on the computers located in the background. Copy- one of the Imperial Walkers from Return of the Jedi. Copyright
right © 1990 LucasArts Entertainment. All rights reserved. © 1983 Lucasfilm Ltd. All rights reserved. Courtesy Industrial
Courtesy Industrial Light & Magic. Light & Magic.
ENTERTAINMENT INDUSTRY, COMPUTERS INTHE 515

The most common application is the placing of actors,


Computers in Television and Video All of the
photographed on a stage, into an imaginary environment
techniques described in film production may be applied
that is impractical, impossible, or too dangerous to
to television production as well; the major difference is
actually film.
that television production is often recorded on videotape.
Optical printers are cameras that rephotograph and
Computer technology was essential in the development
combine separate images onto a single piece of film. Basic
of anumber of real-time video production tools, including
optical printers consist of at least one projector and a
Quantel’s Paintbox and Harry. Devices such as these have
camera facing it with lenses that focus the projector im-
practically eliminated the use of film opticals in the area
ages on the film of the camera. Typical optical printers
of video production. In addition, the introduction of digi-
move the camera only a few thousandths of an inch; this
tal video formats have eliminated the problem of genera-
allows for the changing of focus and slight adjustments in
tion loss (the degradation of an image due to layering or
the position of an image, but not for creating movement copying), allowing previously impossible effects.
or changing the size of elements. Other uses of computer technology in television in-
Modern optical printers are controlled by computer clude weather presentation, digitally assisted slow mo-
and allow for movement of both the camera and the tion, interactive chalkboards, and news graphics. Most of
projectors (see Fig. 7). Simple optical printers use a com- these technologies are now sufficiently inexpensive to
puter with the power of a pocket calculator. This com- allow their use by even the smallest of television stations.
puter can run loops (repeat the playing or filming of a
section of film), typically looping two projectors and one
camera. Multiple passes are achieved by rewinding the Computer Graphics Computer graphics, a new-
film completely and restarting the camera, thus exposing comer to the world of entertainment, is revolutionizing
multiple elements onto the film. The camera operator the industry. Examples of this work range from the first
adjusts the controls, resets any filters, or inserts new film video games (such as Pong) to Academy Award-winning
into the projector and runs the next pass. animation (such as Tin Toy - see Fig. 8, color insert page
A motion control printer offers more advanced com- CP-7) and Academy Award-winning visual effects (as in
puter-controlled features. Individual projectors are able The Abyss).
to translate and rotate during a pass, providing actions Video game graphics have increased in image com-
more complex and extreme than those allowed in a simple plexity and animation quality since their introduction.
printer. The computer also controls the position of the The quality of these graphics is defined by the limited
camera and the lens. Compensation curves programmed capability of the computer chip and display technologies
into the computer can adjust for irregularities in the to handle the real-time interaction required. They are
mechanics. One use of a compensation curve provides traditionally two-dimensional and based on the ability of
automatic focus adjustments as the camera moves in and the system to draw small prestored images on the screen.
out. Shutter timing may also be programmed to adjust the As the technology has developed, modern computer
exposure during the move. Computer control enables the games have become interactive stories, allowing the
camera to return reliably to positions and settings within player to see, hear, and interact with a synthetic world
several hundred thousandths of an inch, allowing for (see Fig. 9, color insert page CP-7). As technologies de-
intricate combinations of elements and many passes. velop further, we should expect to see three-dimensional
These printers have many functions similar to those of images in video games and more sophisticated interac-
animation stands. tions with this synthetic world.
Traditional film animation has also been aided by
computer graphics. The drawing, inbetweening, inking,
and opaquing of two-dimensional drawings, traditionally
done entirely by hand, is usually very expensive due to
the large number of people required by the process. Most
successful applications of computer graphics in this area
have been in assisting the inking, opaquing, and compos-
iting of drawings, as well as the generation of special
animation effects.
Fully computer-generated animation is often used by
the film and television industries. This work is usually
categorized as either two-dimensional or three-dimen-
sional animation. Two-dimensional computer animation
is essentially identical to traditional cell animation in that
key-frame drawings are made, in-betweens are generated,
and the resulting images are colored. The range of com-
puter involvement in each of these steps is great and very
panel in the dependent on the cost of the system used. Some systems
FIG. 7. An optical printer. Note the control
operator’s hands and computers located below the printer
are simple, image-based systems that allow the animator
itself. Copyright © 1990 LucasArts Entertainment. All rights to create, ink, store, and retrieve images. They offer the
reserved. Courtesy Industrial Light & Magic. animator an easier method of refining each drawing, but
516 ~~ 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

1985. Magneat-Thalmann, N. and Thalmann, D. Computer Anima-


series mainframe computer. His most bitter disagreement
tion. New York: Springer-Verlag.
with IBM was economic, not electronic. IBM had always
1986. Smith, Thomas G. Industrial Light & Magic: The Art of Special
priced its large systems based on their computational
Effects. New York: Ballantine Books.
1989. Bernard, W. MBKS, The Technique of Special Effects in Tele- power rather than on their actual production cost.
vision., 2nd Ed. New York: Focal Press/Hastings House. Amdahl, who disagreed with this marketing strategy, left
1990. Foley, J., van Dam, A., Feiner, S., and Hughes, J. Computer IBM in 1970. At that time he was an IBM fellow working at
Graphics: Principles and Practice. Reading, MA: Addison-Wes- the IBM Advanced Computing Systems Laboratory in
ley. Menlo Park, California, which he founded and directed.
In October 1970, Amdahl started his own company
Scott E. ANDERSON and gave it his name. He set out to build mainframes that
were plug-to-plug compatible with IBM’s popular ma-
chines. This meant that a customer could slide an Amdahl
ENTREPRENEURS machine right next to selected IBM cabinets and use the
same software and peripherals. It was a bold and risky
For articles on related subjects see BURROUGHS, WILLIAM S.; concept that many feel only Gene Amdahl could have
ECKART, J. PRESPER; HOLLERITH, HERMAN; MAUCHLY, JOHN WIL- pulled off. His 470/V6 computer was compatible with
LIAM; WATSON, THOMAS J. SR.; and ZUSE, KONRAD. IBM’s 370/165. It used large-scale integration for process-
ing, which was unheard of at the time. Only memory
With the exception of the early pioneers cited above devices had been so tightly integrated in the early 1970s.
(who have been accorded separate biographies), com- The 470/V6 was one-fourth the size and four times as
puter entrepreneurs have flourished only ir the last half powerful as the corresponding IBM machine, yet it was
of the twentieth century. These individuals captured the priced at the same 3.5 million dollars. It was a major
imagination and admiration of a whole generation. Their engineering and personal triumph. Orders poured in and,
vision and daring spawned one of the most sweeping temporarily at least, IBM sales dropped noticeably.
technological revolutions humankind has seen. They Soon, however, rumors of IBM advances in power and
gave birth to new technologies, new industries, and new changing trends in computer leasing dried up cash flow.
ways Of life. This, coupled with a diminishing financial interest in the
No other field of endeavor has experienced as rapid company he founded, led Amdahl to move on and pursue
a growth as computer technology. New products and other dreams of powerful architectures through Trilogy
concepts have been introduced at a dizzying pace. Com- and Elxsi, two companies involved in making high-perfor-
puter entrepreneurs are dedicated and intelligent risk tak- mance VAX clones.
ers willing to create new markets rather than exploit Gene Amdahl was the first to show the computer
existing ones. In many instances they nurtured ideas that world that money could be made by cloning IBM prod-
others had rejected. Most became very wealthy, very fast. ucts. This lesson would not be lost on later entrepre-
Short biographies of 19 computer entrepreneurs of par- neurs.
ticularly significant accomplishment appear alphabeti-
cally in the paragraphs that follow. Dan Bricklin The classic entrepreneurial success
story involves development of a product that was feasible
Gene Myron Amdahl Best known as the man who long before the date of its actual invention. A case of
designed the IBM Series 360 (q.v.) mainframe computer, necessity giving birth to invention, Dan Bricklin devel-
arguably the most successful business machine of all oped VisiCalc, the first spreadsheet (g.v.) program.
time, Gene Amdahl built the Amdahl Corporation into a _ Born in Philadelphia in 1951, Bricklin earned a BS
company that, during its peak in 1978, grossed more than from M.I.T. in electrical engineering and computer sci-
320 million dollars. ence, but it was his graduate work at the Harvard Busi-
Amdahl was born in Flandreau, South Dakota, in 1922. ness School that inspired him to see the need for a “word
He completed his B.S. in electrical engineering at South processor for numbers.” A chance encounter with school-
Dakota State in 1948 and his Ph.D. at the University of mate Dan Fylstra led to the loan of an Apple II] computer.
Wisconsin in 1952. Using the model of the journal ledger sheets widely used
Amdahl began working at IBM in 1952. He had by accountants, he divided the computer screen into
already developed a powerful computer, WISC (Wiscon- labeled cells and allowed numbers, labels, and formulas
sin Integrally Synchronized Computer), to perform the to be assigned to those cells. Drawing on his own experi-
extensive calculations related to the theoretical physics ence and the advice of professors and fellow students, he
problems needed to complete his Ph.D. at the University worked with another programmer, Bob Frankston, to de-
of Wisconsin. At IBM he worked on the IBM 704, the velop a simple user interface (g.v.) written in machine
first widely used computer to use indexing, floating-point language so that user feedback would be immediate. The
arithmetic, and a high-level programming language (For- success of VisiCalc led to the sale of more Apple II com-
tran). He also worked on the 709/7090 series, but was puters by far than any other software product was ever
denied an opportunity to work on the new and powerful able to do for a competitive computer.
IBM 7030 (Stretch - g.v.). Developers scurried to develop competing products,
He left IBM having developed a taste for new ven- and hardware manufacturers learned that $100 software
tures. Returning to IBM in 1960, he developed the 360 could sell hardware worth 30 times that much. Dan Brick-
518 ENTREPRENEURS

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

x= (A +6A)"'b=(A!-A'5AA'4+--b (L + 6L)(U + 5U)x =b


ERROR ANALYSIS 529

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

1. The relevant system to be analyzed is that with giving, for example,


the computed matrix L, not the L that would have
resulted from exact computation. ||OL |, S (1.06) knB || LI.
2. Since during the course of the analysis we do not
attempt a direct comparison between computed The analysis is almost trivial, though earlier error analy-
and exact values, there is no need to denote ses of the solution of triangular systems were extremely
computed quantities by bars. It is to be under- complicated.
stood that all symbols refer to computed quanti- If the computation of y, had been expressed in the
ties. form
3. It is only at the final stage when we have ex-
pressed the computed solution as the exact solu- y= NOMA = mail ey pens

tion of (A + F)x = b and have obtained a bound


for ||F ||that we attempt to compare the com- then we could still obtain a relation of the form (L + 6 L)y
puted x with the true x, and at this stage we can = b, but in this case the bounds on the elements of dL
use the result of the previous section. would be appreciably larger.
On many computers it is possible to accumulate
At a typical stage in the triangular solution, y,, y...., either of the expressions for y, in double precision,
y, -, have been computed and y, is determined from the rounding to single precision only on completion. If this is
done, then we again obtain a relation of the form
relation

Spee fl(— Lay ea lnVo mee % ae A 5 Oe os b,),


L,Y, + G,) + by ¥, A + Gp)
grins oles pea: fs G,,. »)

using, of course, the computed values of the y, Hence, +yQ+G,)=6,,

1 y> Gt E) but,now the quantities |G, | @<r) have bounds of order


Afied ~thy, (1 3ad2 Ni
— ewe B ~* and can therefore virtually be neglected, while |G, |
al dedi pe Ol a Pee ») 7 6, + Fs
has the bound kf ~'. We therefore have a result that might
where the factors 1 + E., and 1 + F, are of the type well be described as best possible, having regard to the
discussed in connection with the computation of p above. precision of computation. Indeed, the residual vector b —
Hence, the computed yj; satisfy exactly the relation Ly corresponding to the computed y will almost certainly
be smaller than that corresponding to the correctly
EUs G+ haya! + G_) rounded solution!
Ceo i Ga)
The analysis of the solution of Ux = y is almost
ae + G a= identical to that of Ly = b, while the analysis of the
factorization process is only marginally more compli-
where cated. If the Zand Uare produced as in classical Gaussian
elimination, then one can show that LU = A + E, where,
Q+G)=Q+E£)/A+F), denoting the maximum modulus of any element arising
(PS Th cic cotcic |, during the decomposition by g, we certainly have
1+G,=1/d + F).
|e,,| < (3.02) igkp ~ (=f),
Notice that by dividing through by 1 + F,, we are able to le,| < (3.02) jgkp (i>).
restrict ourselves to pertubations in L. The computed y
therefore satisfies exactly the relation (@ + dL)y =b, If the factors L and U are determined directly, using the
where 6L,, = L; G;. relations
530 ERROR ANALYSIS

Lou, = ay — Uy uy — bp Una, Ri eel el A® = Q'A +4) Q,


and where Q is exactly orthogonal and

uj = a; — li, Uigsietts Ui Ui-1,; J=t...n, Ell sri) A Rb,


and the expressions on the right are accumulated in dou- where f(n) is some quite innocuous function of n. Hence,
ble precision, an even more satisfactory bound may be the eigenvalues of A are exactly those of A + E, and we
determined for E. Indeed, ignoring quantities of the order are back with perturbation theory.
of magnitude of f ~™, we certainly have |e, | < gkB
where g is now the element of maximum modulus in the A Posteriori Error Bounds The bounds discussed
computed U. Again, we have what may be regarded as a so far are of the a priori type. The main function of such
“best possible” result. an analysis is to show whether or not an algorithm is
The reader may be surprised that no reference has stable and, if not, to pinpoint the reasons for its instability.
been made to pivoting or to the size of the [. The import- When a solution has been determined, one can usu-
ance of pivoting is concealed. If any of the multipliers is ally obtain much sharper backward error bounds. For
large, g will usually be much larger than max |a, |.When example, from a computed eigenvalue 4 and an eigenvec-
pivoting is used |/ | < 1, and there will not usually be tor u, such that ||u ||, = 1, one can compute the residual
much growth in the size of the elements of the reduced defined by r = Au — Au. This may be written in the form
matrices or of U relative to the initial set of a;. When A is (A —ru”)u = Au, showing that A and w are exact for the
positive definite or diagonally dominant, no growth can matrix A — ru”. When A is Hermitian, this implies that A
take place, and we have a guaranteed a priori bound for ||E has an eigenvalue in the interval 4 — ||r ||, 4 + ||r |.
|| in terms of A. Similarly, when solving linear equations, one can compute
In 1947, von Neumann and Goldstine considered the r = b — Ax. Ifris computed accurately, it can then be used
special case of the inversion of a positive definite matrix to obtain an improved solution by solving Aé = r. This
with pivoting, and obtained a result for fixed-point compu- process is called iterative refinement.
tation that is only marginally weaker than can be obtained
by arguments of the above type, though the analysis was Iterative Methods It was at one time thought that
far more complicated. Their analysis is often described as iterative methods for solving linear equations or the
a forward error analysis, but it is in fact of the backward eigenvalue problem would give far greater accuracy than
type, although at no stage are results expressed in a form direct methods, since one works with the initial A
such as to emphasize this. The final result of an analysis of throughout. In fact, this advantage is largely illusory. In
the above type for the solution of a positive definite system
Jacobi’s method for linear equations, one derives an im-
is to guarantee that it is the exact solution of (A + E)x = b proved x,“* ” from the relation
and to give abound for £ of the type

|Ells kb “IA |h EWE aulellaa—3) fa) x,


SYrhRett f
J#i
where f(n) is a modest function of n, depending a little on
the details of the arithmetic. When backward error analy- but the right-hand side cannot be computed exactly. From
sis is applied to matrix inversion, one cannot show that X the above analysis it is clear that one is really working
is the exact solution of (A + E) X = /, with a similar bound with a matrix with elements a.j + e,ip» where the e, are
for E, because it is not true. However,the rth column, x, of different in each iteration. When iterative methods are
X is the exact solution of some (A + E)x, = e,, where e, is used in practice, iteration is usually terminated before
the r th column of J; the £, are all different, but have the attaining the accuracy given immediately by a direct
same Satisfactory uniform bound. This result is implicit in method, even without iterative refinement. Since, as we
that of von Neumann and Goldstine, but it is well con- mentioned earlier, the results obtained with good direct
cealed! methods are almost “best possible,” this is to be ex-
pected.
Orthogonal Transformations Experience with
error analyses of matrix processes gradually exposed the Interval Arithmetic and Significant Digit
fact that control of growth in derived matrices is the key Arithmetic Attempts have been made to obtain error
to stability. If orthogonal transformations Q are used, bounds for computed quantities on the computer itself. In
then, since ||QA ||,= || AQ ||,= ||A |],no general growth can interval arithmetic, an ordered pair [a, , a,) of floating-
take place. Although the algebra is a little complicated, a point numbers is stored at each stage in the computation,
fairly general analysis can be given of whole classes of and it is guaranteed that the true number a lies in the
algorithms based on orthogonal transformations, both for interval a, = a < a,. Used in a direct manner, the results
the solution of equations and the eigenvalue problem. achieved are very pessimistic; in fact, the computer
One can show, for example, that for a sequence of r merely performs numerically the analog of what was done
orthogonal similarity transformations, the final computed algebraically in the early forward error analysis of the
transform A™ satisfies exactly a relation of the form Hotelling type. The intervals become very large. The ap-
ERROR-CORRECTING CODE 531

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.

ERROR-CORRECTING CODE Parity check column 1


For articles on related subjects see CODES; ERRORS; and Columns 1, 3, 5, 7 (columns with a 1 in the rightmost
PARITY. position of their binary representation).
Parity check column 2
Error-detecting and error-correcting codes arose Columns 2, 3, 6, 7 (1 in second rightmost position).
from the well-known phenomenon that if anything can go Parity check column 4
wrong, it will. Rather than try to do everything perfectly Columns 4, 5, 6, 7 (1 in leftmost position).
the first time, error-detecting and error-correcting meth-
ods use some form of redundancy to handle the inevitable
TABLE 1
errors. Feedback is one way of correcting errors; error
correcting codes use feedforward so that the receiving
Position
end has the necessary information to make the correc-
tions. Decimal 2d. a4o oer Ola.
Error detection has a long history. For example, sup-
pose we havea block of n binary digits andaddan(n + 1)st 0 0000 0 0 0
digit, chosen so that the whole message has an even (or 1 LIAS OIE OOO
odd) number of 1s in it. This is called an even (odd) parity 2 Orel HONsl or Ope eo
check. At the receiving end, the complete block is 3 Le Oien0 a0. 20a esl
checked. If there are not the proper number of Is in the 4 Di One Oe Lael Oe 0
5 0 l= 0 al Ol el
message, then there must be an odd number of errors in
6 Tae 120s Ome loa lle
the message. Suppose that p is the probability that an 7 ODF. 06" OF eel aloe
isolated bit is in error. If the block is chosen to be suffi- 8 T 1 Si 0F -0> 070
ciently short, then np is small, and ifwe assume that errors 9 QO? * Qua eO Or]
are independent, then, approximately, there is a probabil-
532 ERRORS

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).

Expert System Technology The word “expert” in


expert system refers to the intention of the ES designer to
Knowledge Engineer
have the system achieve a level of competence of problem
solving in some domain of work that rivals the perfor- FIG. 1. Basic structure of an expert system.
mance of human specialists (experts) in that domain. To
accomplish this, the ES must be given the knowledge that
such human experts have that distinguishes experts from of attributes of some entity, and the values associated
novices and enables experts to perform well. To acquire with the attributes. That is, the unit is acomplex symbolic
and represent that knowledge is the job of the knowledge description of an entity that the ES needs to know about.
engineer. Increasingly, with the advance of ES develop- There is a knowledge base management system, akin to a
ment tools, experts are able to be their own knowledge database management system, associated with the units.
engineers. ESs are almost always used as interactive intel- One of its important functions is to handle automatically
lectual aids for human decision makers and almost never some routine inference functions for knowledge updating
as autonomous unsupervised agents. and knowledge propagation. The automatic handling is
Every expert system consists of two principal parts: called inheritance.
the knowledge base and the reasoning or inference engine Another general and powerful formalism for repre-
(see Fig. 1). The knowledge base contains both factual senting knowledge is the “standard” mathematical way,
and heuristic knowledge. The factual knowledge is that given by the symbols and formulas of mathematical logic,
knowledge widely shared in the domain and commonly particularly first order predicate logic and some higher-
agreed upon by experts. The heuristic knowledge is the order logics (Genesereth and Nilsson, 1987).
non-rigorous, experiential knowledge, the rules-of-thumb, In addition to naturalness and expressiveness of the
the knowledge of good judgment. Heuristics (g.v.) con- representational form, a representation needs to be very
stitutes the “art of good guessing” in the domain. modular and flexible. The process of building a knowledge
Knowledge representation formalizes and organizes base is an iterative one that has been called “an incremen-
the knowledge for use by the inference engine. One widely tal approach to competence.” The knowledge is teased
used representational form is the production rule, or sim- out of the expert and the problem domain little by little on
ply the rule. A rule consists of an IF part and a THEN part each iteration. The “module size” needs to match these
(also called a condition and an action). The IF part lists a little pieces, and the knowledge “modules” need to be
set of conditions in some logical combination. The piece easily integrated into the existing, growing knowledge
of knowledge represented by the rule is relevant to the base, with virtually no incremental reprogramming of the
line of reasoning being developed if the IF part of the rule knowledge base.
is satisfied; consequently, the THEN part can be con- In every expert system, the inference engine (embod-
cluded, or its action taken. Expert systems whose knowl- ying the problem-solving method or procedure) uses the
edge is represented in rule form are called rule-based knowledge in the knowledge base to construct the line of
systems. This kind of representation is action-oriented. reasoning leading to the solution of the problem. The
Another widely used representational form, called most common method (the method of choice in rule-
the unit (or frame, or schema) is based upon a more based systems) involves chaining of IF-THEN rules. If the
passive object-oriented view of knowledge. Systems of chaining starts from a set of conditions and moves toward
units (sometimes called frame-based systems) are siblings some (possibly remote) conclusion, the method is called
of the object-oriented systems common in computer sci- forward chaining. If the conclusion is known (e.g. it is a
ence. Typically, a unit consists of a symbolic name, a list goal to be achieved) but the path to that conclusion is not
EXPERT SYSTEMS 539

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

k:=3*a + b[round( + sqrt (x))]


EXPRESSION
will calculate and use the integer closest to the value of
For articles on related subjects see COERCION; CONSTANT; the expression j + sqrt(x) to select a particular member of
OPERATOR PRECEDENCE; PARSING; PROCEDURE-ORIENTED LAN- the one-dimensional array b. The sum of the selected
GUAGES, PROGRAMMING IN; and STATEMENT. value and the value of 3 « ais then assigned to &. In Algol
and Pascal, a subscript may be any valid expression;
An expression, one of the fundamental constituents other languages are more restrictive.
of high-level language syntax, is a character sequence Expressions may also be classified as being either
that specifies a rule for calculating a value. That value homogeneous (all constituents of the same type) or mixed-
may be either numeric, as in the Pascal expression a mode. An example of the latter is A+ J * Zwhere, perhaps,
+ 6, or alphanumeric, as in the Basic expression LEFT$(A$, A has been declared as being real (floating-point), J as
5) (whose value is the leftmost 5 characters of string being integer, and Z as being complex. What should be
A$). An expression may appear to the right of the done? Early dialects of Fortran declared such expressions
replacement symbol (usually = or := or <) in state- syntactically illegal and refused to process them. Almost
ment-oriented languages such as Pascal or Fortran, or all current languages accept mixed-mode expressions
EXTENSIBLE LANGUAGE 541

whenever reasonable type conversions can be inferred References


(e.g. automatic conversion of A and J to complex prior to
1975. Pratt, T. W. Programming Languages: Design and Implementa-
evaluation of the cited expression), which allow calcula-
tion. Englewood Cliffs, NJ: Prentice-Hall, 123-136.
tion to proceed. (See COERCION.)
1973. Wirth, N. Systematic Programming: An Introduction. Engle-
An expression may be very simple as well as compli- wood Cliffs, NJ: Prentice-Hall.
cated. In most languages, the single digit 7 or the single
letter variable Q are valid expressions. Thus, the Pascal EDWIN D. REILLY
statement cited earlier, k := 3 * a + b[round( + sqrt(x))],
contains ten recognizable expressions:
EXTENDED BINARY CODED
1-4. 3, a, j, and x are expressions.
DECIMAL INTERCHANGE
. 3* ais an expression.
. The function sqrt(x) is an expression.
CODE. See EBCDIC.
. J + sqrt(@o) is an expression.
. The subscript round( + sqrt(x)) is an expression.
uu. The subscripted variable b[round( + sqrt(x))] is
ooaonn
EXTENSIBLE LANGUAGE
an expression.
10. The entire right-hand side is an expression. For articles on related subjects see ADA; ALGOL 68; MODULA-
2; PROCEDURE-ORIENTED LANGUAGES; and PROGRAMMING LAN-
GUAGES.
The rules for recognizing a well-formed (syntactically
valid) expression in any given language may be stated
The concept of an extensible language was evolved to
quite rigorously in a notation such as Backus-Naur Form
permit the user to modify a programming language by
(BNF - g.v.) or perhaps in the increasingly popular equiv-
adding new features to it or by modifying existing ones.
alent syntax diagram form commonly used to define Pas-
One of the goals was to let the user mold the language to
cal. Consider the following example of the use of such
the requirements of the particular area of application and
diagrams (Fig. 1) to define first <operator> and then
thus improve the efficiency of the programmer and the
<expression> in a very simple hypothetical language
clarity of the product.
(where we assume that the intuitive concepts of <vari-
Extensible languages consist of two basic compo-
able> and <number> were defined earlier).
nents:
Using such diagrams, one can readily ascertain that
such character sequences as
1. A base language, which provides a complete but
minimal set of primitive facilities, such as ele-
(ab)
* (¢ —d) mentary data types and simple operations and
(5*9/(h + 7)) and
r*s—t/u control constructs.
2. Extension mechanisms, which allow the defini-
are valid expressions, but that others, such as a*(6 and tion of new language features in terms of the base
* a + b are not well formed. language primitives.

Definitions Remarks

< operator >

+ An operator is any one


of the characters
Rh aeRO

< expression >

variable A variable is an expression.

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.

Comment: The symbol - -, if applied to operands of References


the mode point, is defined to denote the Euclidean dis-
1970. Schuman, S. A. and Jorrand, P. “Definition Mechanisms in
tance between the two points p1 and p2. Extensible Programming Languages,” AFIPS Conference Pro-
The following segment demonstrates how the newly ceedings 37. AFIPS Press, 9-20.
defined objects may be used.¢ 1971. “Proceedings of the International Symposium on Extensible
Languages” (September 1971, Grenoble, France), SIGPLAN No-
begin real a, point u, v;
tices 6, 12 (December).
u:= (.0,.0), v:= (3.0,4.0); a= u--vend 1976. Melkanoff, M. A. “Extensible Languages,” in Formal Lan-
guages and Programming, R. Aguilar (Ed.), Amsterdam: North-
Comment: a is set to 5.0.¢
Holland.
It should be noted that all operators so defined are
generic, i.e. the same operator symbol may be defined for JOHANNES J. MARTIN
FACTORING INTEGERS ~~ The Pollard Methods In the 1970s, Pollard in-
vented two factoring algorithms that can find small fac-
For articles on related subjects see CRYPTOGRAPHY, COM- tors of large numbers and that are more powerful than
PUTERS IN; and NUMBER THEORETIC CALCULATIONS. trial division. His Rho or Monte Carlo method (q.v.) finds
a prime factor p of n in roughly Vp steps. Let f(x) be a
The theory of numbers is primarily concerned with quadratic polynomial with integer coefficients. Choose a
the properties of the natural numbers 1, 2, 3,....The funda- random integer x, and define the sequence of iterates of f
mental theorem of arithmetic states that each natural as x; = f(x,_,) for i= 1. The sequence x; mod p is periodic
number greater than 1 can be expressed uniquely as a with period < p. If f (x) is neither x” nor x” — 2, then the
product of prime numbers. A prime number is a natural period is usually near Vp for most values of Xo:
number greater than 1 having no divisor other than 1 and To factor a number n, compute g, = GCD(,; — x;, n)
itself. A natural number that is not prime is called compos- for i = 1, 2,....When i reaches the period, p will divide g,
ite. Proofs of the fundamental theorem provide no effi- and, probably, g, will equal p and n will be factored. The
cient method for obtaining the unique prime factorization number of steps needed to find p is roughly Vp steps.
of a natural number. The discovery of such methods is an Pollard’s p — 1 factoring algorithm finds a prime
important and difficult problem in number theory. This factor p of a larger number n quickly when all prime
article will describe some of the best algorithms known factors of p — 1 are small. The number of steps it takes to
for factoring integers. find p usually is proportional to the largest prime factor
of p — 1. Here is one simple (but slightly slower) version
Trial Division If the number to be factored has only a of the algorithm. Choose a random starting value y,. For
few decimal digits, we can factor it by trying to divide it i> 1, define y, = (; _ ,)' mod n and g, = GCD(y, — 1, n).
by 2, 3, 5, 7,...(the first few prime numbers). Every com- Then p will appear as a factor of g,as soon as p — 1 divides
posite number must have a prime factor less than its i!. One can raise y, _ , to the i power (mod n) in roughly
square root. When a factor is discovered by this method, log,! steps by a doubling and squaring procedure (see
divide it out and continue recursively while trying to Lehmer, 1969, p. 126).
factor the remaining cofactor, but starting with the most There is also a p + 1 algorithm that finds a prime
recently used trial divisor. When the trial division reaches factor p of a larger number n quickly when all prime
the square root of the cofactor, we are done because the factors of p + 1 are small. See Guy (1976) for examples of
cofactor must be prime. The prime factors are discovered factoring with these and similar methods.
in increasing order of size.
The algorithm will remain correct if the sequence of The Elliptic Curve Method This factoring algo-
trial divisors is replaced by any superset of the set of the rithm was announced by H. W. Lenstra, Jr. in 1985. It is the
first few primes. For example, one may use 2 and all the first to use twentieth-century mathematics. It is similar to
odd numbers after 2 as the trial divisors with only a Pollard’s p — 1 algorithm discussed above. The multipli-
moderate loss of efficiency. cative group of GF(p) in that algorithm is replaced by the
Although trial division will succeed in factoring only group of a random elliptic curve modulo p. A random
small numbers, it is a good first step for trying to factor point P on the elliptic curve is added to itself repeatedly
an unknown number of any size. This is so because a large to form (i!) Pfor i = 1, 2,.... During these additions, whose
random integer is likely to have one or more small prime arithmetic is performed modulo n, one must invert a
factors. certain number modulo n. With a little luck, this number

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)

SAMUEL S. WAGSTAFF, JR. is the product sequence


FAST FOURIER TRANSFORM 545

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

a(n,,n,) = ay { 2p) Wy jw)2


i
poli add (12)
G14) 2g) gy-009 1) = yy (gs Moy N3y-<3 0) ;
n+ 2a +2" inm-1
The inner sum, in braces, may be computed first: Sia Mes llss Maresty Wao oon

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

DO Raders DFT Algorithm The FFT algorithm re-


quires an N that is factorable. Rader (1968) addressed the
challenge of being able to use the FFT algorithm for N
Pee) equal to a prime number. For example, consider N = 7.
3.14159265358979/LE1 The DFT may be expressed
MPLX (COS(ANG) ,SIN(ANG))
J=1, LEl ay 0000000 ||Xp
1 a, 0123456 ||x,
a, 0246135 ||x;
T = ACIP)*U a,|= W, ** |0362514 ||x5 (26)
MODE) =s ACE) om T a, 0415263 ||x,
10 ACI) = ACI)+T
a, 0531642 ||x;
20 U = U*W
a, 0654321 | |x,
FIG. 1. Fortran subroutine for FFT with N = 2", starting with
bit-reversed data. where the matrix contains the exponents of W,..
The integers under multiplication mod 7 form a group
n,=nmodN, n, =nmodN, (18) with the generators of the whole group. This permits the
use of an index permutation defined by
The solution of these two congruences is given by the
Chinese Remainder Theorem (CRT): j=9 mod7 =1,3,2,6,4,5, j’ =0,1,2,...5 @2
n=n,Q, + n,Q, mod N (19) n= 3" mod7 = 1,3, 2,6,4,5, n’ =0,1,2,...,5 (28)

where Q, and Q, are idemponents under multiplication which puts the DFT matrix in the form
mod N, i.e.
; joan

Q,=1modN,, Q,=0modN, (20) W;" = W; (29)


Q,=OmodN,, Q,=1modN, (21) Therefore, the 6 by 6 block of the DFT matrix of non-zero
exponents becomes a cyclic skew-symmetric matrix:
Then ,
wi = wie wi =Whe Wile an dy
a,
0000000] |x,
0132645 ||x,
where n may be replaced in the exponents of Wy, and
a, 0326451 ||x,
a,|= W,** |0264513) |x, (30)
W,,Ny’ respectively, by n, and n,. The DFT can then be a, 0645132 ||x,
written: a, 0451326 ||x,
N,-1N,-1 , 0513264 ||x,
a(nyn) =D {Exide ME 3) The block of W’s with non-zero exponents is a 6-point
j,=0 j,=0
cyclic convolution, or “correlation” to be precise, which
In iterated form, this is written can be computed by the Fourier transform method de-
scribed above in O(N log N) operations, where O(f (NV ))
N,-1 denotes a quantity proportional to f (\) for large N. Thus,
Ay(My,jo)= SX iy dQ)Wy” (24) the DFT for a prime number can be computed in O(N log
j,=0 N) operations. However, the crossover point in the num-
ber of operations (i.e. the point where the DFT beats brute
force) for the two methods is high, at around N = 100.
N=! -

a(n,,n,) = Yia,(n,, Jn) Wye” (25)


j,=0 The Winograd Fourier Transform Algorithm
Shmuel Winograd has developed a theory of computa-
The advantage of the mutually prime factor algorithms is tional complexity, which he has applied to the calculation
that there is no twiddle factor between iterations. The of convolutions and DFT’s (Winograd, 1974; and Silver-
disadvantage is in the increased complexity of the ad- man, 1977). To apply this to the calculation of the DFT, he
dressing of the data. C. S. Burrus has published a series of uses mutually prime factors of N to reduce the DFT to a
papers on the index mappings and has produced pro- set of small DFTs that can be expressed as convolutions.
grams written in a neat modular fashion with separate and He also schedules the calculation so that all sinusoidal
independent routines for each of the possible factors of NV factors are combined into one set of factors, further re-
(Burrus, 1977, Burrus and Johnson, 1984). ducing computation. Others have found it efficient to take
FAULT-TOLERANT COMPUTING 547

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

ARIES—Automated Reliability Interactive Estimation


System (UCLA)
CARE I]—Computer-Aided Reliability Estimator (NASA) FFT. See Fast FourIER TRANSFORM.
HARP—Hybrid Automated Reliability Predictor (Duke)
SAVE—System Availability Estimator (IBM)
SHARPE—Symbolic Hierarchical Automated Reliabil-
ity and Performance Evaluator (Duke) FIBER OPTICS
Future Development Through the use of VLSI For articles on related subjects see DATA COMMUNICATIONS;
technology, the cost of hardware is decreasing dramati- MULTIPLEXING; and NETWORKS, COMPUTERS.
cally compared to the costs of software, operation, and
maintenance of computing systems. Thus, the cost of Optical fibers are thin, flexible strands of clear glass
protective redundancy for fault-tolerance is-also a rapidly or plastic that can serve as a transmission medium capa-
ble of carrying up to several gigabits of information per
decreasing fraction of system costs. At the same time, the
second over short or long distances. They perform the
degree of dependence of people upon computing systems
same basic functions as copper wires or coaxial cables in
is increasing. These trends are leading to an increased use
carrying voice, data, or video information, but they trans-
of fault-tolerant machines. Fault-tolerant computers have
mit light instead of electrical signals. An optical fiber
already become common in telephone systems as well as
transmission system, shown in Fig. 1, is similar to a con-
banking and transaction applications. They are used for
550 _ FIBER OPTICS

Optical Optical Optical


transmitter \ fiber receiver

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:

1. Small and bright to permit the maximum transfer


1. Attenuation or transmission loss (dimming of light
of light into the core of the fiber.
intensity), which is caused by absorption and
2. Fast to respond to rapidly changing signals en-
scattering. Absorption is the equivalent to elec-
trical resistance and is usually caused by fiber countered in high-bandwidth systems.
impurities that absorb light energy. Scattering 3. Monochromatic (i.e. produce light within a nar-
usually results from imperfections in fibers. row band of wavelengths) to limit dispersion.
2. Dispersion, which is a measure of the widening of 4. Reliable with a lifetime in the hundreds of thou-
light pulses as they travel along the fiber and is sands of hours of operation.
usually expressed in nanoseconds per kilometer.
Dispersion limits the information carrying capac- The most commonly used light sources are gallium arse-
ity of fibers, since input pulses must be sepa- nide light emitting diodes (LEDs) and injection laser di-
552 ~=*FIFO-LIFO

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.

FIFO-LIFO BEN SHNEIDERMAN

For articles on related subjects see DATA STRUCTURES; LIST


PROCESSING; and STACK.
Top
The terms FIFO and LIFO refer to two techniques for
dealing with collections of items to which additions and
deletions are to be made. The acronyms FIFO and LIFO
stand for first-in-first-out and last-in-first-out, respectively.
Derived from business accounting and inventory manage-
ment notions, these techniques have found widespread
application in computer science.
The FIFO concept is based on the simple idea of peo-
ple waiting in line to be serviced at a bank teller’s window,
a supermarket checkout counter, or a bus stop. The first
person to arrive is serviced and, if there is aline of custom-
ers, the order of entry to the rear of the line is the order of FIG. 2 __LIFO stack; additions and deletions at top.
FILE 553

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

Employee Number Employee Name Salary Department Sex


10836 B. Johnson 18,000 Hardware Male
20111 C. Smith 14,000 Shoe Female
20177 R. Jackson 16,000 Houseware Female
e e e e

e e e e e

e e e e e

31112 B. Brooks 417,000 Hardware Male

(a) Raw data

EMPLOYEE

(b) Logical structure

Faoint |ecsmin fraooo]sice]& |


Paina |6brooke[i7o00]Have] [|
(c) A physical structure

FIG. 1. Raw data to logical file structure to physical file structure.


554 ‘FILE SERVER

DEPARTMENT
Logical
Structure (Relationship) (Relationship)
EMPLOYEE

EMPLOYEE

FIG. 2. Logical structure.

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

programs and many of the existing software packages use


direct solution techniques, increased size of problems
FIRMWARE
solved has led to more extensive application of iterative For articles on related subjects see EMULATION; MICROPRO-
methods. A popular family of solution techniques entails GRAMMING; READ-ONLY MEMoryY; and SOFTWARE.
iteration on the difference between an approximate
sparse factorization and the actual sparse system. This Early in the history of digital computation, the useful
balances direct and iterative techniques as a function of distinction was made between hardware, the tangible
complexity and computer characteristics. The current componentry of a computing system, and software, the
area of greatest concern is parallel computation on collection of instructions that directed what was to be
emerging architectures. computed. While it was true that software had to be
recorded on some tangible medium, such as punched
References cards or paper or magnetic tape (early), or, later, hard or
floppy disks (q.v.), the software itself was considered to
Handbooks
be pure information and hence intangible. Supporting the
1983. Noor, A. K., and Pilkey, W. D. State-of-the-Art Surveys on Finite “softness” of this interpretation was the fact that, when
Element Technology, ASME (with a list of textbooks and mono- recorded on a magnetic medium, software could be mod-
graphs on finite element technology). ified with ease.
1987. Kardestuncer, H. and Norrie, D. H. Finite Element Handbook. The question soon arose as to what to call programs
New York: McGraw-Hill. recorded indelibly on a medium such as read-only mem-
Bibliographies ory (ROM) or embodied in hard-wired computer circuitry.
The result was no longer “soft” enough to be modified,
1975. Whiteman, J. R. A Bibliography for Finite Elements. New but, since it was so intimately bonded to hardware, the
York: Academic Press. term coined was firmware.
1976. Norrie, D. and deVries, G. Finite Element Bibliography. New Early personal computers (q.v.), such as the Apple
York: Plenum Press.
and the Radio Shack TRS-80 maintained firmware copies
1985. Noor, A. K. “Books on Finite Element Technology,” J. Finite
Elements Anal. Design 1 (1). of an interpreter for the language Basic in ROM so that the
language was on tap immediately upon booting (see BOOT
Selected Texts on Fundamentals and Foundations and REBOOT), but the term firmware originated as far back
1972. Aziz, A. K. and Babuska, I. The Mathematical Foundations of
as the mid-1960s. In order to help the large base of IBM
the Finite Element Method with Applications to Partial Differen- 1400 series (q.v.) users convert to the new but incompati-
tial Equations. New York: Academic Press. ble IBM 360 series (g.v.) with minimum disruption, IBM
1973. Fix, G. J. and Strang, G. An Analysis of the Finite Element provided optional firmware that could be added to the
Method. Englewood Cliffs, NJ: Prentice-Hall. 360 that allowed it to execute 1400 series programs
1974. deBoor, C. Mathematical Aspects of Finite Elements in Partial through emulation, hardware-assisted simulation. Given
Differential Equations. New York: Academic Press. adequate memory, any general purpose digital computer
1978. Ciarlet, P.G. The Finite Element Method for Elliptic Problems. can execute programs written for any other through use
Amsterdam: North Holland. of a simulator, a program that interprets each target ma-
1978. Norrie, D. H. and deVries, G. An Introduction to Finite Ele-
chine instruction and executes whatever sequence of
ment Analysis. New York: Academic Press.
host machine instructions is needed to do the same thing,
1979. Desai, C. S. Elementary Finite Element Method. Englewood
Cliffs, NJ: Prentice-Hall. bit for bit. Interpretation is naturally slow, but im-
1981. Becker, E. B., Carey, G. F., and Oden, J. T. Finite Elements: An plementation of key parts of the simulator as firmware
Introduction. Englewood Cliffs, NJ: Prentice-Hall. provides a significant increase in speed of execution.
1981. Cook, R. D. Concepts and Applications of Finite Element
Analysis. 2nd ed. New York: John Wiley. EDWIN D. REILLY
1982. Bathe, K. J. Finite Element Procedure in Engineering Analysis.
Englewood Cliffs, NJ: Prentice-Hall.
1982. Huebner, K. H. and Thornton, E. A. The Finite Element
Method for Engineers, 2nd ed., New York: Wiley Interscience.
1983. Carey, G. F. and Oden J. T. Finite Elements: ASecond Course.
FLOATING-POINT ARITHMETIC. See
Englewood Cliffs, NJ: Prentice-Hall. ARITHETIC, COMPUTER.
1983. Irons, B. and Shrive, N. Finite Element Primer. New York:
John Wiley.
1989. Zienkiewicz, O. C. The Finite Element Method: Basic Concepts
and Linear Applications, 4th ed. New York: McGraw-Hill.
FLOPPY DISK
For articles on related subjects see HARD DISK; LATENCY;
EUGENE L. WACHSPRESS and MEMory: AUXILIARY.

The floppy disk, once called a minidisk, is the primary


medium for getting voluminous information into and out
of a microcomputer system. Such a disk is called a floppy
FINITE-STATE MACHINE. See sequentia. disk in distinction to a hard disk (q.v.) because the earliest
MACHINE. floppy disks, themselves flexible, were encased in a
558 FLOWCHART

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

ea") Meanetic eet gland

. (a)
Processing

=
Display Disk
storage

————

Manu:

storage

she Communication
P]e
a ee. Annotation Ge Online \/
storage Offline
storage

FIG. 1. _ Basic outlines. (From N. Chapin, Flowcharts, Petrocelli .


Books, New York, 1971.) Decision
Merge

Inconnector
entrance Preparation Extract

Predefined
Outconnector process
exit Sort

(aI) Terminal coat Manual


offline
operation

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

layer of output data (bread). Often, the output data of one


process becomes the input data for a subsequent pro-
cess, giving a multi-layer sandwich effect (a compound
system chart). A simple system chart shows only a single
BO+F+AX+4 process, which could be for any level of software from
system to subroutine.
Analysts also may prepare system charts for other
MN3 situations that are characterized by an alternation of data
and action. Some general examples are the situations
where a dataflow diagram could be used, or where an
integrated data engineering facility diagram (IDEF) could
be used, or where a state transition diagram could be
used.

Use: Program Flowchart Analysts most com-


monly prepare program flowcharts or flow diagrams to
describe in step-by-step detail the time-sequence of func-
tions, actions, or events. Such sequences usually com-
prise a process that takes in input data and produces
output data. A flow diagram (not to be confused with a
dataflow diagram) begins and ends with a labeled terminal
outline (Fig. 2) to mark each entrance and exit. Then suc-
T~A(TABLE)
cessive outlines connected by flow arrows depict the ac-

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>

FORMAL LANGUAGES < NP >


yee <VP >
For articles on related subjects see AUTOMATA THEORY;
BACKUS-NAUR FORM; CHOMSKY HIERARCHY; GRAMMARS; LAN-
GUAGE PROCESSORS; LANGUAGE TRANSLATION; METALANGUAGE; <<
ne Na RN
asES
REGULAR EXPRESSION; TURING MACHINE; and WELL-FORMED For-
MULA.
< he oN >
Languages and Grammars Formal languages are
abstract mathematical objects used to model the syntax
of programming languages or (less successfully) of natu- THE MAN ATE THE APPLE
ral languages such as English. For example, consider a
FIG. 1. ‘Tree for parsing sentence.
simple English sentence, such as
562 FORMAL LANGUAGES

<s> > <NP><VP> same collection of languages is generated.) If the produc-


<NP>> <A><N> tions in the grammar G have the form A — a, then G is
<VP>7> <V><NP>
context free. If the productions have the form A — w, B or
<A> > THE
<A> > ATE A w,, where w, and w, are strings of terminal symbols,
<iN>P a MAN then G is right-linear. A language is called a “phrase-struc-
<N> > APPLE ture” language, or a “context-sensitive,” “context-free,” or
“right-linear” language, if it can be generated by a phrase-
FIG. 2. Rewriting rules.
structure grammar, or a context-sensitive, context-free, or
right-linear grammar, respectively.
them context-free grammars. Chomsky observed that
The four types of grammars (phrase-structure, con-
these grammars are not good models for the syntax of
text-sensitive, context-free, and right-linear) are also
natural languages, but it was soon discovered that they do
known as type 0, type 1, type 2, and type 3 grammars,
closely model the syntax of programming languages, and
respectively. They form a grammatical hierarchy, called
for this reason they have been studied in great detail.
the Chomsky hierarchy. Among the four corresponding
To see a simple example of context-free rewriting
families of languages, the smallest family, the right-linear
rules that give rise to an infinite language, suppose that
languages, is important because it turns out to consist
the vocabulary consists of two abstract symbols a and 5,
precisely of those languages that can be recognized by
and let S be a variable. Then, using the rules S > aSb and
finite-state automata. These languages arise in many dif-
S — ab, we can generate the infinite language
ferent contexts, and they have the advantage of being
very easy to parse.
L = {a"b" | n == 1} = {ab, aabb, aaabbb, ...} .
The next family in the hierarchy, the family of con-
text-free languages, is important because context-free lan-
Rewriting rules of this type are called “context free” be-
guages are good approximations to the syntax of
cause they permit any occurrence of a variable within a
programming languages, even though this syntax is usu-
string to be rewritten without regard to the context in
ally a little too complicated to be completely captured by
which that variable occurs. By contrast, a rewriting rule
context-free grammars. Context-sensitive languages are
like aXab — aYZcab is not context-free. It is called context
powerful enough to encompass any complications in syn-
sensitive, since it allows X to be rewritten as YZc only
tax that may have been missed by the context-free model,
when X occurs in the context s,a__abs,, wheres, and s, are
but they are so general that they are difficult to work with.
arbitrary strings.
As a result, they have been studied less than the other
To describe different kinds of grammars more pre-
models, and various attempts have been made to add to
cisely, let us define a phrase-structure grammar to be a
the power of context-free grammars without resorting to
quadruple G = (V,, V;, P, S), where
the full strength of context-sensitive productions. These
efforts have produced various kinds of grammars that are
1. V,is a finite vocabulary of non-terminal symbols
more powerful than context-free grammars, although
or variables.
they are unfortunately more complicated as well: pro-
2. V;is a finite vocabulary of terminal symbols.
grammed grammars, macro grammars, indexed gram-
3. P is a finite set of rewriting rules (also called mars, and others.
productions) of the form a — f, where a is a The largest family of languages in the Chomsky hier-
nonempty string of variables and # is an arbi- archy, the family of phrase-structure languages, is an im-
trary string of variables and terminal symbols. portant family because it represents the largest class with
4. Sis a particular variable called the start variable. which one is likely to be concerned when modeling natu-
ral or artificial languages. This is so because the family of
For all strings s, and s, we may write s,as,>s,fs, ifa phrase-structure languages is in fact the same as the
— f is a production of the grammar G. Then the language family of all recursively enumerable languages—i.e. of all
generated by G is the set of all strings ¢ of terminal symbols languages L such that membership of a string w in L can
such that be verified by some algorithm (or, more precisely, by
some Turing machine).
SPS, >5,>...>5,>¢
Languages and Equations We have noted that
for some choice of intermediate strings s,, s,,...s,. The context-free languages are good approximations to the
intermediate strings may consist of both variables and syntax of many: programming languages. Consider the
terminal symbols. following very simple example of syntax specifications in
Let a, a,, and a, denote arbitrary strings of variables Backus-Naur form, or BNF.
and terminal symbols, and let A and B denote variables. If
the productions in G have the specialized form a, Aa, > (digi::=O'I1I2I3 141516171819
a ,fa,, where B represents any non-empty string, then G (unsigned integer) : : = (digit) | (unsigned integer) (digit)
is a context-sensitive grammar. (Frequently, a grammar is
called context sensitive if the productions merely have This means that (digit) and (unsigned integer) are the
the form a — f, with f at least as long as a. These two smallest sets of strings satisfying the following condi-
definitions are in fact equivalent in the sense that the tions: 0, 1,..., 9 are digits (i.e. they are in the set (digit));
FORMAL LANGUAGES 563

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.

FORTH Programming Programming in Forth consists of


simply adding new words that are defined in terms of
For articles on related subjects see POLISH NOTATION; POST- previously defined words. Most implementations provide
SCRIPT; PROGRAMMING LANGUAGES; and REAL-TIME BUSINESS AP-
an assembler “vocabulary” (a list of words) so that new
PLICATIONS. primitives may be added. At the other end of the scale,
there are words that allow the creation of “defining”
History Forthis an interpretive programming language words. These are words that, when executed, define other
and environment invented in 1970 by Charles H. Moore, words. New defining words and new primitives can be
who founded the first Forth vendor, Forth, Inc. Forth was defined as easilyas any other kind of word. Applications
designed to be both the development and run-time envi- written in Forth tend to be factored into much smaller
ronment for real-time applications such as controlling pieces than in other languages. The definition of a Forth
radio telescopes. Today, most of its commercial use con- word is typically just a few lines long.
tinues to be in the fields of real-time business (q.v.),
scientific, and hardware control applications. The Interpreter The Forth interpreter identifies a
Forth’s early acceptance was due to its small size, token as any sequence of printable characters delimited
interactive access to all of its components, and the ease by spaces or the end of a line. The interpreter simply gets
with which a single user could understand the entire sys- the next token from the input stream, looks in its vocabu-
tem and leverage it into a succinct application-oriented laries for one whose name matches the token, executes
environment. Early implementations packaged the inter- the word if a match is found, attempts to interpret it as a
preter, the compiler, a disk operating system, a multitask- numeric constant if a match is not found, and, failing both
ing (q.v.) executive, an editor, and an assembler into of these, complains. This process is repeated until the
resident memory of less than 16K bytes. input stream is exhausted.
In 1978, the Forth Interest Group (FIG) was formed. For example, one may enter
Its members developed a model implementation of the LC
language and, for a few dollars, distributed source code
for the microprocessors that were common at the time. and press the return key. When the interpreter sees “1" it
The FIG model demonstrated the accessibility of Forth by pushes the integer value 1 to the stack and takes a similar
showing how it could be ported to new platforms with action when it sees ”3." When it sees “ + ” it executes the
very little effort. The FIG model was widely embraced by Forth word named “ + ” which is defined as a command
hobbyists. to remove the top two values from the stack, add them,
One consequence of this ease in implementing the and push the result to the stack. When it sees “.” the
language was an early and rapid proliferation of dialects. interpreter executes the Forth word named “.”, which
Subsequent standardization efforts culminated in differ- removes the top integer from the stack and prints it out.
ing standards established by equally influential users in Thus, like the language PostScript (g.v.), Forth expres-
1979 and again in 1983. These standards were increas- sions are written in postfix form in which operands pre-
ingly ignored, both because they were silent on important cede the operator (see POLISH NOTATION).
566 FRACTALS

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

i S(r*t,, r*t,) Xp, p= l¥Y, ma;


— O%
X(t st.) = Pg I :
k=Rk, Vea. = Xp b= 0.3.

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 =}

and the Julia set J, that is the minimal completely invari-


ant closed subset of C (i.e. we have that z € J, if and only
if27+ce J. except in the special case c = 0 where the
Julia set is the unit circle).
The self-similarity of the Julia set is as follows. As in
the case of exact self-similar fractals, any small neighbor-
hood of a point in the Julia set can be mapped onto the
NG complete Julia set. However, the necessary similarity
y i) WN
\ "4 tS ey
mapping is not affine, but nonlinear. The fractal dimen-

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

pixel representing a small region in complex parameter


space. Colors are assigned using a color look-up table.
L(c) is an integer-valued function. It is possible to
define a smooth version by means of the potential func-
tion of the Mandelbrot set. For points c ¢ M, the potential
is given by

_ 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

sinh G(c) 24 ee 2 sinh G(c)


FIG. 4. The Julia set corresponding to Newton’s method for
the solution of z* — 1 = 0. The thick points indicate the three 2 e 1 G'(0) | Gp |G'(c) |
roots of the equation.
This estimate gives rise to different pictures (see Fig. 12,
color insert page CP-9) and also to a new, fast algorithm
boundary of M has a dimension equal to 2 has recently to compute the Mandelbrot set: Once the lower estimate
been proved. on the left side has been computed for a point c ¢ M, a disk
The computer code to generate the data for an image with that radius can be eliminated from further computa-
of the Mandelbrot set is very short, it implements the tion, since it is guaranteed that this disk does not inter-
integer-valued function sect M. A speed-up factor of 10 or higher may result,
depending on the region of the image and the resolution.
€ = min{k: |R&C) | > Ryyax } if € < Linax The algorithms for the computation of color images
L(c) = of Julia sets are very similar to the above. For details, see
eo otherwise the literature.

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

clustering also improves the locality of reference for the


application program as well. Indeed, this property has

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.

A gateway is a communications device that intercon- Intermediate


nects networks. There are two common ways in which Host
networks can be interconnected, and the term gateway is
used to describe both. FIG. 2. Application level gateway.
GENERATIONS, COMPUTER 579

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

Ll: begin made for each metavariable; and a special metavariable


real A, C, D; real array B[1:10];
S called the starting or root symbol, which is the starting
L2: begin
point for the substitution process to be described below.
real D, E; real array F[—4:—6,1:12];
L3: begin These four elements are often represented by the quad-
real F, G; ruple {V,, V7, P S}.
Grammars are most commonly classified into two
groups—context-sensitive and context-free. In the case of
context-sensitive grammars, the rules are applicable only
end L3; when a metavariable occurs in a specified context—for
L4: begin example, the modification of verbs to their plural form in
real B, C, G; the context of plurality in the rest of the sentence in
natural languages. By contrast, in a context-free grammar,
any occurrence of a metavariable may be replaced by one
end L4 of its alternatives, irrespective of the other elements in
end L2; the language. Most programming languages appear at
end L1 first glance to be describable by context-free grammars
until consideration is given to the effect of declarations,
Variable Label of Scope of such as the dimensions of an array or the specification of
Name Defining Block Name a procedure to support a procedure reference. In the
discussion that follows, we will restrict ourselves to con-
A Ll Ll
text-free grammars.
B Ll 2° L1,~LA
C Ll L1,~L4 Grammars for high-level programming languages are
D Ll L1,~L2 called generative because, given a starting metavariable
D L2 L2 such as sentence, they specify a sequence of replace-
E L2 L2 ments or substitutions that can be applied to that name
F 12 L2,~L3 to form an instance (in this case, a sentence) in the
F 13 L3 language. For example, consider the following small
G 1133 L3 grammar:
B L4 L4
C L4 L4 sentence : : = noun—phrase verb-phrase
G L4 L4 noun-phrase : : = article noun
verb-phrase : : = verb noun—phrase
Note: L1,~L4 means for example, that the variable’s scope
holds throughout block L1 except for block L4.
and
FIG. 1. Scope of variable names.
article ::=the,a
noun : :=cat, milk
verb : : = drank
Reference
1978. Peterson, J. L. Computer Organization and Assembly Lan- where the italicized elements are metavariables and the
guage Programming. New York: Academic Press. non-italicized elements are from the alphabet of the lan-
guage. Using these rules, the sentence
J.A.N. LEEAND ANTHONY RALSTON
The cat drank the milk.

can be generated by the following sequence:


GRAMMARS sentence — noun-phrase verb-phrase.
— article noun verb-phrase.
For articles on related subjects see BACKUS-NAUR FORM;
— the noun verb-phrase.
CHOMSKY HIERARCHY; COMPILER CONSTRUCTION; FORMAL LAN- — the cat verb-phrase.
GUAGES; LANGUAGE PROCESSORS; METALANGUAGE; PRODUCTION; — the cat verb noun-phrase.
PROGRAMMING LINGUISTICS; and SYNTAX, SEMANTICS, AND PRAG- — the cat drank noun-phrase.
MATICS. — the cat drank article noun.
— the cat drank the noun.
A grammar is an algebraic system describing the — the cat drank the milk.
processes by which instances of a language can be
constructed. A grammar consists of four elements—a Equally, the sentences “the milk drank the cat” and “the
set of metavariables or nonterminal symbols V; (usually cat drank the cat” can be generated, since they have the
called parts of speech when dealing with natural lan- required underlying syntactic (grammatical) structure.
guages); an alphabet V, (or character set), often called Similarly, consider the following grammar for simple
the terminal symbols; a set of rules or productions P, forms of arithmetic expressions in high-level languages
which describe how a sequence of substitutions can be (where the vertical bar is to be read “or”
582 GRAMMARS

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:

arithmetic-expression with the vertical bar being read as “or.” When X is to be


— term add-op term substituted for in a string, the syntactic analyzer must
— factor add-op term then choose one of the possible substitutions and, if this
— primary add-op term does not leads to a successful parse, try another. Typi-
— variable add-op term cally, the possibilities are tried in left-to-right order when
— Aadd-op term the production is written using the vertical bar.
—>At+t term The above grammar can be analyzed in either a
— A + factor mult-op factor
top-down or bottom-up manner. For the string abxcd,
— A+ primary mult-op factor
— A+ variable mult-op factor we have
— A + Bx factor
— A + B* primary exp-op primary

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

During the compilation process for high-level pro-


SL) 4OS eae
©]... leieecolmma
gramming languages, we are interested not in generating
the allowable strings in a language, but rather in syn-
tactically analyzing or parsing the strings presented to
the compiler. The function that performs this analysis b c d b (2 d
is naturally called a syntactic analyzer. Grammars for “Growing from the root’ “Pruning toward the root’
high-level programming languages are commonly classi-
fied according to the types of syntactic analyzers used
to parse them. The top-down tree corresponds to the derivation
Syntactic analyzers can broadly be classified into two
types: (1) the predictive types, which, starting from the S — AX > aBX > abX > abxC > abxcd
root symbol, attempt to predict the means by which the
string was generated; and (2) the reductive types, which so that the numbers in the tree correspond to the steps in
attempt to reduce the string to the root symbol. These the derivation. Similarly, in the bottom-up case, the reduc-
methods are loosely termed the top-down and bottom-up tion shown in the tree corresponds to
methods, respectively. The direction implied by these
terms is related to the syntactic trees that may be gener- abxcd — aBxcd + Axcd + AxC > AX > S.
ated by the analysis wherein the root symbol is at the top
of the page and the string at the bottom. It may then be Since each metavariable appears on the left side of
seen that a predictive (top-down) method starts at the top some production, in the top-down approach any metavari-
of the ( yet unconstructed) tree and builds down toward able in the string can always be replaced by the corre-
the string, whereas the bottom-up (reductive) method sponding right side of a production. When going bottom-
starts at the string and attempts to develop a tree that up, however, metavariables in the string may not corre-
converges onto the root symbol. spond to right sides of productions (e.g.Ain Axcd above).
For example, consider the grammar with The bottom-up procedure is conveniently visualized by
imagining a left-to-right scan across the string with succes-
V, = {A,B, C, X} sive characters put ona stack (q.v.) until a production can
V, = {a, b, c,d, x,y} be applied. For the example above, this is illustrated as
follows, where the symbol V signifies the bottom of the
and the production rules stack.
GRAMMARS 583

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

FIG. 1. Relationships between 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.

A graph is a set of points (commonly called vertices or


nodes) in space that are interconnected by a set of lines FIG. 1.
GRAPH THEORY 585

In many applications it is natural to associate a direc-


tion with each edge of the graph. The graph is then said
to be a directed graph or digraph. In specifying any edge of
a digraph by its end-points, then (by convention) the edge
is understood to be directed from the first vertex towards
the second. The indegree, d~(v), of any vertex v is the
number of edges directed towards v. Similarly, the out-
degree, d*(v), of vis the number of edges directed from v.
A digraph Gis strongly connected if, for any pair of vertices FIG. 3.
uand v of G, there exists a path from u to v and a path from
vtou.
the vertices of the other such that the number of edges
Any subgraph of a graph G can be obtained by remov-
between any two vertices of one is equal to the number of
ing vertices and edges from G. It is understood that the
edges between the corresponding vertices in the other.
removal of an edge leaves its endpoints in place, whereas
Computations involving graphs require that the
the removal of a vertex necessitates the removal of any graph be represented somehow within computer storage.
edges with that vertex as an endpoint. An articulation The choice of data structure may have important im-
point of a connected graph is any vertex whose removal plications for the complexity of the algorithm. A natural
produces a subgraph with two or more components. Any form of representation is provided by a so-called adja-
graph with no articulation point is said to be 2-connected. cency matrix. An adjacency matrix A is ann X n matrix
In a 2-connected graph there are at least two vertex-dis- where A(ij)=1 if (U,,v)e£ and is 0 otherwise. Such a
joint paths between any pair of vertices. Two paths are representation requires O(n’) storage space and conse-
vertex disjoint if (apart from the ends of the path) they do quently requires O(n’) time to initialize. Adjacency matri-
not share a vertex. A 2-connected component (sometimes ces are very useful for algorithmic questions concerning
called a block) of a graph Gis a maximal subgraph G’ of G paths in graphs. For example, it is not difficult to show
(maximal in the sense that no additional edges or vertices that there is a path of length r (.e. having r edges) from v,
of G can be added to G’) such that there are at least two to v, if and only if A’(s,)=1, where A’ is the rth matrix
vertex-disjoint paths between every pair of vertices of G’. product. Another common data structure for graphs is
Many applications require a number to be associated the so-called adjacency list representation. In this repre-
with each edge of a graph. Such a graph with associated sentation, for every veV, L(v) is a pointer to a list of
edge weights is said to be a weighted graph. For any edge vertices adjacent to v. Fig. 4 shows the adjacency list
(u,v), w(u,v) denotes the edge weight, which is also some- representation of the graph of Fig. 1. The adjacency list
times called the length of (u,v). representation of a graph requires O(n + m) space and
In a complete graph, there is an edge between every thus O(n + m) time to initialize. From the point of view of
pair of vertices. The complete graph with n vertices is complexity considerations, this is usually an improve-
denoted by K,.. Fig. 2 shows K, and K,. In a regular undi- ment compared with adjacency matrices.
rected graph, every vertex has the same degree; if this is
k, the graph is k-regular. Note that K, is (n - 1)-regular. Graph Algorithms Many graph algorithms are
If, for a graph G, it is possible to partition the vertex structured by systematically searching (or traversing)
set v into two disjoint subsets, V, and V, (V,UV,=V), such the graph subjected to the algorithm. Consider the
that every edge of G connects a vertex in V, to a vertex in following technique for traversing a (connected) graph.
V,, then Gis a bipartite graph. If there is an edge between Initially mark all vertices as being “unvisited.” Now start
every vertex of V, and every edge of V,, then G is said to the search at some arbitrarily chosen vertex and, when
be a complete bipartite graph, which is denoted by K;, visiting any vertex v, proceed as follows. If v has not
where | V,|=i and | V,|=j. Fig. 3 shows two representa- been previously visited, mark v as “visited.” Next, visit
tions of K,,. In this figure, dots distinguish vertices from an “unvisited” vertex in the adjacency list for v. If no
edge crossings. The graphs of this figure are said to be such vertex exists, return to the vertex visited just
isomorphic. Two graphs are isomorphic if there is a one- before v was visited for the first time. The visit terminates
to-one correspondence between the vertices of one and when all vertices adjacent to the initial vertex have been
visited and the search has returned to the initial vertex.

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

computing power comes from the smarter use of comput-


GROSCH’S LAW ers...,” not from raw power alone (Jones, 1985).
For articles on related subjects see BENCHMARKS; PERFOR-
MANCE MEASUREMENT AND EVALUATION; and PERFORMANCE OF References
COMPUTERS.
1953. Grosch, H. R. J. “High Speed Arithmetic: The Digital Com-
puter as a Research Tool,” Journal of the Optical Society of
In the late 1940s, Herbert R. J. Grosch formulated America, 43, 4 (April) 306-310.
Grosch’s law concerning economies of scale in computers; 1975. Bertean, D. “Letter,” Computerworld, 8, 12 (16 March) 13.
namely, that computing power increases as the square of 1975. Grosch, Herb. “Grosch's Law Revisited,” Computerworld, 8,
the cost, or 16 (16 April) 9.
1985. Jones, Jeremy. “On Grosch’s Law Revisited,” in “Letters,
p=ke ACM Forum,” Robert L. Ashenhurst, editor, Communications
of the ACM, 28, 5 (May) 453.
where p = computing power, k = a constant, and c =
ROBERT P. CERVENY AND KENNETH E. KNIGHT
system cost (either lease price or purchase price) so that,
for example, for twice the money one obtains four times
the computing power.
Grosch developed the “law” by hand on semi-log
paper two or three years before the delivery of mass-pro- GROUPWARE
duced machines. The data points he used “...were hand For articles on related subjects see BULLETIN BOARD; COM-
calculations, log tables, desk calculators, punched card PUTER CONFERENCING; and ELECTRONIC MAIL.
machines (IBM 601, 602A, 604), relay calculators, ENIAC,
the SSEC, NORC, the Harvard Mark I and Mark II and Groupware is the software written to support a class
rumors of the SEAC. Speeds were not known yet for the of applications arising from the integration of computa-
Eckert-Mauchy machine (later UNIVAC I) or for the De- tion and communication. Groupware must be able to sup-
fense Calculator and Tape Processing Machine (later IBM port two or more users engaged in a common task and
701 and 702), let alone prices, and costs of one-off ma- provide the users with an interface to a shared environ-
chinery were the wildest kind of guesswork.” (Grosch, ment (Ellis, 1989). Thus, groupware is an area of organiza-
1975, p. 9). This was a rather casual beginning for a “law” tional computing, the field of study and practice
that has given rise to a great deal of research and specu- concerned with discovering and developing useful fits
lation. between computing possibilities and organizational (in
While Grosch did not originally publish his law, it contrast to individual) needs (Applegate, 1991). In prac-
became part of the oral tradition of the computer indus- tice, groupware denotes human-machine systems that
try. It was quoted both seriously and humorously, and support multi-agent communication, cooperation, collab-
eventually gained respectability through numerous jour- oration, and coordination in the course of organizational
nal citations. The earliest presentation by Grosch himself activity.
was in the Journal of the Optical Society of America in 1953 Groupware has become important because in the
(Grosch, 1953). setting of diverse, interdependent, and competing organ-
The pricing implications inherent in Grosch’s law led izational forms, improvement of organizational effective-
to serious attempts to ascertain its validity. While several ness is a paramount concern. This requires more than
earlier studies lent empirical validity to its assumptions, improving intrinsic individual productivities. It entails the
it is not clear whether this reflected a true value in relation creation, use, and maintenance of both structural and
to users’ costs or if computer manufacturers used its dynamic configurations of interaction such that the
widespread acceptance in pricing (Bertean, 1975). Most organizations’ productivity is maximized or improved on
studies performed since the late 1970s question whether a continuing basis. Groupware is concerned with the ways
it still holds. in which computing technologies can facilitate such ef-
Regardless of whether Grosch’s law still holds, there forts.
are limits to the extent that economies of scale can be Groupware is a multi-disciplinary research area that
realized and there is some point—the state of the art—be- draws on theories from distributed computing (q.v.), par-
yond which computing power can only be increased at allel processing (q.v.), cognitive engineering of interactive
great cost. Also, the calculations of Grosch’s law reflect a software, model management, social psychology, sociol-
given instant in that they are concerned with new comput- ogy, organizational design, and economics. Thus, group-
ers only. The existence of a used computer market, short- ware is the next step in the progression from electronic
and long-term leases, third-party leases, and the emer- data processing to decision support systems by way of
gence of the personal computer all limit applicability of management information systems (g.v.).
the law. There is a fundamental difference between group-
Grosch felt that, if the considerations include “total ware and other systems that support multi-user activity,
cost”—CPU, memory, peripheral devices, software, and such as database management systems (g.v.). The aim of
operations, then “...my old law still gives useful guid- the database approach to information locking is to create
ance.” (Grosch, 1975) However, Grosch and other authors the impression that users are working on asingle, isolated
would agree that, regardless of the truth in the law, “...real task. The underlying design philosophy is that each user
GUARDED COMMAND 589

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 "™®

(rIBIS), group editors (GROVE), group writing tools


(QUILT), and organizational coordination (Coordinator).
Groupware is still very much in Kuhn’s pre-paradigm Beas,
stage. The grand challenge facing groupware researchers
and developers is to create theories that bind research Here there are n boolean expressions, each guarding a
streams from multiple disciplines. At the theoretical end, different statement. When a structure containing a set of
there is the need for the identification and/or creation of guarded commands is executed, the guards are evalu-
mathematical frameworks and models of group, team, ated; the fashion in which they are evaluated is com-
and organizational roles, tasks, and procedures. From a pletely immaterial. Upon evaluation, a subset (which may
systems development perspective, the key research be empty) of the guards will have the value true. Of this
issues include the development of multiuser, multi-media subset, one is chosen at random, it is the corresponding S
interfaces, distributed concurrent architectures for that is selected for execution.
shared objects, and a variety of flexible interaction lock- If all of the guards in a given guarded command set
ing mechanisms. are disjoint—that is, if no more than one guard is true at
any given time—then the selection of S is well-defined
References despite the unspecified and random nature of guard eval-
uation and selection. If, however, the guards are not dis-
1989. Ellis, C. A., Gibbs, S. J., and Rein G. L. “Groupware: The
joint, with the possibility that more than one may be true
Research and Development Issues,” MCC Technical Report
STP-414-88, 3 March.
simultaneously, then selection of S is not well defined
1991. Applegate, L. M., Ellis, C. A., Holsapple, C. W., Radermacher, (and indeed may be different from one execution of the
F. J., and Whinston, A. B. “Organizational Computing: Defini- program to the next). For this reason, guarded command
tions and Issues,” Journal of Organizational Computing, 1, 1, sets are fundamentally nondeterministic. The nondeter-
1-10. minism places increased emphasis on abstract specifica-
tion of the desired computation, with corresponding
CLYDE W. HOLSAPPLE, SUKUMAR RATHNAM, AND de-emphasis of algorithm implementation details. This
ANDREW B. WHINSTON
encourages more systematic, and hence reliable, pro-
gram development.
Guarded command sets may be incorporated into
control structures in a number of ways. The two follow-
GUARDED COMMAND ing examples, together with simple illustrative applica-
For articles on related subjects see CONTROL STRUCTURES; tions, have been described by Dijkstra. In each case,
PROGRAMMING LANGUAGE SEMANTICS; and PROGRAM VERIFICA- the control structure syntax is the guarded command
TION. set, as formulated above, enclosed in a pair of key
words.
The term guarded command, as defined by Dijkstra A selection control structure has the syntax
(1975), is synonymous with a conditionally executed
statement. More precisely, a guarded command is the
combination of a condition (boolean expression) B and
the (possibly compound) statement S whose execution is
controlled by B. In a sense, B “guards” the execution of S.
In Dijkstra’s notation, a guarded command is represented
as

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.

The semantics are that a statement S is selected in the JERROLD L. WAGENER


manner described above, and, after execution of S, this
entire process is repeated. Execution of the do-od struc-
ture terminates only when all guards evaluate to false. By
constructing the appropriate guards, any desired repeti- GURU
tive control can be achieved. For articles on related subjects see POWER USER; and Wiz-
The following program for calculating the greatest ARD.
common divisor of two positive integers illustrates the
use of do-od for specifying repetition control. The term guru is used more frequently in computing
than in most other phases of human activity, but with its
[determine gcd(P,Q)] conventional meaning: a wise person—a teacher, per-
X—P,YeQ haps—who knows or claims to know a great deal about a
do particular subject and who is readily available and anx-
X>Y>X¢X-Y ious to share his or her knowledge with others. Some
Y> Xo Y<Y-X early computer gurus were Jackson Granholm, who held
od forth in Datamation and who coined the term “kludge”
[X= Y= ged(PQ)] (g.v.), and H. R. J. Grosch, who promulgated, among other
GURU 591

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

(hc por aS ayers wre


vy ddan
ates S ite .

oe shen
rie

Hh. iatienedy tos i


cereset edten

_ Tah 7 ‘aera
a rt ty

wbx
* :
i *
Sy
i u
ee
=

is . T §. Waly oer aie


¢ Sgn bee al De We

R« i teed nee
aot, eli ‘caety a crate Bi x

134thunailespabatll
a A : pent Baw ive.
i ae

' Yu4i a Vilet) “0 Seal : pt aes


a's
5
he a lie ha
i
4 a — e as he ia Phy:
a(t head i" hoes stat

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 -
| °

(We ages N06 ecig! e


Ay < ote
"

ipa yy fal? a4 ohne. t


Vek wea 9 ‘247° Sams
Vii idasiiviaid le ha Sue
WageopAmanem
(rlyube aglifent:wai¢
wes alee age}ot,
.
=o
som
HACKER letin board and message systems, and their members may
never have met or even know each others’ real names,
For articles on related subjects see BULLETIN BOARD; Com- only their aliases.
PUTER CRIME; COMPUTER SECURITY; COMPUTER VIRUS; PROGRAM- A hacker gains status by demonstrating his or her
MER; and WIZARD. mastery of the system. This may be done by writing clever
programs (hacks), “cracking” a system by penetrating its
A hacker is a person obsessed with computers. At the security, crashing a system, or accessing supposedly se-
heart of the obsession is a drive to master the computer. cure information. The highest accolade for a hacker is to
The classic hacker was simply a compulsive programmer. be termed a wizard by other hackers.
It is only recently that the term hacker has become asso-
ciated with computerized vandalism. The best known The Hacker Ethic The hacker’s obsession with com-
description of hackers comes from Weizenbaum (1976): puting leads to impatience and intolerance with anything
that stands in the way. Levy (1984) codifies the resulting
bright young men of disheveled appearance, often
hacker ethic:
with sunken glowing eyes, can be seen sitting at
computer consoles, their arms tensed and waiting Access to computers—and anything which might
to fire their fingers, already poised to strike, at the teach you something about the way the world
buttons and keys on which their attention seems to works—should be unlimited and total. Always yield
be as riveted as a gambler’s on the rolling to the Hands-On Imperative!
dice....They work until they nearly drop, twenty, All information should be free.
thirty hours at a time....If possible they sleep on Mistrust Authority—Promote Decentralization.
cots near the computer. But only for a few hours— Hackers should be judged by their hacking, not bogus
then back to the console or the printouts. Their criteria such as degrees, age, race, or position.
crumpled clothes, their unwashed and unshaven You can create art and beauty on a computer.
faces, and their uncombed hair all testify that they Computers can change your life for the better.
are oblivious to their bodies and to the world in
Noticeably missing from this ethic is respect for per-
which they move. They exist, at least when so en-
sonal property, security, and privacy. While they may be
gaged, only through and for the computers.
scrupulously honest and law abiding in other aspects,
The majority of hackers are young men, often teenagers, hackers let no one and nothing come between them and
who have found within the computer a world that they their pursuit of computing. This leads to conflict between
can mold to their desires, a world far less threatening and those who follow the hacker ethic and the larger commu-
more rewarding to them than the world of conventional nity of users.
social relations. Many of them are social misfits—shy,
inarticulate young men with few fulfilling personal rela- Types of Hackers Most early hackers were program-
tionships. Turkle (1984) describes hackers as “trapped” mers. Hacking, as a programming style, is distinguished
in a quest for control and mastery with the computer as by its lack of apparent method. Hackers are impatient
their medium. with structured design, systematic development, and
Early hacker communities developed around accessi- documentation. Instead, the hacker spends long hours at
ble interactive computer systems at places such as M.1.T. the terminal developing programs and debugging them
Today, hacker communities are often linked through bul- interactively. Hackers believe that programs should be

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

(Rj Handshaking Sequence ———|

FIG. 1. Example of handshaking sequence. The arrows are used to indicate which control sig-
nal causes which response during sequence.
596 HARD DISK

Processor Terminal Comments


Comments
SYN
i]
SYN Synchronize data sets
SYN SYN :
SYN SOH Start of header
Synchronize data sets SYN
NAK Terminal Identification of terminal
Negative acknowledgment. ' 3
CRC characters did not H
' STX Start of text
match and computer requests
retransmission. '
Text This may be a program
i] ETX End of text
SYN CRC Cyclic redundancy check character
i]

Synchronize data sets SYN


SYN
Positive acknowledgment. ACK SYN
No errors. SYN
SYN Terminal repeats
SOH above message.
(
{
ETX
CRC
Idle line. Computer {

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

numbered sectors are interleaved according to the aver-


HARDWARE DESCRIPTION
age time it takes to read data, the disk can operate more
efficiently. LANGUAGES
On hard disks used with the IBM-PC and compatibles For articles on related subjects see COMPUTER SYSTEMS;
(q.v.), track zero is dedicated to system files. A high-level INSTRUCTION SET; LOGIC DESIGN; NONPROCEDURAL LANGUAGES;
format is performed by DOS, using the FORMAT com- and PROCEDURE-ORIENTED LANGUAGES.
mand. This copies some code into the boot sector and
starts to expand the File Allocation Table (FAT). The FOR- Hardware description languages (HDL) are notations
MAT command also writes the special command file and and languages that facilitate the documentation, design,
two hidden system files that DOS needs to operate. The simulation, and manufacturing of digital computer sys-
boot sector is a special area used by the computer to start tems. A digital system can be described at many different
the process of booting the computer (see BOOT AND levels of detail in order to depict structural or behavioral
REBOOT). The file allocation tables are the most important aspects. Thus, a system can be described at the gate level
files on a hard disk. The FAT contains information about as a network of logic gates and flip-flops whose behavior
which sectors are assigned to which files. When a file is is specified by timing diagrams, boolean equations, or
written to a hard disk, it is not written in consecutive truth tables. Typical gate level information is shown in
sectors. Sectors are scattered all over the disk, organized Fig. 1. While a complete digital computer can be de-
as a linked list. The disk directory (q.v.) knows how big a scribed at this level, the amount of information to be
file is and when it was created. It also stores the location conveyed can be too extensive for a human designer to
of the first sector for a given filename. After that, only the comprehend, and higher-level notations are often used to
FAT knows where the others sectors are. Destroy the FAT abstract or hide details.
and the hard disk is useless. Above the gate level, standard or predefined net-
The collection of tracks with the same number ar- works of gates and flip-flops are often used as building
ranged vertically on all platters is called a cylinder. Since blocks at the register transfer level. Typical components
the heads are connected to only one actuator arm, all are registers, multiplexers, and arithmetic-logic units
heads move in unison. For example, when the head is (ALUs - g.v.). Systems may be decomposed into a data part
over, say, track 15 on the top platter, it is over track 15 on and acontrol part, operating in discrete steps, and some of
all platters. For that reason, DOS, through programmed the lower-level details, such as gate interconnection,
directionsto the hard disk controller, tries to store all placement, individual gate delays, etc., are suppressed.
sectors belonging to the same file on the same cylinder to While structure is normally depicted by block dia-
minimize head movement. There are also two track num- grams, a wide variety of conventions exist for describing
bers that serve a special purpose. The landing track is a the behavior of the system. Thus, in addition to truth
track where data is never written. This is where the heads fables and boolean equations (used mostly for combina-
go to land when the system is powered down or the heads tional networks), timing and state diagrams are also used.
are “parked” by a utility program prior to shipment of the Special-purpose programming languages (called register
disk drive. Some disks have self-parking heads while oth- transfer languages) permit the use of digital computers as
ers require user intervention through software. design aids, and a number of such RT-languages have
As tracks get closer to the center of the disk, their been proposed (Barbacci, 1975).
circumference necessarily gets smaller. But since the The existence of digital components capable of inter-
number of sectors stays the same and so does the number preting instructions stored in memory (i.e. instruction set
of bytes per sector (for most drives), the data is therefore processors) motivates the existence of the programming
more densely packed. The controller must therefore com- level of description. At the programming level, the basic
pensate for this increase in magnetic intensity when it is components are the interpretation cycle, the machine
a certain number of tracks from the center of the disk. instructions, and operations (all of which are defined as
This precompensation factor is usually stored as a track register transfer level operations). The programming
number at which to begin sensing the increased magnetic level arises from the need to describe the behavior rather
density.
Hard disks are now moving away from the magnetic
and towards optical mechanisms. Hard disks are likely to
get much faster and to be able to store a terabyte—a
trillion characters—by the year 2000.

STEPHEN J. ROGOWSKI

(a) Logic Diagram

F=AV(BAC) > =2-


7O-=-00
==
--o0oo0o--o0o
—=-oOo-f0qo+0-.
—--|---+0000

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,

FIG. 2. ISP level description.


HARDWARE DESCRIPTION LANGUAGES 599

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 := M[primary; 32K words;


16 bits/word; core] —— P[central] —-T[console]|—X

C tz Mp—k— TIMs?
—x

bs 1 Mp[256K bytes; access-time 256 nanoseconds]


2 Ms[magnetic tape; 9 tracks]
3 D[arithmetic-logic-unit; floating point]

D
instructions

M[processo

K(Mp) K(P)

| M.processor state |
program counter |

Pc:= Mp K.Instruction fetch —= K.data fetch a:D—— K.data store

M.Instructions M.data M.data

FIG. 3. PMS level descriptions.


CONLAN
t
REFLAN PSC WORKING GROUP

BCL

TOOLMAKERS

REFLAN L1 REFLAN L1 REFLAN L2


LL1 Eis LL2

REFLAN LL1 REFLAN LL2


DFF sn74150

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

architecture DATA_FLOW of FUI1_ADDER is


SmanailaGe ase lls
begin
SUM <= X xor Y xor CIN after 5 NS;
C <= (Y and CIN) or (X and CIN) or (X and Y);
COUT <= C after 6 NS;
end DATA_FLOW
Data-flow Description of FULL_ADDER
(a representative BODY)

architecture Structure_View of Full_Adder is


Component Half_Adder port (I1, I2: in BIT;CARRY, SUM: out BIT);
Component Or_Gate Port Clie 2s) ineBl Ose outwmBlios
begin
Cl: Half_Adder port map (X,Y,a,b);
C2: Half_Adder port map (b,CIN,c,SUM);
C3: Or_Gate port map (a,c,COUT);
end Structure_View;
Structural Description of FULL_ADDER
(a representative BODY)
FIG. 5. VHDL description of a full-adder. This example is taken from “An Interface Between VHDL
and EDIF,” Proceedings of the 24th Design Automation Conference, 28 July-1 August 1987, Miami
Beach, Florida, by Moe Shadad.

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)”)))

(library libraryname (edifLevel 0)


(technology (numberDefinition (scal 1 (e 1 —9) unit time)))

(cell (rename buf “/user/gen_lib/$buf”)


(CellType generic)
(view v (viewlype netlist)
(interface
(port (rename OUT “OUT”) (direction output))
(port (rename 10 “I0”) (direction input)))))

(cell (rename inv “/user/gen_lib/$inv”)


(cellType generic)
(view v (viewType netlist,
(interface
(port (rename OUT “OUT”) (direction output))
(port (rename IN “IN’) (direction input)))))

(cell (rename ja374 “ja374”)


(cellType generic)
(view v (viewType netlist)
(interface
(port (rename OEN “OEN”) (direction input))
(port (rename 0 “0”) (direction output))
(port (rename D “D”) (direction input))
(port (rename CP “CP”) (direction input)))
(contents
(instance (rename 144 “/1$44”) (viewRef v (cellRef buf)))
(instance (rename 1121 “1$121") (viewRef v (cellRef inv)))
(instance (rename 123184 “/1$23/1$84") (viewRef v (cellRef buf)))

(net (rename CP “CP”)


(joined (portRef CP) (portRef I0 (instanceRef 144))))
(net (rename N103 “N$103”)
(joined (portRef CLK (instanceRef 1289)) (portRef CLK ...))

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

FIG. 1. Elements of a hardware monitor.

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

Early failure Constant failure Wear-out failure


period rate period rate period

aA
rate

eee SOT UT ||| Cera ee aoe


FIG. 1. Bathtub curve of failure 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

100 Commercial avionics

Commercial avionics Military Missile

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

failure rate begins to increase rapidly as a result of deteri-


oration and wear. A
Exponential Failure Law In general, the failure
law of a component is the probability distribution effec-
tive from the moment at which a component enters ser-
vice up to the moment of its failure. In practice the most
commonly used failure law is the exponential law, which
applies when a component is subject only to failures that
occur at random intervals and the average number of
failures is the same for equal time periods. These con-
straints are valid for a component that is no longer sub-
ject to early mortality failure and whose failure rate is a FIG. 4. System composed of elements in parallel.
constant within the “useful life” span. Thus, for operating
periods within the useful life, the component reliability the elements fails the parallel unit will continue to do the
over a period of time ¢ can be expressed as R(f) = en, system function. See Fig. 4. The system reliability, under
where A (usually expressed in failures per hour or per the assumption of independence of failure of the ele-
million hours) is the constant failure rate of the device. A ments, is expressed by
characteristic of the exponential failure law is that the
reliability of the device within the useful life period is the Bysp = his (1 _ R)’,
same for operating times of equal duration.
From the definition of R(O it follows that the mean which is the probability that not all n elements have
time between failures (MTBF) or the mean time to first failed. The term (1 — R), known as the unreliability of a
failure (MTTF), usually expressed in hours (Fig. 2), are unit, is the probability that a unit will fail. The term (1 -
given by ie R() dt, i.e. it is the area underneath the R)" by the product rule is the probability that all n units
reliability curve R(#) plotted versus f. This is true for any will fail and one minus that is the probability that not all
failure distribution. For the specific case of the exponen- units will have failed. An example of parallel reliability is
tial failure law, the MTBF, m, is equal to 1/ 4. Further, when given by electronic diodes in parallel; if one diode open-
the product At is small, the equation for R(f) may be circuits, the other will still provide the function.
approximated by R(A ~ 1 — At. Thus, if At = 0.01, R() = &
001 — 0.99., or 99.0%. The product A tis often referred to as
the “normalized” time, since At = t/m; i.e. the mission time
Triple Modular Redundancy (TMR) TMRis also
known as the multiple-line voting system. One of the earli-
tis normalized with respect to the MTBF.
est and most influential schemes was developed by John
von Neumann (g.v.). The simplex unit is triplicated and
Series Reliability If a system is composed of ele-
each of the three independent units feeds into a majority
ments in such a way that the failure of any one element
voter, which outputs the majority signal (see Fig. 5). The
causes a failure of the system, then these elements are
system fails if more than one unit fails, in which case the
considered to be functionally in series. For the system to
failed units outvote the good one. This scheme is general-
survive, each element must survive. The probability of
ized to N-modular redundancy (NMR), where Nis any odd
survival for the system cannot be better than the element
number of units. Various schemes of protecting the voter
with the lowest probability of survival; i.e. a chain is no
are available, and also various other variants of the basic
stronger than its weakest link. When these series ele-
ments are independent of each other, then, by the proba- TMR strategy have been developed. The TMR system
reliability is expressed as
bility multiplication law, the system survival probability
is the product of the individual survival probabilities of
the elements. This is known as the product rule: Reystem = [R* + 3R7(1—R)IR,,
n
which is the product of the reliability R,, (the voter reliabil-
Reston % I R; if ity) and the reliability of the idealized TMR system. The
i=l
where R, is the reliability of the ith element of an n-element
system (Fig. 3).

Parallel Reliability Parallel reliability is an illustra-


tion of protective redundancy. The system is composed of
functionally parallel elements in such a way that if one of

FIG. 3. System composed of a series of elements. FIG. 5. Triple modular redundancy.


HARDWARE RELIABILITY 607

Standby Replacement Redundancy Instandby


replacement redundancy (Fig. 6), only one unit is opera-
tional at a time, unlike TMR. When the active unit fails,
this event is detected by additional circuitry, and a spare

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.

idealized TMR system reliability is the sum of the proba-


Hybrid Redundancy Hybrid redundancy is a syn-
thesis of TMR and standby replacement redundancy (see
bilities of two events: (1) that all three units survive, R°:
Fig. 7). It consists of a TMR system (or, in general, an NMR
and (2) that any two units survive so that only one unit
fails, 3R? (1 -R). —for N-Modular Redundancy—system), with a bank of
spares so that when one of the TMR units fails, it is
replaced by a spare unit. Failure detection is achieved by
Quadded Redundancy Quadding isa method of means of disagreement detectors which compare the in-
component redundancy applicable to circuits with alter- dividual outputs of each of the triple modular redundancy
nating AND and OR gates. It is similar in concept to TMR, units with the system output. If there is a difference, the
with the major difference being that the voting or restora- disagreement detector signals the switching network to
tion of fault-masking functions are distributed into the replace the failed unit by a spare unit. When all spares are
network and are not separable, as in TMR. In general, the utilized, the hybrid redundancy system reduces to a TMR
quadding procedure requires that each logic gate be system. Variations of hybrid or adaptive redundancy
quadruplicated and that each of the gates in a quad stage schemes are possible. The system reliability in its sim-
will have twice as many inputs as the nonredundant gate plest terms may be expressed as
replaced. The outputs of a stage are interconnected to the
inputs of the succeeding stage by a connection pattern in RYE Sak TOE RS SiR e ena,
such a way that the effects of errors in earlier stages get
subsequently “restored” in the latter stages; i.e. the origi- which is the probability that not all S + 3 units fail and
nally intended “good” signal is restored. that not any S + 2 units fail with one not failing.

Reconfiguration Logic,

Disagreement
detector

N-basic Switching
NMR units unit

S spares

FIG. 7. Hybrid redundancy.


608 HARDWARE VERIFICATION

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

1950. Hartree, D. R. Calculating Instruments and Machines. Mlinois


University Press; Charles Babbage reprint series 6. Tomash-
M.1.T. Press (1984).
1958. Darwin, C. G. “D. R. Hartree,” Biographical Memoirs of the
Royal Society 4: 103.

Maurice V. WILKES

HASHING. See Searcnine.

HEURISTIC
For articles on related subjects see ALGORITHM; ARTIFICIAL
INTELLIGENCE; EXPERT SYSTEM; and KNOWLEDGE REPRESENTA-
TION.

The ancient Greek word heuriskein means “to find


out, to discover.” The English adjective “heuristic” and
the more recently coined noun came into being via the
Latin adjective heuristicus. According to the Random
House Dictionary:

heuristic adj. 1. serving to indicate or point out, stimu-


lating interest as a means of furthering investiga-
tion. 2. (of a teaching method) encouraging the
rience of the use of the machine by running on it a student to discover for himself.—n. 3. a heuristic
problem in compressible fluid flow. In 1948, Hartree method or argument.
again visited the U.S. and spent three months as acting
chief of the newly founded Institute for Numerical Anal- In the general sense, we talk of the “heuristic power”
ysis of the National Bureau of Standards on the UCLA of a technique, the “heuristics in somebody’s reasoning,”
campus. On his way back to the East Coast, he delivered and so on. Pélya (1954) has written several entertaining
a series of lectures at the University of Illinois. These books that show how to approach problems in mathemat-
were published under the title “Calculating Instruments ics and geometry via heuristic ideas. Also, Hadamard’s
and Machines.” At the time, a number of the new essay (The Psychology of Invention in the Mathematical
stored-program computers were under construction, but Field, Dover, 1974) on discovery in mathematics yields an
none was actually operating. The lectures give a most interesting insight—a much too rare phenomenon—into
interesting picture of the world of scientific computation how one of the great mathematicians tackles problems.
on the very eve of the computer revolution. How does all this concern us in computing? The
In October 1946, Hartree had moved from Manchester reason is simple, but its application leads to an area that
to the Cavendish Laboratory in Cambridge. The Mathe- is completely open-ended. Let us consider, for example, a
matical Laboratory (later called the Computer Labora- standard task in programming. We wish to find the roots
tory) was then beginning to get into its postwar stride. of a higher-order algebraic equation. There are several
From the beginning, Hartree gave it his whole-hearted methods of approximation that yield the solution with
support. He volunteered to give a course of lectures in estimatable error bounds. We have the formulas to follow,
numerical analysis, which he later published as a book. step by step, and eventually we obtain the results. This is
When the EDSAC (g.v.) began to be used on scientific the algorithmic approach.
problems, his experience with numerical computation Let us now consider a so-called ill-defined problem,
was of the greatest value. He became a key member of the and we have many of them in everyday life. For example,
committee that interviewed applicants who wished to use say we want to balance our household budget by following
the machine and, if their projects were approved, gave a program. Although our basic needs are reasonably well
them advice on how to proceed. known (food, shelter, clothing, medical items, transporta-
By 1958 the credibility of digital computers had been tion, entertainment, etc.), neither the relative weight of
established and the foundations of the computer field as the components nor their unit prices are determinable
we now know it were being established. Hartree was completely. Also, our needs, desires, and tastes change
making many contributions and it was a serious loss to continually. Our interaction with the environment repre-
the field when, on 12 February 1958, he collapsed in the sents a significant modifying factor. Because this problem
street from heart failure and died almost immediately. is terribly ill-defined, no mathematical technique by itself
612 HOLLERITH, HERMAN

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

nected through relays, to deal with combinations of char-


acteristics such as “foreign-born white males.”
Since clerks in the 1890 census were now able to
punch an average of 700 cards each in an 8-hour day and
a tabulating-machine operator could handle 7,000 cards
in the same period, the Hollerith system represented a
considerable advance in speed over the past. One ma-
chine now could process 250 items (characteristics) per
minute once the cards had been punched. A clerk in the
1880 census (when there were just 50 million people in the
United States), with the help of a fairly crude mechanical
device, could tally (but not cross-tabulate) 20 character-
istics per minute, but even that was about four times
faster than was possible with the big census schedules
and tally sheets used in earlier years. Even so, census data
processing was labor intensive and time consuming—so
much so that, allowing for budget constraints, some tab-
ulations could not be published until 1889—a year before
the next census began.
For vital statistics agencies, insurance companies,
railroads, and other organizations—but especially the
Census Bureau—that needed to process quantities of
data and produce timely results, the Hollerith machine
and the punched cards it required broke most of the
nineteenth century labor and time barriers they faced. In
computer history, the Hollerith system was the techno-
logical advance that for 60 years bridged the gap between
marks on paper and the electronic age.
FIG. 1.

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

This meeting triggered a sequence of events that resulted


in “Initial Specifications for a Common Business Lan-
guage” (DoD, April 1960). Flow-Matic, along with AAIMACO
and Commercial Translator, provided the main inputs in
influencing the early development of Cobol (Sammet,
1981, p. 217).
Dr. Hopper’s awards, honors, and professional pub-
lications are much too numerous to detail here. Most
notably, she received honorary degrees from the Newark
College of Engineering (D. Engr., 1972); C. W. Post College,
L.LU. (D. Sci., 1973); The University of Pennsylvania
(LL.D., 1974); and the Pratt Institute (D. Sci., 1976). She
has also received almost every major award in her
profession. These include DPMA’s “Man-of-the-Year”
(1969); AFIPS’ Harry Goode Memorial Award (1970); and
Yale University’s Wilbur Lucius Cross Medal (1972). In
1971, the Univac Division of Sperry Rand Corporation
created the Grace Murray Hopper Award, which is
awarded annually by ACM to a distinguished young
computer professional. In 1991 she was awarded the
National Medal of Technology.
Clearly, Grace Hopper belongs to that select group of
computer professionals whose talent, vision, dedication,
and constant persistence has laid the foundation for the
continuing information processing explosion. Through-
out her career, she saw herself as a teacher and as one
FIG. 1. Grace Murray Hopper. who always battled entrenched attitudes of those she
referred to as the “establishment.” The phrase “but it’s
resigned from Vassar and was appointed to the Harvard never been done that way” was anathema to her. As a
faculty as a Research Fellow in the newly founded Compu- visual reminder of her personal creed, she kept a ship’s
tation Laboratory. clock in her office. It appeared to be a typical ship’s clock
In 1949, she joined, as senior mathematician, the until you looked carefully: It ran backward.
fledgling Eckert-Mauchly Corporation, where BINAC and Grace Hopper died on 1 January 1992.
UNIVAC were under construction. She remained with the
organization after its acquisition by Remington Rand, References
through the merger with Sperry Rand, and until her retire- 1971. “Grace Murray Hopper,” ACM ’71: A Quarter Century View,
ment from the Univac division in 1971. Throughout this pp. iii-iv.
period, she maintained her activity in the U.S. Naval Re- 1981. Wexelblat, Richard (Ed.). Proceedings, History of Program-
serve and was promoted successively through the ranks ming Languages Conference. New York: Academic Press. (See
until her retirement as a Commander in 1966. In 1967, she Sammet, J. “Introduction of Captain Grace Murray Hopper,”
was recalled to active duty and, in 1973, promoted to the 5-7; Hopper, G. “Keynote Address,” 7-24; and Sammet, J.
rank of Captain. In 1985, she was advanced in rank to “COBOL,” 199-278.)
1984. Tropp, H. “Grace Hopper: The Youthful Teacher of us All.”
Commodore. The title of that grade was changed to Rear
Abacus 2, 6-18.
Admiral in 1985. She continued on active duty until her
1988. Hopper, Grace Murray. “The Education of a Computer,”
forced retirement in 1987. Annals of the History of Computing 9 (3/4), 271-281. Reprint of
For more than three decades, Captain Hopper was an a 1952 ACM Publication. Introduction by David Gries.
innovator and major contributor to the development of
programming languages. Inspired by John Mauchly’s HENRY S. TROPP
“Short Order Code” (BINAC, 1949) and Betty Holberton’s
first Sort-Merge Generator (UNIVAC I, 1951), she devel-
oped the first compiler, A-0 (1952), and the first compiler
to handle mathematical computations, A-2 (1953). This HOSPITAL INFORMATION
work, coupled with her view of what the world of pro-
gramming languages ought to be like, led her to the devel-
SYSTEM (HIS)
opment of the first English language data processing com- For articles on related subjects see BIOCOMPUTING; COMPU-
piler, B-O (Flow-Matic), which was in use as early as 1957. TERIZED TOMOGRAPHY; INFORMATION SYSTEMS; INTENSIVE CARE,
In April 1959, Dr. Hopper and five others (1.E. Block, B. COMPUTERS IN; MANAGEMENT INFORMATION SYSTEMS; MEDICAL
Cheydleur, S. Gorn, R. Rossheim, and A. E. Smith) met to APPLICATIONS; MEDICAL IMAGING; and MEDLARS/MEDLINE.
plan a formal meeting whose object would be “to develop
the specifications for a common business language Computers in hospitals perform a wide range of activ-
for...automatic digital computers” (Sammet, 1981, p. 200). ities, such as processing and storing the data necessary
616 HOSPITAL INFORMATION SYSTEM (HIS)

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:

e Pharmacy systems typically prepare work lists for


drug preparation and distribution, generate pre-
scription labels, and monitor drug inventories.
They may also keep an on-line record of patients’
medication orders and perform drug interaction
checking.
Laboratory systems create specimen collection
schedules, store results generated by automated
instruments or via manual testing procedures, and
print patient-specific laboratory reports, with flags
to indicate abnormal results. In addition, they
often provide tools to measure the productivity of
laboratory personnel and may promote quality
control by monitoring the accuracy of the instru-
ments used.
e Radiology information systems facilitate examina-
tion scheduling, film library management, and tran-
scription of examination interpretations. Many of
the newest imaging techniques, such as computer-
ized tomography (CT) and magnetic resonance im-
aging (MRI), are inherently digital; thus, the
radiology department has become a growing area
for computer-based medical applications. Al- FIG. 1. A bedside data management system. Using such a sys-
though currently too costly for widespread use, so- tem, physicians and nurses in an intensive care unit can enter
physicians’ orders and clinical observations, and gain assis-
phisticated picture archiving and communication
tance in developing care plans, progress notes, and nursing
systems (PACS) have been developed to store, com-
assessments. Interfaces to patient monitoring instruments and
municate, and display digitized medical images. laboratory information systems eliminate much of the need for
e A variety of additional systems are available to redundant data entry. (Courtesy of EMTEK Health Care Sys-
support other departments in the hospital. Typical tems, Tempe, AZ.)
HOSPITAL INFORMATION SYSTEM (HIS) 617

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

Headquarters Location Greenbrae, CA Malvern, PA Atlanta, GA

System Name StatLAN The Precision Alternative TDS 7000 Series


System Type Applications Integration Integrated HIS . Integrated HIS Integrated HIS
and Networking

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

Bien fee a 2] ees onctind vo«Hen foci eABBioni |


Major Applications Network Gateway; General Accounting; General Accounting; Patient Accounting;
Order/Results Patient Accounting; Patient Accounting; ADT; ADT; Registration;
Communication; ADT; Registration; Registration; Scheduling; Scheduling; Medical
Clinician Workstation Medical Records; Medical Records; Records; Order/Results
Order/Resulkts Order/Results Communication;
Communication; Nursing Communication; Nursing Treatment Notes; Nursing
Notes; Laboratory; Notes; Laboratory; Care Plans; Pharmacy;
Pharmacy; Radiology Pharmacy; Radiology Radiology;
Point of Care Terminals

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-

INTERACTION STYLE ADVANTAGES DISADVANTAGES

Menu selection shortens learning danger of many menus


reduces keystrokes may slow frequent users
structures decision-making consumes screen space
permits use of dialogue requires rapid display rate
management tools
easy to support error
handling

Form fill-in simplifies data entry consumes screen space


requires modest training
assistance is convenient
shows context for activity
permits use of form man-
agement software tools

Command language flexibility poor error handling


appeals to “power” users requires substantial training
supports user initiative difficult to retain
potentially rapid for
complex tasks

Direct manipulation visually presents task may be hard to program


concepts may require graphics display
easy to learn
easy to retain
errors can be avoided
encourages exploration
FIG. 1. Advantages and disadvantages of interaction styles.
HUMAN FACTORS INCOMPUTING 621

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

At Brown University, for example, English literature is References


being presented to students in a hypertext environment 1980. Hockey, Susan. A Guide to Computer Applications in the
that encourages exploring the lives of poets and writers, Humanities. Baltimore: Johns Hopkins University Press.
their social milieu, their literary affiliations, and similar 1982. Campbell, Jeremy. Grammatical Man: Information, Entropy,
intersecting lines of inquiry. In hypermedia mode, the Language, and Life. New York: Simon & Schuster.
boundaries between scholarship and instruction begin to 1984. Bolter, J. David. Turing’s Man. Raleigh, NC: University of
erode. The Perseus Project at Harvard is creating a similar North Carolina Press.
database for Classical Greek culture. 1984. Oakman, Robert. Computer Methods for Literary Research.
Athens, GA: University of Georgia Press.
1985. Olsen, Solveig (Ed.). Computer-Aided Instruction in the Hu-
Communication Among Humanists A growing
manities, MLA.
link among computer-using humanists, even more import- 1985. Hockey, Susan. Snobol Programming for the Humanities.
ant as newly accessible colleagues in Eastern Europe gain Oxford: Oxford University Press.
capacity for Internet communication, is the growing vari- 1985. Porush, David. The Soft Machine: Cybernetic Fiction. New
ety of listservs and newsgroups. The largest of these in York: Methuen.
the field, a conference on Bitnet called HUMANIST, origi- 1987. Feldman, Paula R. and Buford, Norman. The Wordworthy
nally established at the University of Toronto, now oper- Computer: Classroom and Research Applications in Language
ates from Brown University. Although some of its and Literature. New York: Random House.
conversation deals with computer applications, this con- 1987. Heim, Michael. Electric Language: A Philosophical Study of
Word Processing. New Haven, CT: Yale University Press.
ference accepts exchanges on almost any humanistic
1987. Ide, Nancy. Pascal for the Humanities. Philadelphia: Univer-
topic. Many others are much more constricted in their
sity of Pennsylvania Press.
range, concentrating, for example, on the problems of 1987. Rahtz, Sebastian (Ed.). Information Technology in the Hu-
computational linguistics or those involved in dealing manities. New York: Halstead (John Wiley):
with text in a single language. 1987. Rudall, B. H. and Corns, T. N. Computers and Literature: A
For more traditional communication, computer-using Practical Guide. Kent: Tunbridge Wells, and Boston: Abacus.
humanists rely on several conventional media. They can 1990. —, “Computer Applications in the Humanities: A Reading
utilize several print journals, like Computers and the Hu- List,” Canadian Humanites Computing Quarterly (May).
manities and Literary and Linguistic Computing. Various
JOSEPH RABEN AND HEYWARD EHRLICH
newsletters emanate from such sources as the Association
for Computers and the Humanities (ACH) and several cen-
ters for computer-aided humanistic research. Biennial
meetings of the ACH alternate with those of the Associa- HYBRID COMPUTERS
tion for Literary and Linguistic Computing (ALLC). Associ-
ations in classical and modern languages allocate time on For articles on related subjects see ANALOG COMPUTER;
their programs for special interest groups in this area. The ANALOG-TO-DIGITAL AND DIGITAL-TO-ANALOG CONVERTERS; and
Modern Language Association (MLA) supports computing SIMULATION.
by endorsing and distributing software, providing spacein
its newsletter, publishing books on humanities computing Overview Hybrid computers, incorporating at least
applications and computers in composition, and support- one stored-program digital processor linked with a multi-
ing programs on current computer use at its annual con- plicity of analog computing units, have been successfully
ferences. used since the late 1950s for the solution of a wide range
In Europe, many countries have established national of engineering simulation studies. In addition, the contin-
centers to develop new applications, to study the national uous parallel computing capability of analog devices in
culture, and to train students and faculty in the new tech- combination with the sampling and storage facilities of
nology. In France, Norway, Belgium, Italy, Germany, and the digital computer has proven to be very efficient for
elsewhere, full-time staff are compiling national dictionar- complex signal processing. Many large industrial and gov-
ies, concording the works of major writers, analyzing ernment organizations with major research and develop-
texts, tagging lexical corpora, and holding conferences ment programs have at least one active hybrid computing
(both national and international) to learn what is happen- center. In some fields, such as guided missiles and space
ing elsewhere and to publicize their own progress. vehicles where real-time, high fidelity simulation is essen-
Progress in theoretical areas such as artificial intelli- tial, hybrid computers have been necessary for success-
gence (q.uv.), natural language processing, text scanning, ful system development.
machine translation, the paperless office, the electronic The relative usefulness of continuous analog simula-
classroom, videotex (qg.v.), the computer-human inter- tion versus numerical digital techniques has been subject
face, voice-operated computers, and universal access to to continuous review over the last 30 years. The propo-
information seems to more gradual, more local, and more nents of analog techniques have often been successful in
personal than was expected in the sweeping projections demonstrating the desirability of these methods. The
and predictions of the 1960s and 1970s. Some of this main rationale is that digital computers capable of real-
change is mirrored in the image of the computer in fiction, time engineering simulation of very complex systems cost
which has gone from HAL in Arthur C. Clarke’s 2001: A many millions of dollars and cannot be realistically dedi-
Space Odyssey (1968) to the cyberpunk biotechnology of cated in real time. In most applications, a hybrid com-
William Gibson’s Neuromancer (1984). puter capable of real-time solution has been much less
HYBRID COMPUTERS 627

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. 1. Hybrid simulation laboratory structure.


628 HYBRID COMPUTERS

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

DUAL 16 BIT DATA/CONTROL BUS

J} ~=—sREGISTERS

PROGRAMMABLE ANALOG
LOGIC ANALOG
COMPARATORS SIGNAL LOGIC COMPUTING => BLOCK
CONNECTION
MATRIX ARRAYS BLOCKS
MATRIX

FIG. 3. Architecture of SIMSTAR parallel analog/logic processor.

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

FIG. 5. Classes of hybrid computer applications.


632 HYPERTEXT

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

Software documentation and code.


Encyclopedias, glossaries, and dictionaries.
Medical and legal reference books.
Religious and literary annotations.
College catalogs and departmental guides.
Travel and restaurant guides.
Scientific journals, abstracts, and indexes.
Instruction and exploration.
Repair and maintenance manuals.
Time-lines and geographical maps.
On-line help and technical documentation.
Cookbooks and home repair manuals.
Mysteries, fantasies, and jokebooks.

There are a multiplicity of commercial hypertext systems


on personal computers, mainframes, and networks of dis-
tributed systems, a profusion of research systems, and a FIG. 2. Customizable “buttons” provide automatic return-path
still wider set of variant forms of hypertext features that navigation (“Return to INTRODUCTION”) and special func-
have been added to word processors or desktop publish- tions “INDEX” “QUIT”).
ing systems, database management or information re
trieval systems, expert system shells, computer-based
training tools, or on-line assistance facilities (Conklin, rectangular boxes, standard icons, or user-defined
1987; Shneiderman and Kearsley, 1989). A list of im- shapes. Selecting a button by a mouse click can produce
plementations known to this author as of 1991 is given in another card with text and graphics or a videodisc
Table 1. Hyperties (Fig. 1) on the IBM PC and compatible segment. The programming language HyperTalk enables
computers and HyperCard (Fig. 2) on the Apple Macin- construction of a wide variety of facilities limited only
tosh offer interesting contrasts in commercial hypertext by the programmer’s imagination. HyperCard collects
systems. Hyperties was developed for museum viewers cards into stacks and provides a HomeCard, which acts
and encyclopedia construction, thereby leading to a as a table of contents for the stacks. Path history is
strong separation in the author and browser components, shown through miniaturized versions of the most recent
powerful article management features for authors, ease of 42 cards. A limited string search facility enables users
use for the browser, and a stronger dependence on text. to move to the next card containing a specified string
Nodes are called articles (containing text, color graphics, of text.
or videodisc segments), and links are shown by high- Other important systems include NoteCards (Fig. 3),
lighted phrases embedded in the text. Alphabetical lists KMS, Intermedia, Guide, and Document Examiner/Con-
of article titles, tables of contents, path histories showing cordia. New systems and hypertext additions to other
article titles, and lists of article titles generated by string packages appear regularly. In assessing these different
searches complement the link following strategy. systems we consider three domains: user interface (q.v.)
In HyperCard, nodes are called cards and links are
shown by a variety of graphical buttons that can be

eee

FIG. 3. Links in Hyperties can reveal summary information or


definitions, without leaving the current document. This brief
FIG. 1. A typical Hyperties application. Text flows around im- description can also serve as an introduction to in-depth
bedded graphics in multipage documents called “articles.” information available through a “SEE MORE” link on the pop-
Links are indicated by a specified highlight color. up.
634 HYPERTEXT

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

data transfer to enable use of color graphics, animation, References


and video images. At the same time, data compression
1987. Conklin, Jeff. “Hypertext: A survey and introduction”, JEEE
(g.v.) is necessary if distribution on portable media
Computer 20, 9, (September), 465-472.
(floppy disks, compact disks, etc.) is anticipated. Security 1989. Shneiderman, Ben. “Reflections on authoring, editing, and
control and encryption are sometimes additional require- managing hypertext,” in Barrett, Edward, The Society of Text.
ments. Cambridge, MA: M.LT. Press, 115-131.
Other system design concerns include integration 1989. Shneiderman, Ben and Kearsley, Greg. Hypertext Hands-On!
with other software/hardware systems, distribution li- Reading, MA: Addison-Wesley.
censes for the browsing software, standard data inter- 1992. Landow, G. P. Hypertext. Baltimore, MD: Johns Hopkins
change formats, and portability (g.v.). Press.

BEN SHNEIDERMAN
i.
st te
PTT 5

7 “ho, tire t. > orwr 4 inate f ihe Letina aa),


o) = sSiaiie
mannases bt vues
Ley alte prey Nps Chapesetiy ges rea GE HEN
Wed: v4 , a) ue whitnts irs: at Ke kgs
: a ihn $d eptsth:;er Le aE
URL :
rat pec Pestnire
ie ean: DAO Bae FH tein ulbelt CBF oa
Stesti-nosinke Mé yates it nes & Present
: re oe. av hate wie soies a pfobrat Awel - “stra Sa a ‘Liha , eo
oA
2,
' aoe" : at G
0 nf
ase peti
= » = hid ' -. Sree ~ val in ~ =a? Na seis Troms mart “fp"tone
4 sei ni tee wipes &, ¥ Cy) eed ee
7 " E he ia ~ 5 pene oe we oeGl ae.Patsraid
_ ™ a oe ney iy ey raed he OS
wen in) + OTR ear hy panne
i
_ b
vi ©
i.
s
{
>
> =
‘a !
. _ +,
whe yile aoe ari ney, eet:
7 hy! Le y Me . 2 7 withtoy)
—Te) rong Capeve mintsbi “
a

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

FIG. 1. The IBM 1401 System.

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

TABLE 1. Relative Throughput* of IBM System/390 Series Computers Manufactured in 1990-1991

ES/9000-9021 ES/9000-9121 ES/9000-9221


Water-Cooled Frame Air-Cooled Frame Air-Cooled Rack-Mounted
Model No. Relative Model No. Relative Model No. Relative
No. CPUs Performance No. CPUs Performance No. CPUs Performance

330 1 20 190 1 8 120 1 2.0


340 1 23 210 1 12 130 1 3.5
500 2 45 260 1 16 150 1 5.0
520 1 45 320 1 21 170 1 6.5
580 3 66 440 2 31
620 4 85 480 2 40
640 a 85 490 2 39
660 2 86 570 3 60
720 6 124 610 4 78
740 3 121
820 4 160
860 5 194
900 6 225
*Relative performance Is taken from tables published by Computer Price Watch, October 1991.
642 IBM PC AND PC-COMPATIBLES

ing alphanumeric data was a first for IBM because they


IBM CARD. See PUNCHED CARD.
had used EBCDIC (q.v.) on their mainframes for years.
System software also came from outside. IBM turned to
Microsoft for consultation on the system architecture and
a Basic interpreter, as well as to three vendors for operat-
IBM PC AND PC-COMPATIBLES ing systems.
For articles on related subjects see APPLE COMPUTER; DIGI IBM chose an Intel CPU because its architecture was
TAL COMPUTERS: HISTORY: PERSONAL COMPUTERS; and PERSONAL close to that of the Intel 8080 used in CP/M-based ma-
COMPUTING. chines, making it easy to upgrade application software.
(IBM later bought a share of Intel.) Intel had two CPUs, the
The conceptual and practical foundation for the per- 8086 and 8088. They were software compatible and had
sonal computer was developed at M.I.T., the Stanford 16-bit registers and instructions; however, the 8088 was
Research Institute, and the Xerox Palo Alto Research Cen- somewhat slower because of its multiplexed 8-bit data
ter, beginning in the 1940s; however, the personal com- path. To lower system cost, the 8088 was used.
puter industry did not begin until 8-bit microprocessors The minimum configuration had only 16K memory.
that had the ability to address at least 32K bytes of mem- Memory could be expanded to 64K by plugging 16K-bit
ory became available. In 1975, the Intel 8080, MOS Tech- memory chips into sockets on the system board. Further
nology 6502, and Motorola 6800 microprocessors were expansion entailed plugging add-in boards into the five
incorporated into dozens of commercial personal com- bus expansion slots on the system board. This PC bus
puters beginning with the Altair from Micro Instrumenta- soon became the industry standard.
tion and Telemetry Systems (MITS). Disk drives were optional on the first PCs, which
The first of these 8-bit machines were targeted at the came standard with an audio cassette interface. The orig-
hobby market and were generally sold in kit form. Soon, inal floppy disk drives used only one side of 5 1/4-inch
companies such as Processor Technology, Compal, Com- media and had a capacity of 160K. IBM did not offer a hard
modore, Radio Shack, and Apple recognized the demand disk at first.
for pre-assembled computers. These systems broadened There were two display adapters, the monochrome
the market from electronic hobbyists to some schools, display adapter, (MDA) and a color graphics adapter
homes, and small businesses. (CGA). The MDA was a character display with a mono-
In 1977, Digital Microsystems introduced a computer chrome monitor. Resolution and character quality were
designed for the business and professional market. It was excellent by the standards of the time, and the MDA was
pre-assembled with an Intel 8080 CPU, 64K memory, two targeted to character-oriented applications like word pro-
floppy disk drives (most early systems used paper or cessing (q.v.), spreadsheets (q.v.), and software develop-
audio cassette tape for storage), and built-in I/O ports. ment. The CGA delivered color and graphics on a more
Most important, it used a disk operating system called expensive RGB monitor. Character resolution was signifi-
CP/M (control program for microprocessors), which had cantly lower than with the MDA, so it was targeted at
been developed by Gary Kildall, a consultant to Intel. applications like education, games, and business graph-
While Digital Microsystems did not survive, CP/M and ics.
Kildall’s company, Digital Research, did. The operating system was more problematic than the
The CP/M operating system and the bus structure of hardware. CP/M could not be used directly because the
the MITS Altair, later called the S-100 Bus, became de facto 8088 architecture was not identical to that of the 8080.
standards for high-end business and professional per- Furthermore, the 8088 could address 1MB of memory, as
sonal computers during the late 1970s. The CP/M platform opposed to the 64K limit of the 8080, and IBM chose to
encouraged application software developers, and thou- allow up to 640K of contiguous memory for programs.
sands of programs, including Microsoft’s language pro- (The rest of the address space was reserved for I/O adapt-
cessors, dBase, and WordStar, were developed. While ers, ROM, and future use.)
some major manufacturers (e.g. Xerox, Wang, and DEC) Digital Research was working on an operating system
entered the CP/M market, IBM did not. for the new Intel CPUs (CP/M-86), but so were other
companies. One was Softech Microsystems, which had
The PC-1 IBM waited for the next generation machine, acquired the P-System, an operating system and software
made possible by 16-bit microprocessors. In order to development environment developed by Ken Bowles at
move quickly, they formed an “intrapreneurial” special the University of California at San Diego. Another was
business unit called the Entry Systems Division (ESD) to Seattle Computer Products, headed by Tim Patterson,
design the PC. A group of about a dozen people, headed who wrote DOS, a CP/M-like operating system, for use on
by Phillip “Don” Estridge, was chartered to develop a their early 8086-based system. Microsoft acquired the
personal computer and bring it to market within a year. rights to market and further develop Patterson’s DOS,
The short time limit meant that the PC would be IBM’s first although there was later litigation over the transaction.
product built from off-the-shelf components and third- IBM eventually decided to offer three operating systems:
party software. DOS, CP/M-86, and the P-System. However, DOS was
Nearly all of the hardware—the disk drives, monitors, priced much lower than the others, and eventually be-
memory, CPU, printer, etc.—were purchased from outside came the standard.
vendors. Adopting the standard ASCII code for represent- The IBM-PC was announced in April 1981, with fore-
IBM PC AND PC-COMPATIBLES 643

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

TABLE 1. Major Steps in the Evolution of the IBM-PC Family

PC PC-XT PC-AT PS/2

Year 1981 1982 1984 1987


introduced

CPU 8088 8088 80286 80386


chip! 80386-SX
80486

Bus” PC PC AT MCA

Bus data 8 8 16 16
bits 32

Memory on 64KB 256KB 512KB 1-2MB


system board

Typical 320KB 512KB 640KB 2-8MB


memory

Floppy 5 1/4”: 160KB 360KB 1.2MB 1.44MB


disk Size —_ — = 760KB

Typical n/a 10MB 20MB 40MB


hard disk

Display MDA MDA EGA MCGA


adapter CGA CGA VGA
8514
'The 8086 and 80286 CPU chips were used in some PS/2 models.
?Some PS/2 models used the AT bus.
‘Depends upon model.
644 IBM PC AND PC-COMPATIBLES

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

1991. Sheldon, K. M. “You've Come a Long Way, PC: the 10th


Anniversary of the IBM-PC,” Byte, 16, 8 (August) 336.

FIG. 1.
LAURENCE PRESS
IMAGE PROCESSING 645

ICC P See INSTITUTE FOR CERTIFICATION OF COMPUTER PRO- IMAGE PROCESSING


FESSIONALS.
For articles on related subjects see COMPUTER GRAPHICS;
COMPUTER VISION; MEDICAL IMAGING; PATTERN RECOGNITION;
and TOMOGRAPHY, COMPUTERIZED.

ICON. See STRING PROCESSING: LANGUAGES; and USER IN-


TERFACE.
Introduction Digital image processing deals with the
systematic manipulation of an input image to produce an
output image that is better suited for viewing or subse-
quent analysis. The processed images are either exam-
IDENTIFIER ined by a human observer, such as a radiologist viewing
an X-ray, or they form inputs to an automatic machine
For articles on related subjects see CONSTANT; EXPRESSION;
vision system. The machine vision system then analyzes
PROCEDURE-ORIENTED LANGUAGES; PROGRAMMING LANGUAGES;
the image to derive an interpretation of the scene. A
and STATEMENT.
digital image is represented as a discrete two-dimensional
array of numbers. Each element in the array is known as
In a programming language, an identifier is a string of
a pixel (for picture element). These pixels are assigned
characters used as a name for some element of the pro- . values that correspond to the relative brightness of the
gram. This element may be a statement label, a procedure tiny portions of the image that they depict. These values
or function, a data element (such as a scalar variable or
are known as gray levels. Digital image processing deals
an array), or the program itself.
with the systematic manipulation of the pixel gray levels
Most commonly, the word identifier is sed almost and their distribution.
synonymously with variable name. In a system where the Digital processing of images requires three basic ca-
location of a program’s data remains fixed throughout pabilities. First is the ability to form digital images, sec-
program execution, the identifier associated with a scalar ond is the ability to store and manipulate these images,
variable is related to a memory address, which in turn and third is the ability to display such images. Digital
references a physical location within the memory of the image processing technology traces its origin to the tech-
machine, which in turn contains a value representation. nologies associated with the above three capabilities.
The intermediate relationships between the identifier and Electronics and optics technologies provided the ability
a value are usually transparent to a programmer, and thus for image acquisition; digital computers and associated
some confusion arises in practice between the name of a technologies provided the abilities to store and manipu-
variable (i.e. its identifier) and its value, which is the late these images; and television and communication
current contents of the memory location assigned to that technologies effected the display and storage abilities.
identifier.
In the majority of programming languages, identifi- Growth and Applications of the Technology
ers may be formed from any alphanumeric string, often It was only about three decades ago that serious research
of some restricted length, provided the leftmost char- in digital image processing could begin. During this rela-
acter is alphabetic. Some languages also permit the use tively short span, digital image processing technology
of special characters, the dollar sign ($) and underscore has proved its importance and utility over a broad spec-
(_) being typical. In Pascal, letter-case does not matter, trum of applications. For example, modern medicine,
so TAXRATE, taxrate, and TaxRate are all the same weather forecasting, manufacturing, surveillance, and
identifier, but in certain other languages such as Mod- video entertainment have all greatly benefitted from
ula-2 (q.v.) these identifiers would be distinct. image processing technology.
Digital image processing has experienced a steady
J. A. N. LEE
and sustained growth ever since its inception in the early
1960s. By its very nature, the field is application-oriented.
The main objective is to develop tools and techniques for
analyzing pictorial data generated in a diverse range of
application domains. Initial research and development
IEEE—CS. See INSTITUTE OF ELECTRICAL AND ELEC-
revolved around the image processing needs of the space
TRONIC ENGINEERS—COMPUTER SOCIETY.
program. In the late 1960s and the early 1970s, image
processing was introduced to medical imaging. In the
early development stages, the hardware environment re-
quired for performing image processing was quite expen-
IFAC. See INTERNATIONAL FEDERATION OF AUTOMATIC CON- sive and specialized. With the introduction of high-quality
TROL. imaging cameras and computing workstations at rela-
tively low costs, image processing applications are
sprouting in a variety of domains, such as electronics
fabrication and testing, document processing and analy-
IF IP See INTERNATIONAL FEDERATION FOR INFORMATION PRO- sis, automotive and aerospace engineering, food process-
CESSING. ing, and pharmaceutical manufacturing. With the
646 IMAGE PROCESSING

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.

In Figs. 1 and 2, two examples of image enhancement are


presented. In Fig. 1, the objective is to reduce the additive
and multiplicative noise in an image. A nonlinear neigh-
borhood operator has been iteratively applied to reduce
the high contrast noise. This spatial domain enhance-
ment operation can be viewed as a low-pass adaptive
filtering operation. The example in Fig. 2 deals with the
enhancement of a neutron radiographic image of a nu-
clear fuel rod. The original image is corrupted by a non-
uniform intensity pattern imposed by the nonuniform flux
of neutrons from the cylindrical fuel rod. This nonunifor-
mity is independent of the vertical position, so that a
simple column-by-column gray-level averaging operation FIG. 2. Enhancement of a neutron radiograph of a nuclear fuel
allows us to isolate the intensity pattern, which is then rod. A two-step enhancement procedure was used to eliminate
the nonuniform illumination variations and to enhance the
subtracted from the original image. As the second step in
contrast highlighting fuel pellets and casing. (Courtesy of Dr.
enhancement, a nonlinear spatial domain filter for con-
G. Mastin, Sandia National Laboratory.)
trast stretching is applied to highlight the pellet inter-
faces and the casing structure. 7
volving the original (“ideal”) image convolved with the
point spread function (PSF) of the imaging system, a
Image Restoration The objective of image restora- model for the electro-optical sensor, and a random noise
tion is to undo the effects of any degradation that might term. The most straightforward image _ restoration
have affected an image. In a sense, image restoration can method is known as the “inverse filter” approach. It in-
be considered a special kind of image enhancement. In volves use of the noise model and the knowledge of the
image restoration, it is assumed that the mathematical PSF to estimate the original image from the recorded
model of the degradation process is available or can be image. For many practical problems, the PSF may not be
accurately derived by examining the input images. Image known. In such cases, it may be possible to analyze the
restoration offers many problems that can be examined power spectrum of the recorded image to deduce the
in a nice mathematical framework. However, applying parameters of the PSF. This can be explained with the help
these techniques to solve real-world problems is difficult. of the examples shown in Fig. 3. Parts (a) and (b) of this
In order to derive useful results in practical situations, figure show recorded images that are corrupted by defo-
one must consider approaches where the assumed math- cus and uniform motion blur, respectively. Part (c) shows
ematical models are satisfied. Image restoration tech- the Fourier domain signature of the image of Fig. 3(a). The
niques use an image formation model. In most cases, one diameter of the visible ring is equal to the circular aper-
assumes that the image formation is a spatially invariant ture PSF used to describe the lens defocus. Similarly, part
and linear process. With these assumptions, it is possible
to describe image formation by an integral equation in-

FIG. 3. Part (a) shows an image blurred due to defocus. Part


(b) shows an image with uniform motion blur. Parts (c) and (d)
FIG. 1. Reduction of additive and multiplicative noise by ap-
show their respective Fourier domain blur signatures. (Cour-
plying a nonlinear neighborhood operator in the spatial do-
tesy of Dr. G. Mastin, Sandia National Laboratory.)
main. (Courtesy of Dr. G. Mastin, Sandia National Laboratory.)
648 IMAGE PROCESSING

“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!

Index registers Machine instruction

Selection of index register

Effective address

FIG. 1. Example of the formation of an effective address.


INDIRECT ADDRESS 651

INDEX REGISTER (pre-indexing) or as an offset to the indirect address itself


(post-indexing). When more than one index register is
For articles on related subjects see ADDRESSING; BASE REGIS- involved in the formation of the effective address, both
TER; GENERAL REGISTER; INDIRECT ADDRESS; INSTRUCTION. SET; pre- and post-indexing may be present. Again, the avail-
and REGISTER. ability of either of the modes varies widely among differ-
ent machines.
An index register is a storage device most often used
in the determination of an operand address, but that may GIDEON FRIEDER
be used for other purposes, mainly as a counter.
In the process of the formation of the address of an
operand, one can distinguish three basic parts. Consider,
for example, the ADD instruction in a program loop com-
INDIRECT ADDRESS
puting the sum of the elements of a vector. The operand For articles on related subjects see ADDRESSING; INSTRUC-
address of the ADD instruction is formed from: TION SET; and MACHINE AND ASSEMBLY LANGUAGE PROGRAMMING.

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

What is of considerable importance in one situation is


very possibly totally useless in another. What may be of
considerable value to one decision maker at a particular
time may likely be useless to another decision maker or
even to the same decision maker at a different time or in
Information
a different situation. This differs from the physical world, Acquisition
Decision
Courses
where the quantities involved are generally absolute; i.e. of Action
one second is (almost) always one second.
Asecond implication is that information and decision
making are closely intertwined. Information is used only
for decision making, and decision makers have only the
resource of information available to them. Consequently,
Tronsformoation Observables
to understand these properties of information in this con- (T)
text, the process of decision making must also be studied.
The objective of information system design then be-
FIG. 1. The generalized information system model.
comes principally the design of a system that makes avail-
able the information needed for making a variety of
decisions obtained from among all the data the system
gard to the specific environmental conditions prevailing
has stored. Such a system must capture and store as
(state of nature uncertainty). The transformation module
much as possible of the information that may be needed,
converts or transforms the results of the decisions that
and only this information. An information system should
are physical and observable into feedback data for the
make available most readily the most valuable data. The
IAD. Note that the decision maker has transduced informa-
value of information in some sense is a major criterion.
tion into observable quantities. The observables are in
turn transformed into data.
Data: A Definition We have defined information in
The model makes explicit not only the relationship
terms of data. It is, accordingly, desirable to define data in
somewhat more fundamental terms. We first quote from between information and decision making but also the
Webster’s Unabridged Dictionary, which offers the follow- relationship between data and observable physical quan-
ing partial definition for datum. tities as well as the sometimes overlooked but necessary
feedback property found in useful information/decision-
Something that is given either from being experi- making systems.
mentally encountered or from being admitted or Although it is beyond the scope of this article, it is
assumed for specific purposes; a fact or principle possible using the framework established by the G.LS. to
granted or presented... establish precise and quantitative definitions of quantity
In other words: Data are facts or are believed to be or are of information in terms of binary choice units (which is a
said to be facts that result from the observation of physical deterministic choice from a pair of alternatives); decision-
phenomena. maker effectiveness in terms of expected values and prob-
abilities of choice; value or effectiveness of information in
The Generalized Information System Model terms of the change which will result in decision-maker
Yovits and Ernst (1969) have proposed a generalized effectiveness; as well as other important quantities. (see
model or a generalized information system (G.1.S.) that Yovits, et al. 1981).
explicitly indicates the interrelationship between data, More recently, a conceptual framework has been es-
information, decision making, and other important quan- tablished to determine the value of the information con-
tities. This is shown in Fig. 1. tained in a message or document used in a particular
This model can be used to describe and understand situation (see Yovits, et al. 1987).
any information-dependent activity of the level 3 type—
that is, information involved in the decision-making pro- References
cess. Information is presented to the decision maker (DM) 1949. Shannon, C. E. and Weaver, W. The Mathematical Theory of
by the information acquisition and dissemination (IAD) Communication. Urbana, IL: University of Illinois Press.
module. Information enters the IAD module either as ex- 1952. Carnap, R. and Bar-Hillel, Y. An Outline of a Theory of
ternal or feedback (internal) data. Feedback provides in- Semantic Information, Technical Report No. 247. Cambridge,
formation to the decision maker about prior decisions. It MA: Research Laboratory of Electronics, M.I.T.
is the mechanism available to the DM by which the DM’s 1964. Marschak, J. “Problems in Information Economics,” in
assessment of the decision-making situation can be up- Bonini, C. P., Jaedicke, R. K., and Wagner, H. M. Management
dated. Repetitive or similar types of decisions enable the Controls. New York: McGraw-Hill, 38-74.
1965. McDonough, A. M. and Garrett, L. J. Management Systems,
DM to benefit from prior decisions by updating and mod-
Working Concepts and Practices. Homewood, IL: Richard D.
ifying the DM’s current personal model of the situation.
Irwin.
The DM makes a decision (selects a course of action) 1969. MacKay, D. M. Information, Mechanism, and Meaning. Cam-
that the execution module carries out. The decision mak- bridge, MA: The M.L.T. Press.
ing will generally have uncertainty with regard to the 1969. Yovits, M. C. and Ernst, R. L. “Generalized Information
execution function (executional uncertainty) and with re- Systems: Consequences for Information Transfer,” in Pep-
INFORMATION-BASED COMPLEXITY 655

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 ).

e Decomposing the task of writing software into


A question that has been open for 20 years until settled work assignments for programmers.
by Wozniakowski in 1991 is the complexity of integration e Preparing for and accommodating change.
in the average case deterministic setting. Let the class of e Managing complexity.
inputs be continuous functions with a Wiener measure. (A
Wiener measure is a Gaussian measure, which is a Collections of programs whose implementations are work
generalization of a Gaussian distribution.) Let the domain assignments for individual programmers or teams of pro-
of integration be the unit cube in d dimensions. grammers are often called modules. Information hiding is
Wozniakowski showed that a principle used to divide software into such modules.
d-1 The objectives are to produce software that accommo-
comp*8“* (¢) = @(%) [log (%) ? }) dates change and to help manage complexity during both
development and maintenance. To achieve these objec-
Thus, the complexity depends only very weakly on di- tives, software designed using information hiding is struc-
mension. tured into modules that are intended to be independently
It is an open question to characterize the class of changeable and understandable.
problems for which intractability is broken by the aver- The information-hiding principle states that informa-
age case setting. tion that is likely to change should be hidden (or encap-
sulated) in a single module (see ENCAPSULATION). The
information to be hidden includes decisions such as data
Computational Complexity for Continuous structures (g.v.), hardware characteristics, and behav-
Problems with Complete Information We ioral requirements. Since modules are work assignments,
briefly discuss the complexity theory introduced by a decision has been hidden successfully if it can be re-
Blum, Shub, and Smale (1989). They also consider contin- vised without requiring a change to other work assign-
uous problems, but those whose inputs are characterized ments. Such a module is known as an information hiding
by a finite number of parameters. Thus, they can assume module; the hidden information is often known as the
that information is complete and exact. They adopt the secret of the module.
real number model. One of their results is that the prob- An example often used to illustrate the principle is a
lem of determining whether a system of n real number stack (q.v.). When designed as an information-hiding mod-
polynomials of degree at most four has a real zero is NP- ule, the stack’s secret is the data structure used to repre-
complete. sent its state. Two possibilities are (1) as an array and (2)
Fig. 2 schematizes the relation between IBC and other as a linked list. If properly designed, the module that im-
branches of computational complexity. plements the stack conceals the decision, and changing
the implementation from array to linked list should re-
References quire no changes in any of the programs that use the stack.
A primary goal of the designer of an information
1988. Traub, J. F., Wasilkowski, G. W., and Wozniakowski, H. /nfor-
hiding module is to provide services to the module’s
mation Based-Complexity. New York: Academic Press.
users without revealing the module’s secret. Accordingly,
1989. Blum, L., Shub, M., and Smale, S. “On a Theory of Computa-
tion and Complexity Over the Real Numbers: NP-Complete- the module provides an interface to the external environ-
658 INFORMATION HIDING

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

References which state is detected. Thus, on the basis of the selective


1972. Parnas, D. L. “On the Criteria To Be Used in Decomposing a information available to it, the information processing
System Into Modules,” Communications ACM, 15, 12 (Decem- system behaves in a selective, or informed, fashion.
ber), 1053-1058. The use of selective information by conditional
1974. Parnas, D. L. “On A ‘Buzzword’: Hierarchical Structure,” branch processes lies at the root of everything complex
Proc. IFIPS Congress. or clever that a computer can do. In the simplest case, the
1981. Britton, K. H., Parker, R. A., and Parnas, D.L. “A Procedure conditional branch detects when an iteration is done (e.g.
for Designing Abstract Interfaces for Device Interface Mod-
when the adding of a column of figures has been com-
ules,” Proc. of 5th International Conference on Software Engi-
pleted), and transfers control to the next process. (It was
neering, 195-204.
1984. Clements, P. C., Parnas, D. L., and Weiss, D. M. “The Modular
with this use in mind that Babbage first invented the
conditional branch.) In more complex situations, condi-
Structure of Complex Systems,” Proc. of 7th International
Conference on Software Engineering, March, 408-417. tional branching processes enable information process-
ing systems to engage in all kinds of intelligent
DAvID M. Weiss problem-solving behaviors (whether the intelligence be
artificial or natural).
Effective information processing often depends cru-
cially on substituting a high degree of selectivity (i.e. a
INFORMATION PROCESSING high degree of dependence on selective information) for
a large amount of brute-force search through immense
For articles on related subjects see ACCESS METHODS; ARTL spaces of possible alternatives. Popular accounts of the
FICIAL INTELLIGENCE; COGNITIVE SCIENCE; DATABASE MANAGEMENT computer often emphasize the impressive speed of its
SYSTEM; INFORMATION AND DATA; INFORMATION THEORY; INFORMA- basic arithmetic processes and the vast number of com-
TION RETRIEVAL; INFORMATION SYSTEMS; MANAGEMENT INFORMA- putations it can perform in a short time. In actual fact,
TION SYSTEMS; and SYMBOL MANIPULATION. apart from the number crunching that is typical of scien-
tific and engineering applications, the arithmetic speed of
Information processing might, not inaccurately, be the computer is far less important than its capability for
defined as “what computers do.” In fact, the broadest selectivity, using information interpreted by the condi-
professional organization concerned with computer sci- tional branch processes.
ence is named the International Federation for Informa- Empirical research on human chess-playing skill, for
tion Processing (g.v.). example, shows that masters do not explore more alter-
For information to be processed by a computer or by natives than ordinary players—and probably do not even
any other information processing system, it must some- usually look more moves ahead. Instead, their superior
how be represented or symbolized. Hence, information performance almost certainly rests on looking at the right
processing is essentially synonymous with symbol ma- things—i.e. using information effectively to explore selec-
nipulation, but we will approach the topic in a somewhat tively. Similarly, artificial intelligence applications of the
more philosophical, less technical, vein than in the article computer, whether for chess playing or in other tasks,
SYMBOL MANIPULATION. always require the use of information to behave selec-
The phrase information processing is often used in tively, rather than relying primarily on the speed of the
preference to computation or data processing, to empha- machine to carry out extensive searches.
size the generality of computers—the fact that they are in We can illustrate this trade-off between selectivity
no way limited to manipulating just symbols that desig- and speed in information processing by two examples:
nate numbers, but can operate in any domain, numerical programs for retrieving information from large stores,
or non-numerical, where information is represented in and programs for solving problems.
symbolic form. The term information, in turn, carries allu-
sions to Shannon-Wiener information theory, which em- Information Retrieval Whenever we have a large
phasizes the role of symbol structures as designating one store of data—say, a set of customer records—it becomes
particular state of affairs out of some larger set of possible expensive to search the entire store sequentially to find a
states. Thus, if we are dealing with the class of flowers, particular piece of data. We would like, instead, to be able
the symbol “rose” conveys the information that we are to go directly to the point where the relevant data is to be
concerned with a particular subclass of that class. found and to extract it without a lengthy search. A mem-
Information has other aspects besides the selective ory that allows us to do this is often called random access.
aspect emphasized in the Shannon-Wiener theory. How- A better description for it is addressable, direct access, for
ever, this selective aspect is closely connected with the there is nothing random about the way in which we ap-
way in which information is used by information process- proach it. The store is to be addressable so that each
ing systems such as computers. Information processing record in it can be designated, or pointed to, by a symbol-
systems are capable of executing a conditional branch or ized address (name). It is to have direct access so that the
transfer operation. The conditional branch operation de- information processor can be switched to read the de-
tects which of several different states of affairs prevails sired record directly, once its name is known, without
(e.g. which of several symbol structures is stored in the requiring a search.
working memory of the computer), and sends the subse- Now it is well known that to select a particular item
quent computation along different paths, depending on froma set of n ordered items requires approximately log, n
660 INFORMATION RETRIEVAL

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

semination of information. An IR system is designed to


make available a given stored collection of information toxic... , poison ... , lethal dose, LD, side
effect, drug allerg ... , drug reaction, drug
_ items to a user population desiring to obtain access. The
sensiti... , intoxicat... .venom ... , side
stored information is normally assumed to consist of
action, side reaction, adverse effect, ad-
bibliographic items such as the books in a library or
verse reaction, ill effect, idiosyncra ... ,
documents of many kinds; by extension, an IR system may
overdos ... , Overtreat ... , intoleran ... ,
also be used to access collections of drawings, films,
contraindicat ..., salicylism, goitrogen...,
museum artifacts, patents, and so on. In each case, the IR
nephrotoxic ... , neurotoxic ... , hyper-
system is designed to extract from the files those items
vitaminosis, untoward, undesirable, dele-
that most nearly correspond to existing user needs as
terious, irritat ... . irritan.... harm... ,
reflected in requests submitted by the user population.
risk’. ©: aaneer... , nazara .....
IR has become increasingly important in recent years
because of the large amount of information that is poten-
tially available for access—the production of printed ma- FIG. 1. Terms denoting notion of toxicity that may be as-
terials, for example, is thought to increase yearly at a rate signed during document and query analysis.
of about 10%; because of the difficulties of assembling
large stores of bibliographic records in easily accessible
might then be assigned for purposes of content identifica-
forms and locations; and because of the increasing tech-
tion to documents and queries in the area of toxicity.
nical problems that arise in the selective distribution of
In “full-text” retrieval systems, the assignment of key-
large volumes of materials to heterogeneous user popula-
words and content identifiers is completely avoided by
tions. ld
assuming that the words that occur in the document texts
Most operational retrieval services are implemented
can serve adequately for content representation. In these
on-line using console terminal devices to introduce
cases, a given item is retrieved if its text contains a given
search queries and to obtain retrieval output. In that case,
combination of words suggested in the information re-
the information searches may take place interactively in
quest.
such a way that information supplied by the users during
While the indexing practice is still largely manual,
the search operation is used to obtain improved search
automatic indexing methods are becoming increasingly
output. Furthermore, networks of information centers
popular. The following types of operations are often used.
may be created by supplying suitable connections be-
tween individual centers, thereby affording the user pop-
1. Expressions are chosen from document or query
ulation a chance to access the resources of the whole
texts, consisting variously of words, word stems,
network.
noun phrases, prepositional phrases, or other
The establishment of information nets raises compli-
content units, which exhibit certain specified
cated legal and social problems, connected in part with
properties.
the propriety of unlimited duplication and transmission
2. Weights may be assigned to each expression on
of information that may be subject to legal restrictions (as
the basis of the frequency of occurrence of the
is the case for patented and copyrighted information),
given expression, or the position of the expres-
and in part with the preservation of information privacy,
sion in the document, or the type of entity.
where this may be warranted.
3. The expressions originally assigned may be
Retrieval operations and techniques used in conjunc-
replaced by new ones, or new “associated” ex-
tion with library or text processing systems are also of
pressions may be added to those originally avail-
interest in a variety of different information processing
able, based on information contained in stored
systems, including database management systems, selec-
dictionaries, or on _ statistical co-occurrence
tive information dissemination systems, and fact retrieval
characteristics among the terms in a document
or question-answering systems.
collection, or on syntactical relations among
words.
Indexing and Content Analysis In most opera- 4. Additional relational indicators between terms
tional retrieval situations, information analysis is carried may be supplied to express syntactical, or func-
out manually by using subject experts or trained indexers tional, or logical relationships among the entities
to assign content identifiers to information items and available for content identification.
search requests. Such information identifiers are known
variously as keywords, index terms, subject indicators, or Such an automatic indexing process then produces for
concepts, and the search operation often consists in each stored item a set of terms representing information
matching sets of keywords assigned to stored information content. In operational systems, the automatic indexing
items with keywords representing the search requests. practice is still largely restricted to the analysis of docu-
The matching is followed by the retrieval of those items ment titles only—the resulting search products being
whose content indicators exhibit a sufficiently high de- called “permuted” title indexes or “keyword in context”
gree of similarity to the query indicators. (KWIC) indexes. However, as larger text portions are
A typical set of words, or word portions, indicative of made available in machine-readable form, content analy-
the notion of “toxicity” is contained in Fig. 1. Such terms sis will extend to abstracts, summaries, or full texts, with
662 — INFORMATION RETRIEVAL

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

Cited Citing Ref. Publication Source Vol. Page

opie nosbee|
author author year year ||

wenn eee ee *58*B SOC CHIM BIOL----- 40 2005


ACHER R NATURE L 64 201 191
ise Moti 58-J BIOL CHEM--------- 233 116
ACHER R NATURE L 64201 191
eee 58-ZWEIIES INTERNATIONAG 70
FARNER DS AM SCIENT 64 52 137
mien wantnienn on 61-BIOCHIM BIOPHYS ACTA 51 419
ACHER R NATURE L 64 201 191
wen e ence eee ee 61-HISTOPHYSIOLOGIE COMO 41
FARNER DS AM SCIENT 64 52 137
ACHESON RM ------- *54*BRIT J PREV SOC MED- 8 59
ACHESON RM BR J PREV S 64 18 25
eee 54-HUM BIOL------------ 26 343
ACHESON RM BR J PREV S 64 18 25
ee 54-J ANAT------------ 88-498
JOHNSTON FE HUMAN BIOL 64 36 16
mone eee e eee 56-ACRIDINES------------0
MORICONI EJ JAM CHEM S 64 86 38
ee 56-3 CHEM SOC------------ 246
HENDRICK.JB JAM CHEM S 64 86
eee 60-HUMAN GROWTH ------- Tengu
ACHESON RM BR J PREV S 64 18 25
GRANT MW BR J PREV S 64 18 35
FIG. 2. Typical excerpt of science citation index.
INFORMATION RETRIEVAL 663

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

ACCESSION NUMBER A79036851


TITLE STATISTICAL FEATURES OF PHASE SCREENS FROM SCATTERING
DATA
AUTHORS ZARDECKI, A.; BALTES, H.P., EO.
ORGANIZATIONAL SOURCE DEPT. DE PHYS., UNIV. LAVAL, QUEBEC, CANADA
SOURCE INVERSE SOURCE PROBLEMS IN OPTICS, ISBN
3-540-09021-5, SPRINGER-VERLAG, BERLIN, GERMANY,
pp.155-89, 1978, 240 rer.
To SEE THE SAME INFORMATION ON THE NEXT 5 DOCUMENTS, TYPE:
SHOW MORE ( ABBREVIATED: SM)
TO SEE HOW TO GET OTHER INFORMATION ON YOUR SEARCH RESULTS, TYPE:
E SHOW

FIG. 4. On-line search protocol.

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

RESULTS OF REQUEST EVALUATION PROCESSING


EVALUATION OF REQUEST QA18TWO-D WITH 3 RELEVANT DOCUMENTS
Implication of THE TOP FIFTEEN DOCUMENTS RELEVANT DOCUMENT RANKS
relevance:
X= yes
1X 7OX601ENCODI 0.6155 1 70X601ENCODI 0.6155
2 X 02X814A NEW 0.3310 2 02X814A NEW 0.3310
3 54X901A SELE 0.3060 8 O9X206ANALYS 0.2508
4 30X409RELATI 0.3037
5 60X1212TOWAR 0.2769
Ranks of 6 39X517RESEAR 0.2591
retrieved 7 41X511ANALYS 0.2533
documents 8XO9X206ANALYS 0.2508
9 67X716A NATI 0.2341
10 74X305THEUS 0.2315
11 18X1122STATE 0.2226
12 69X813AUTOMA 0.2178 Coefficient of similarity between each retrieved
13. 59X1208THE N 0.2138 document and the que
14 SOX418ENGLIS 0.2086
15 81X1107THEA 0.2059 Document number and identifier

RANK RECAL= 0.5455 LOG PRECISION = 0.6462


NORMALIZED RECALL = 0.9789030 NORMALIZED PRECISION = 0.9139
RNK REC + LOG PRE = 1.1917 WEIGHTED NORMED RECALL + NORMED PREC= 1.8084

FIG. 5. Search output in query-document similarity order.

Some management information systems also include References


query capabilities, permitting the user to obtain answers
1979. Lancaster, F. W. Information Retrieval Systems—Characteris-
to certain types of submitted queries. In that case, a tics, Testing and Evaluation (2nd Ed.). New York: Wiley.
search-and-retrieval component of the type previously 1979. Van Rijsbergen, C. J., Information Retrieval (2nd Ed.). Lon-
described must be included. don: Butterworths.
A final class of language processing applications of 1983. Salton, G. and McGill, M. J. Introduction to Modern Informa-
interest in retrieval are the language-understanding, or tion Retrieval. New York: McGraw-Hill.
question-answering, systems, wherein a direct answer is 1989. Salton, G. Automatic Text Processing—The Transformation,
expected in response to a submitted query (instead of Analysis, and Retrieval of Information by Computer. Reading,
MA: Addison-Wesley.
only a set of references that may in turn contain the
answers). The depth and complexity of the document-
GERARD SALTON
and-query analysis must be much greater in question-
answering than in standard reference retrieval, since a
precise and detailed understanding of the queries is
needed before the answers can be supplied.
Normally, question-answering systems include syn-
INFORMATION SCIENCE
tactic components based on a stored grammar and dic- For articles on related subjects see COMPUTER SCIENCE;
tionary; a semantic interpreter that transforms the INFORMATION AND DATA; INFORMATION PROCESSING; and INFORMA-
syntactically analyzed input into a formal query statement TION RETRIEVAL.
acceptable to the program; and, finally, a deductive com-
ponent that can generate responses by comparing the The term information science was coined to designate
formalized query statement with information included in an interdisciplinary field initially concerned with the ex-
the database. ponential growth of recorded scientific information. In
Several experimental text-based question-answering 1950, the 81st U. S. Congress authorized the National
systems have been designed, but for the moment their Science Foundation to “foster an interchange of scientific
coverage is limited to a small discourse area and a re- information among scientists in the United States and
stricted subset of the natural language. Until more is foreign countries.” Applied information science received
known about language understanding and semantics, the a major impetus with the enactment of the National De-
question-answering application is likely to remain a labo- fense Education Act of 1958, by the 89th Congress, which
ratory pursuit rather than a practical possibility. directed the National Science Foundation to establish a
666 INFORMATION SYSTEM

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

Input Data Hard Software Documentst


, Organization a. Organization
Seb: Displays
Transactions iaalae
Applications Database Hopes
ges
Messages Software
Etc.
Etc Noncomputerized Operations

FIG. 1. Structure of an information system.


668 INFORMATION SYSTEM

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

TABLE 1. Typical Inputs, Database Contents, and Outputs by Type of System

Type Input Database Outputs

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)

For all of these reasons, the handling of I/O opera-


INPUT-OUTPUT CONTROL
tions has become almost exclusively the province of the
SYSTEM (IOCS) operating system, more specifically, the province of its
For articles on related subjects see ACCESS METHODS; BIOS; I/O control system (IOCS).
CACHE MEMORY; CHANNEL; FILE; LOGICAL AND PHYSICAL UNITS;
Memory: AUXILIARY; MULTIPROGRAMMING; and OPERATING SYS- Programmer Communication with the IOCS
TEMS. Typically, a programmer will communicate with the IOCS
by calling various modules as subroutines. The assembly
One of the earliest and most fundamental reasons for language programmer will generally have available a num-
the initial development and subsequent growth of operat- ber of predefined macros, which will be expanded into
ing systems concerns the handling of input/output (1/0) subroutine calls to IOCS modules, using predefined call-
operations. The transfer of responsibility for I/O opera- ing sequences. Similarly, I/O commands in high-level lan-
tions from the programmer to the operating system was guages will generally be compiled into subroutine calls to
undertaken for several reasons. First, the construction of appropriate IOCS modules. In more recent systems, these
code for handling I/O is one of the more difficult aspects of requests for I/O service take the form of supervisor calls
programming a computer. By not requiring a programmer (g.v.).
to know primitive I/O details, computing services have
become accessible to a greater number of casual program-
mers. Second, as assemblers, compilers, sort packages,
The Function of the IOCS The global function of
an IOCS is to perform I/O operations upon request of
and other utilities became available, it was necessary that
programmers. This function may be refined to include the
each of these utilities be provided with I/O services, and
following tasks:
that user programs be prevented from overwriting areas
where these utilities or their work spaces are stored.
A common set of I/O routines that is used by all 1. Interpretation of I/O requests.
system facilities and user programs, saves duplicated 2. Execution of I/O requests, once interpreted.
effort. Moreover, a simple, carefully debugged set of rou- 3. Location of the data to be transferred and where
tines provides some measure of protection against de- it is to be transferred to.
struction of important files. The problem of accidental 4. Initialization of transfer parameters.
destruction of stored data was further compounded in
operating systems that permitted users to construct and These four topics will be discussed in subsequent sec-
maintain private files of programs and/or data. In such tions.
systems, the denial of direct I/O capabilities to the user
became even more important. Interpretation of I/O Requests Each of the various I/O
A common set of I/O routines also facilitates inter- requests that a user may make (e.g. READ, WRITE, INSERT,
leaved execution of unrelated programs. When a program DELETE, REPLACE, REWIND, OPEN, CLOSE) must be decoded and
issues a request for I/O, the appropriate I/O routine is the parameters checked. This process is accomplished by
called. If the I/O operation cannot be completed im- an I/O request interpreter. The interpreter will check such
mediately, further execution of this program can be sus- things as (1) the name of the operation, (2) the name of
pended and control given instead to some other program the logical unit involved, and (3) the parameters specified
that is ready to execute. This interleaved or multipro- for the operation. Once checked, the interpreter will enter
grammed execution of programs makes more efficient use the parameters into the appropriate table and initiate
of the central processor without necessitating detailed execution of the I/O request.
planning of overlapped I/O operations by individual pro- The I/O request interpreter can initiate a variety of
grammers. actions, depending on the particular I/O request. For ex-

TABLE 1. Division of Logical and Physical l|OCS Requests

Request Logical IOCS Physical 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

Device Status Table (DST) Entry


———

Entry count Alternate channel Primary channel

Head 1 Head 2 Device busy/


Inst.
position not busy

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

logical file name (Ifn) code and status

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

EO! address error address

label file name (first 10 chars)

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.

Fig. 2 shows an annotated logical device table.


Coordination of Peripheral Activities and Maintenance
Both the logical device tables and the physical device
of Positioning Information The scheduling and coordi-
tables contain pointers to routines that perform various
nation of peripheral activities is an especially important
functions. Typically, a programmer is not allowed to pro-
IOCS function. In a large computer system, there will often
vide routines to replace those in the physical IOCS. To do
exist a variety of data paths from the central processors
so would impinge on the integrity of data stored on the
through the data channels to particular devices. Fig. 4
physical device. It is common, however, to allow program- illustrates a typical situation.
mers to supply their own routines to perform: Notice in Fig. 4 that a given device may be “attached”
to more than one control unit and/or channel in order to
1. Blocking, deblocking, and buffer management. form a path that can deliver data to or take data from main
2. Processing of exceptional conditions such as storage. This does not imply that data flows to or from the
end-offile or other error conditions on the logical device over two paths simultaneously; only one path to
device. or from a device is used at a given time. The multiple
3. Label verification of non-standard file labels (see paths exist in order that devices may be kept busy as long
below). as there exists at least one unused path to the device. The
multiple paths also allow for continued operation should
In either case, it is clear that substitution of different certain units in a data path break down temporarily. How-
processing routines in place of the standard ones is sim- ever, the IOCS must keep track of what data paths are
ply a matter of changing pointers in the tables (and hav- currently in use and prevent new requests from using
ing the routines available). A programmer effects these these paths. When a unit signals that a certain component
changes by declaring that a substitution will be made and of a path is no longer needed, the IOCS will search the
by supplying the routine. The IOCS then replaces the pending requests to see if one can be initiated over the
pointers in the logical IOCS table with pointers to these freed path.
user-supplied routines. In deciding on the next request to be serviced, it is
As shown in Fig. 3, pointers are also used to maintain convenient for physical IOCS to have information con-
the correspondences between logical and physical de- cerning the current position of read/write heads relative
vices. By using the pointers from logical to physical units, to the position of the data. This is particularly true with

LDT [- OT faaDT

Symbolic name Symbolic name Symbolic name

PDT pointer PDT pointer PDT pointer

v OT ae)DT

Device name Device name

LDT pointers LDT pointers

Next POT Next PDT Next PDT

Null implies no logical


devices using this device
currently

FIG. 3. _IOCS table links.


676 INPUT-OUTPUT CONTROL SYSTEM (IOCS)

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

Control unit 2 Control unit 3 Control unit 4

y |YT
Device 2 Device 3 Device 4

FIG. 4. Data paths to I/O devices.


INPUT-OUTPUT INSTRUCTIONS 677

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,

FIG. 1.. The channel model.


678 INPUT-OUTPUT INSTRUCTIONS

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.

< 87 25 24 Pee as) SB

Data address (main store)

<

FIG, 2. Channel commands for an IBM/3000 series computer. Field lengths are given in bits.
INPUT-OUTPUT INSTRUCTIONS 679

"Main" Device 1 space Device 2 space

Pie Risesi |. mee wining Soni


Low Addresses High Addresses

FIG. 3. Onelevel memory-device data mapping.

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

Low Addresses Control re Control so High Addresses


and and
status nie status polaick

FIG. 4. Memory mapped I/O device control, status and data pointer map.
680 INSTITUTE FOR CERTIFICATION OF COMPUTER PROFESSIONALS (ICCP)

sequences of command/control—these have to be issued disciplines directly related to applied computer


one at a time in a sequence that is defined by the I/O and information science.
driver, which is now composed entirely of central proces- 4. To foster, promote, and develop internationally
sor instructions. the purposes of the corporation, including, with-
The status locations are identical in function to the out limitation, (a) the establishment of reciprocal
previously discussed channel status. The data locations standards with, and reciprocal membership for
are of two types—either the actual data or a pointer to and cooperation with, organizations having sim-
data. This model of I/O relies on an underlying hardware - ilar aims and purposes; (b) the establishment of
support, commonly known as direct memory access international standards of good practice in the
(DMA - g.v.) controllers. These devices absorb the data worldwide computer and information systems
transfer functions that are performed by the channel. industry; and (c) the formulation and administra-
Note that these I/O models are not the only ones. For tion of reciprocal testing and evaluation pro-
example, the Data General MV series possesses a number grams.
of dedicated I/O registers that serve a function similar to
the dedicated memory locations (with the noted differ- How Established The ICCP was incorporated as a
ence that they are not dedicated to a single device). not-for-profit corporation in the State of Delaware on 13
Finally, it is necessary to indicate that, no matter August 1973. Its establishment was the outgrowth of sev-
which of the former hardware alternatives and I/O models eral years of study by committees of the Data Processing
are present, the I/O process is basically an asynchronous Management Association (DPMA) and the Association for
one in which the channels or their variants are operating Computing Machinery (ACM) during which the concept of
in parallel with the CPU. Thus, one needs a synchroniza- a “computer foundation” to foster testing and certifica-
tion procedure by which the CPU and I/O operations are tion programs was formulated. An open invitation was
coordinated. This procedure involves either interrupts extended to other societies to support an organizational
(q.v.) or polling (q.v.). period. The organizations that served on the Computer
Foundation Organizing Committee and then became
GIDEON FRIEDER members of the Institute were:

Association for Computing Machinery


Association of Computer Programmers and Analysts
INSTITUTE FOR CERTIFICATION Association for Educational Data Systems (now Inter-
OF COMPUTER national Society for Technology in Education)
PROFESSIONALS (ICCP) Automation 1 Association (now the Association for
Information Management)
For articles on related subjects see ASSOCIATION FOR COM- Canadian Information Processing Society
PUTING MACHINERY; DATA PROCESSING MANAGEMENT ASSOCIA- Data Processing Management Association
TION; and PERSONNEL IN THE COMPUTER FIELD. IEEE Computer Society
Society of Certified Data Processors (now the Associa-
The Institute for Certification of Computer Profes- tion of the Institute for Certification of Computer
sionals (ICCP) is an organization of computing societies, Professionals)
established in 1973, for the purpose of sponsoring activity Society of Professional Data Processors
in the areas of testing and certification of knowledge and
competence of computing personnel. It is intended to Subsequently, the Association of Computer Programmers
pool the resources and interests of individual societies so and Analysts and the Society of Professional Data Proces-
that ultimately the full attention of the industry may be sors disbanded, and the following organizations have be-
focused on the vital tasks of developing and recognizing come members:
qualified personnel.
The purposes of the Institute are:
Association for Systems Management
Association for Women in Computing
1. To foster, promote, develop, and conduct scien- COMMON (a user’s group for IBM computers)
tific inquiry and research into any of the several Hong Kong Computer Society
activities related to the development and recog- Independent Computer Consultants Association
nition of knowledge and competence among per- The Microcomputer Industry Association
sonnel in the computer and information systems Data Administrators Management Association
industry. Independent Systems Consultants Association
2. To foster, promote, develop, and conduct scien- Federation of NCR User Groups
tific inquiry and research into standards of good
practice. Presidents of ICCP to date have been:
3. To formulate and administer testing and evalua-
tion programs designed to determine the apti- John K. Swearingen, CDP 1973-1975
tude, level of knowledge, and competence of Fred H. Harris 1976
individuals engaging in or desiring to engage in G. Gary Casper, CDP, CSP 1977-1978
INSTITUTE FOR CERTIFICATION OF COMPUTER PROFESSIONALS (ICCP) 681

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-

AND ELECTRONIC tenance, and documentation of computer software; the

ENGINEERS—COMPUTER Transactions on Pattern Analysis and Machine Intelligence,


which contains archival materials on all aspects of pat-
SOCIETY (IEEE-CS) tern analysis and manipulation; or the Journal of Solid
State Circuits, which covers devices and systems affecting
For an article on a related subject see AMERICAN FEDERATION circuit design.
OF INFORMATION PROCESSING SOCIETIES.
The IEEE Computer Society sponsors three annual
Computer Society Conferences and numerous specialized
Purpose The IEEE Computer Society was formed to conferences.
advance the theory and practice of computer and infor- The IEEE Computer Society’s technical committees
mation processing technology. Its objectives are to pro- include Computer Architecture, Computer Communica-
mote cooperation and exchange of technical information tions, Computer Elements, Data Acquisition and Control,
among its members. To achieve this, the Society holds Design Automation, Data Base Engineering, Distributed
meetings for the presentation and discussion of technical Processing, Fault-Tolerant Computing, Oceanic Engineer-
papers, publishes technical journals, and through its ing and Technology, Machine Intelligence and Pattern
chapters and technical committees studies and provides Analysis, Mass Storage Systems, Math Foundations, Mi-
for the professional needs of its members. The scope of croprogramming, Mini/Micro Computers, Operating Sys-
the Society encompasses all aspects of design, theory, tems, Optical Processing, Packaging, Security and
and practice relating to digital and analog devices, com- Privacy, Simulation, Software Engineering, and Test Tech-
putation, and information processing. nology. Their aim is to promote technical excellence in
specific areas by sponsoring seminars, symposia, and
How Established The IEEE Computer Society was sessions at professional conferences.
so-named in 1972, having originated in October 1951 as Other activities of the IEEE Computer Society include
The Computer Group of IRE (Institute of Radio Engineers), Standards, and Education and Professional Development,
which, on 1 January 1963, merged with the American which are concerned with curriculum and continuing ed-
Institute of Electrical Engineers and became the Institute ucation, and the Distinguished Visitors and Tutorial Pro-
of Electrical and Electronics Engineers (IEEE). The IEEE grams, which arrange for leading computer professionals
represents over 300,000 electrical and electronics engi- to speak to local chapters of the Society.
neers throughout the world. Chief officers of the IEEE-CS since its inception 9
With so many special interests among its members, it October 1951) include the following persons.
was natural for members who wished to concentrate in
one area of electronics, or who wanted to exchange Chairmen:
knowledge with those of similar interest, to create special Morton M. Astrahan, 1951-1952
INSTRUCTION AND DATA REPRESENTATION 683

Jean H. Felker, 1953-1954


H. T. Larson, 1954-1955
INSTRUCTION AND DATA
Jerre D. Noe, 1955-1957 REPRESENTATION
Werner Buchholz, 1957-1958 For articles on related subjects see ADDRESSING; COMPUTERS,
Willis H. Ware, 1958-1959 MULTIPLE ADDRESS; INPUT-OUTPUT INSTRUCTIONS; INSTRUCTION
R. O. Endres, 1959-1960 SET; and MACHINE AND ASSEMBLY LANGUAGE PROGRAMMING.
A. A. Cohen, 1960-1962
W. L. Anderson, 1962-1964 If information is to be stored in a computer system, a
K. W. Uncapher, 1964-1965 representation must be chosen to be used internally. The
R. I. Tanaka, 1965-1966 internal representation of the information as stored in
Samuel Levine, 1966-1967 main memory (q.v.) may be chosen to be quite different
L. C. Hobbs, 1968-1970 from its external form, as long as there are unique trans-
E. J. McCluskey, 1970-1971 formations from one to the other. In fact, this freedom to
use various internal forms has created problems in situa-
The Society’s name changed to the IEEE Computer Soci- tions where information generated on one computer sys-
ety on 1 January 1971. tem must be processed on another system.
Assuming a two-state representation, one can treat a
Presidents: collection of such states (or bit string) as a unit as well.
E. J. McCluskey, 1971 From the early interpretation of such bit strings as repre-
A. S. Hoagland, 1972-1973 senting numbers with two states in each digit position
S.S. Yau, 1974-1975 (i.e. 0 or 1), these digits have become known as binary
D. B. Simmons, 1976 digits, or bits. This interpretation regards a string of ze-
M. G. Smith, 1977-1978 roes and ones as an integer expressed in base 2 form. The
Tse-yun Feng, 1979-1980 term “bits” has now been generalized to include zeroes
Richard E. Merwin, 1981 and ones found in strings that are not interpreted as
Oscar N. Garcia, 1982-83 binary integers.
Martha Sloan, 1984-1985 Information other than binary integers must also be
Roy L. Russo, 1986-1987 represented in storage. In some computer systems (in
Edward A. Parrish, Jr., 1988 particular, those involved with monetary computations),
Kenneth R. Anderson, 1989 there is a perceived need for representing decimal digits
Helen M. Wood, 1990 per se and for doing decimal arithmetic on these digits.
Duncan H. Lawrie, 1991 (This need arises from the different roundoff effects gen-
Bruce D. Shriver, 1992 erated in binary and decimal arithmetic.) In other situa-
tions, it is necessary to represent alphabetic characters
ISAAC L. AUERBACH and punctuation symbols so as to process ordinary text,
names, etc. In such cases, each alphabetic, numeric, or
punctuation character is assigned a particular string of
bits as its representation. Part of one such assignment,
which uses seven-bit strings and has received wide sup-
INSTRUCT ION. See Input-Output INSTRUCTIONS; port, is called the American Standard Code for Informa-
INSTRUCTION SET; and PRIVILEGED INSTRUCTION. tion Interchange (ASCII - g.v.). Earlier computers tended

Operation Data Next Operation First Second


code address instruction code operand operand
address

Operation Register Index Base Displacement


code containing register register from base
first
operand

FIG. 1. Typical instruction formats.


684 INSTRUCTION SET

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 =
'

‘ ' 1 i) source, due to the existence of the p-type region, unless a


Mieveeue son Hae os positive voltage is applied to the gate. In this case, the
' i 1 1
insulator region blocks the flow of current and forms a
©) ap
<hr
tartan adalat
1,
eae
a Fay
peeranesea rep capacitor that has its negative charge, or electrons, in the
‘ ' i} ' p-type region just below the insulator, and its positive
edeedo
nt e- sos J-
| 1 1 1 t charge, or holes, on the gate. At sufficiently high gate
i] ' ' '
voltages, the electrons in the p-type region form a thin
2.0 V(volts) n-type channel beneath the insulator, which connects
t —<=— Reverse Bias Forward Bias ——> with the n-type regions of the source and drain, thus
allowing current to flow easily through this channel. The
FIG. 1. (a) Physical arrangement of a p-n junction. (b) A diode FET is also known as a unipolar transistor, because only
(p-n junction) under forward bias. (c) The characteristic cur-
one type of charge, namely electrons, is involved in the
rent curve for a real diode.
flow of current. Since the gate is normally fabricated of
metal and the insulator out of silicon dioxide, the FET is
region. The depletion region may be visualized as arising also commonly referred to as a metal-oxide-semiconduc-
when the two regions are placed in contact and holes tor (MOS) transistor. Also, a prefix is frequently employed
diffuse to the n-side of the junction while electrons diffuse to indicate the type of charge carrier in the FET. For
to the p-side of the junction. (Serway et al., 1989). The example, the device shown in Fig. 3 is referred to as an
region extending a few microns from the junction is called NMOS transistor, while a p-n-p-based FET would be
the depletion region because it is depleted of mobile
charge carriers, namely, electrons and holes. It forms a
Base
potential barrier that prevents the further diffusion of
holes and electrons across the junction and ensures zero
electrical current when no external voltage is applied.
The most notable feature of this p-n junction is its
ability to pass current in only one direction. Such diode Emitter O O Collector
action is due to the fact that when a positive external
voltage from a battery is applied to the p-side of the
junction, as shown in Fig. 1(b), the overall barrier is
(a)
reduced, resulting in a current that increases rapidly with B p
O Emitter
Collector 9
increasing forward voltage or bias, as displayed in Fig.
1(c). For reverse bias (a positive external voltage from a oo mM
battery is applied to the n-side of the junction), the poten-
tial barrier is increased, resulting in a very small reverse
current that quickly reaches a saturation value.
Transistors are based on similar, although more com-
plex, n-and p-type semiconductors. ICs presently use two
important device (transistor) technologies: the Bipolar
Transistor, whose function is based on phenomena at the
(b)
p-n junctions, and the Field Effect Transistor (FET), par- FIG. 2. (a) A bipolar transistor. (b) Cross-section of a bipolar
ticularly the Metal Oxide Semiconductor FET (MOSFET), transistor.
690 _ INTEGRATED CIRCUITRY

Gate

_ <i— Metal

~<q— Insulator

O Drain
Source O

(a)

Source Gate

q FT 5 AE PALIT MARIE ATAE

~«— Doped n-type region

High-purity n-type region

Silicon substrate

(b)

FIG. 3. (a) A field-effect transistor (FET). (b) Cross-section of a field-effect transistor.

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

TABLE 1. Prevalent Device and Circuit Technologies

Bipolar FET Bipolar FET


Devices Devices Logic Memory
Circuits Circuits

NPN NMOS ECL—Enmitter coupled logic RAM—Random access


memory

PNP PMOS TTL—Transistor-transistor ROM—Read-only


logic memory

BiCMOS CMOS I]L—Integrated injection SRAM—Static RAM


logic

BiCMOS STL—Schottky transistor DRAM—Dynamic RAM


logic
EEPROM—Electrically
erasable programmable
ROM
BiCMOS: Bipolar CMOS
INTEGRATED CIRCUITRY 691

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

Backside + dati, ——— Silicon Nitride


elements such as arsenic or phosphorus, to the formation
Boron-doped —— PadOxidation Deposition
Silicon Wafer Argon Implant of n-type silicon, while implantation with boron ions, on
the other hand, produces p-type silicon.
+
sensi
Tsolation RIE of Nitride ____ Channel Stop ,,
> _ Field
ittem and Pad Oxide Boron Implant® * Oxidation
Reactive Ion Etching Reactive ion etching is a transfer
process in which a lithographically developed circuit pat-
tern in resist is transferred onto an underlying film by the
Wet Etching
i of Vertical Adjust ied Gate ——+ Dh a VotieaVert
l Ad}
removal of undesirable sections from the film through the
e Implant —— just
Nitride and Pad> Boron Implant® * Oxidation a ay As implant
use of low-temperature, weakly ionized gaseous pro-
oxide

cesses. The undesirable material is removed from the


Buried
Wet Eich LPCVD
++
Phosphorus-doped _ LPCVD unmasked areas of the film by conversion to a volatile
Continuo’s —— Gate Oxide Poly-Silicon Poly-Silicon ——P> Oxide
gaseous state through chemical reactions with one or
——— more reactive ionic and neutral energetic species that are
Poly-Silicon, RIE
+
——— > RIE Source/Drain ___y WetEtch produced in the gaseous plasma. |
Gate Pattern Mask Oxide Poly-Silicon as Implant* * Oxide These plasma processes have become a key for man-
ufacturing high-density ICs due to their ability for high-fi-
Source/Drain + delity transfer of submicron and nanometer scale mask
on _»> LPCVD Contact RIE) == Aluminum
el cana Oxide > Patten * © Oxides Sputtering images. Because of the need for low-pressure, low-energy,
high-density plasmas for etching high-resolution images,
today’s plasma reactor technology has become highly
Metal
+ +
RIE Hydrogen sophisticated. It features quite exotic techniques of
as Gripes —— > _ Backside Anneal
Patterning* plasma generation like magnetic field enhancement, elec-
+
tron-cyclotron-resonance-induced plasmas, and radio-fre-
Reactive Jon Etching (RIE)
quency (RF) and helicon sources.
hesLow-Pressure Chemical Vapor Deposition(LPCVD)

Low-Pressure Chemical Vapor Deposition Deposited


FIG. 5. NMOS process description.
metal and dielectric thin films are widely used in the
fabrication of ICs. These films provide conducting paths,
Lithography Lithography is the process of imaging and like a wire, electrical insulators between electrically ac-
image development of a circuit pattern onto a radiation- tive areas of the device, like a dielectric, and protection
sensitive polymer (mask). Successful lithography re- from the ambient, like a passivation layer which prevents
quires an optimal performance of several elements corro sion. Among the numerous techniques used for
simultaneously: resist materials (which resist etching), thin film deposition, low-pressure chemical vapor deposi-
exposure tools, and lithographic processes. The net out- tion (LPCVD) has been pivotal in the production of VLSI
come of the lithographic process is to transfer a desirable and ULSI circuits. As compared to the earlier atmo-
device pattern from the mask to the silicon wafer, a pro- spheric-pressure CVD (APCVD), LPCVD offers cleaner
cess known as patterning. Most presently used patterning films with low pin holes and reduced defects, smoother
techniques employ optical techniques for pattern genera- films, improved conformality in gap filling, and superior
tion in combination with conventional optical printing deposition uniformity. Low pressure also reduces the de-
methods to produce the desired circuit. These techniques position temperature, a desirable feature in IC fabrication.
might be limited to large feature sizes (> 1 mm) and could Currently, LPCVD systems come in many flavors, which
be replaced over the next 10 to 15 years, with new tech- includes batch and single wafer systems and hot and cold
niques for submicron (less than 0.5 mm) and nanometer wall reactors. Many advances have been achieved in re-
(less than 0.15 mm) lithography. Some of these new tech- cent years to improve film uniformity over 200 mm waf-
niques are: phase shift optical techniques that would ers, reduce particulates, and efficiently deliver the
extend current optical lithographic capabilities, electron gaseous reactants to the reaction zone.
beam lithography (currently electron beams are used Fig. 6 displays examples of typical end products of
mostly to produce high-resolution optical masks), ion the wafer manufacturing process, namely 127 mm wafers
beam lithography, and X-ray beam lithography. made of two different types of VLSI chips. Once wafer
processing is complete, the wafer is tested for proper
Ion Implantation Jon implantation is the process by functioning. The lines between the various circuits are
which energetic impurities can be introduced in a con- then marked and the wafer cut along these lines. The
trolled manner into the silicon material in order to alter resulting IC chips are then packaged (i.e. mounted on a
its electronic properties. Implantation is ordinarily per- chip carrier, attached to the proper leads, encapsulated,
formed with voltages in the range of 50,000-500,000 volts and tested again) and shipped to the customer.
(ion energies in the 50,000-500,000 electron-volts range).
Basic requirements for implantation systems are ion Circuit Yields, Reliability, and Cost The ICs that
sources and processes to generate, accelerate, and purify have been discussed so far have to meet two important
them. Impurity introduction is achieved through a bom- requirements: (1) the circuits must function properly
bardment process that inserts ions of the desirable ele- throughout their intended life, and (2) they should be
ments into the silicon matrix. This leads, in the case of produced in quantities that are competitive with alterna-
INTEGRATED SERVICES DIGITAL NETWORK (ISDN) 693

to chip size) generated by imperfect processing, particles,


stacking faults, mask defects, etc., the negative effect of
these defects on yield increases as the minimum dimen-
sions in the circuit continue to shrink. Whereas an IC with
a 1mm minimum dimension can tolerate a particle 0.1 mm
in size, a submicron device with 0.25 mm feature size can
tolerate only a 0.025 mm particle. This implies that materi-
als, process gases and chemicals, and tools and facilities
must be controlled to contain fewer and smaller particles.
Since the ULSI technology requires finer dimensions,
larger chip area, complex processes and tools, and new
material systems, the problems of achieving and main-
taining high yields and reliability are undoubtedly exacer-
bated. Factory management to achieve these high levels
of performance will mean high cost of fabricating ad-
vanced ICs. At present, the fabrication facilities for the
production of ULSI circuits (e.g. 64M DRAM) are esti-
mated to cost upwards of $1 billion U.S. In spite of such
high capital investments, the ever expanding applications
and the demand for faster and more cost-effective com-
puters are sure to keep the factories of advanced ICs
humming for a long time to come.

References

1989. Rymaszewski, E. J. “Dense, Denser, Densest,” J. Electronic


Matter, 18, 217-220.
1989. Serway, R. A., Moses, C. J., and Moyer, C. A. Modern Physics.
Philadelphia: Saunders.
1989. Schumay, W. C. Jr. “Materials for High Density Intercon-
nects”, Advanced Materials and Processes, 135, 43-47.
1991. Larrabee, G. and Chatterjee, P. “DRAM Manufacturing in the
90’s—Part I: The History Lesson,” Semiconductor Interna-
tional 14, 84-92.

AIAN E. KALOYEROS AND G. SWAMI MATHAD


FIG. 6. 127 mm wafers made of two different types of VLSI
chips.

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

FIG. 1. Interactive surfacebased rendering


an PixelPlane 4 of female pelvis with vaginal
nserts for radiation sources. The long bulbous
object surrounding the tip of the three vertical
FIG. 2. Volume rendering of edited magnetic reso-
shafts is a polygonally defined radiation isodose
nance data set. The apparent mottling of the facial
surface (CT data courtesy of North Carolina Me-
surface.in the volume rendering is due to noise in the
norial Hospital. Image courtesy of Henry Fuchs
acquired data. Note that the user was not called upon
and Stephen M. Pizer, University of North Caro-
to define surface geometry, but merely to isolate a
ina).
region of interest (MR data courtesy of Siemens AG,
edited by Juiqi Tang. Image courtesy of Mark Levoy,
University of North Carolina).

FIG. 3. An illustration of four mecha-


nisms for viewing biological tissue. Upper
left is an anatomical cross-section of the
brain. Upper right is a magnetic reso-
nance image of the same cross-section.
Lower left is an Xray CAT scan. Lower
right is a positron emission tomography
scan (PET scan) (Image courtesy of John
C. Mazziotta, UCLA School of Medicine).

=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. 2. A view from “Pale


que,” Bank Street Colleges educ
tion disc on the Mayan ruin, Pal
nque. (Courtesy of Intel.)

FIG. 3. A typical CAD/CAM


workstation [A UNIGRAPHICS sys-
tem from McDonnell Douglas). A
function keyboard is shown on
the left, with the CRT displaying
an assembly model of an auto-
mobile dashboard, along with
menus for the designer. Dials to
move, rotate, and scale the dis-
play are on the right, as is a
mouse, used for pointing to the
display feature or menu item de-
sired.

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

Prompt: Select a FEM command


Command:
QUIT jUNDOTBACKUP
[DONE [GRID TAXIS JUTEWPORT SETUP iCal FASURE| TiO JHINDOW il

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)

FIG. 5. This overlay drawing


shows the positions of the
pilot, seat, canopy, and aircraft
during an ejection sequence.
(Courtesy of Mechanical Dy-
namics, Inc.)

FIG. 4. The results of Finite Element Analysis


displayed as stress contours for the bracket
shown in Figures | through 3. The bar down
the right-hand side of the display is a key relating
color to level of stress. (Courtesy of Aries Technol-
ogy Corporation)

FIG. 6. A time series of the


positions of a truck, its suspen-
sion, and wheels, as it passes
over a bump. (Courtesy of Me-
chanical Dynamics, Inc.)

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

FIG. 4. “Azimuth XX” by Margot Lovejoy, a projection installation, 12’ X


12’ X 12’, 1986.

FIG. 5. “Battle To The Death” by Ellen


Sandor (ART)", 3-D transparency mounted
on a light box, 32” X 48”, 1983.

CP-4
FIG. 8. “Rainfall” by Stephen Pevnick, Fountain Project, 18’
X 18’ X 26’, 1984.

FIG. 9. “Swirling Helix” by Milton Komisar, plexiglas, polysty-


rene, and Apple computer, 25’ high, 1982.

FIG. 10. “Voyeur” by Alan Rath, 12 X 29 X 59” plus


tripod, 1986.

(a) a: (b)
CP-5
FIG. 11. “Critter Interaction in Videoplace” by Myron Krueger, 1983.
COMPUTER GRAPHICS

(a) (b) (c)


FIG. 5. (a) Flat shading, (b) Gouraud shading, (c) Phong shading. (Courtesy
of David Weimer and Gary Bishop, AT&T Bell Laboratories.)

FIG. 6. A ray-traced image using the Hall Illumination model. No-


tice the inclusion of refraction in the glass ball (front right) and reflec-
tion in the metallic sphere (left). (Courtesy of R. Hall, Program in
Computer Graphics, Cornell University.)

FIG. 7. Simulated steel mill.

FIG. 8. Forest fire simulation. This realistic visualization of a


forest fire is modeled with textured quadric surfaces.

ENTERTAINMENT INDUSTRY, COMPUTERS IN THE

FIG. 5. Acomputerized ani-


mation stand. Note the special-
ized controller in the animators
hand and the motors mounted
on the camera itself. (Copyright
© 1990 LucasArts Entertain-
ment. All rights reserved. Cour-
tesy Industrial Light & Magic.)

FIG. 4. An example of effects animation. The time-slice effect,


from Back to the Future, Part 3, was animated by hand and then
optically composited over the car. Copyright © 1990 Universal City
Studios, Inc. All rights reserved. Courtesy Industrial Light & Magic.

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. 6. Electrostatic potential around a small satellite Mandelbrot set.


The Julia set that belongs to the parameter c from the center of this
Mandelbrot set is pictured on the (Riemann) sphere in the background.
Cover picture of The Beauty of Fractals. (O 1986 H. Jurgens, H.-O.
Peitgen, D. Saupe.)

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. 8. Fractal planet generated with the rescale


and-add method. The fractal dimension depends on
the latitude: Near the equator, the dimension of the
coast lines is close to 1.0, whereas near the poles it is
close to 2.0. The planet is rendered as a perfect sphere.
However, the texturing function is based on the ran-
dom fractal (pseudo) height and, for the polar caps,
also depends on latitude. (O 1988 H. JUgens, 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.?

FIG. 12. Spheres filling the ex-


terior of the Mandelbrot set. They
are computed using the distance
estimate formula. (O 1988 H.
Jurgens, H.-O. Peitgen, D. Saupe.)

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

FIG. 1. Artists view of QCD simulation on a lattice used to


approximate field interactions between colored quarks that build
up a hadron. (From K.M. Bitar and W. M. Heller, Florida State
University in Computers in Physics, 6, 1, Jan/Feb 1992, p. 34, =
<x
permission of AIP)
ss
SSS
=

——SS

FIG. 8. Computer-generated astrophysical jet. (From Science


253, 5019 2 Aug 1991 (cover), © 1991 AAAS, reprinted by per-
mission of AAAS and Dr. Jack O. Burns, New Mexico State Univer-
Sity.)

FIG. 9. Fermi surface’ of


YBazCu307. (From W. E. Pickett
and R. E. Cohen, Naval Research
Laboratory.)

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.)

FIG. 12. Convergence patterns


of Newton-Raphson iteration of
Z* — | = 0 (page 114f of Gleicks
Chaos, 1987).
STAMPS, COMPUTING ON

Colombia West Germany Great Britain Norway

VI
KONGRES.
TECHNIKOW
POLSKICH
1971
1895-1970

ODN. LENE
Di veninar COUNVOISIEN BA
Recensement 1871-1971 Census AED > a2 seth) BEATS RTE ERIS:

Switzerland Poland Canada Japan

REPUBLIQUE DE COTE DIVOIRE


Me
THA
Big 4

LEIPZIGER FRUHJAHRSMESSE DOAISTECHER


1966
ECEKTRONISCHER LOCHRARTENRECHNER

Great Britain lvory Coast East Germany

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

References Keyboard keys are usually arranged similar to those of a


standard typewriter, the so-called QWERTY keyboard
1986. Gardner, Reed M. “Computerized Management of Intensive
(named for the sequence of keys in the top row). This is
Care Patients,” M.D. Computing, 3, 1: 36-51.
1988. Leyerle, Beverly J., LoBue, Mark, and Shabot, M. Michael. an historical artifact, since early typewriter keys had to
“The PDMS as A Focal Point for Distributed Patient Data,” be arranged to allow typists to work quickly without the
International Journal of Clinical Monitoring and Computing, 5: keys jamming. To do this, frequently used keys were
155-161. placed far apart, slowing down the typist. Because of the
speed and electronic nature of the computer, other key-
KENNETH M. KEMPNER
board designs have been explored that group frequently
used keys together. An example of this is the Dvorak
keyboard (see Fig. 2).
INTERACTIVE INPUT DEVICES When data is being entered at a keyboard, the user’s
CRT (cathode ray tube) screen provides visual feedback
For articles on related subjects see COMPUTER GRAPHICS; indicating where new data will be placed with respect to
HUMAN FACTORS IN COMPUTING; MOUSE; USER INTERFACE; and characters already typed. This is done with a cursor,
WORKSTATION. which is usually an underscore, a reverse video character,
or a bright or blinking square. The type of cursor is
Input devices connected to a computer system allow dependent on the application package being used.
the user to enter data or interact with running programs,
and are used for activities ranging from editing computer
programs to playing video games. Input devices can be Locating Devices Locators are used for indicating a
separated into five classes: keyboards, locators, picks, val- position for placing objects on the screen or quickly mov-
uators, and buttons. The classification is determined by ing the cursor in a text editor. Visual feedback of the
the distinct functions performed. In many cases, these current position is provided with an arrow or a crosshair
divisions are blurred because a device of one class can displayed on the screen. A digitizing tablet, mouse, track-
simulate the functions of another. This simulation allows ball, and joystick are examples of location devices.
a workstation to have full functionality without having to The digitizing tablet is a flat surface, sometimes
use a large number of different input devices. illuminated, that has a fine grid of horizontal and vertical
wires embedded into it (see Fig. 3). There is an attached
Keyboards A keyboard, the most common input de- stylus or puck that produces a magnetic field and is cen-
vice, is used for entering textual data into a computer file tered at the location to which it points. The magnetic field
under control of an editor or word processor (see Fig. 1). will induce a current on the wires of the tablet. By sensing

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.)

PEE TET EP EET


“PEEL EFEEE LS
EE a
FIG. 2. Dvorak keyboard.
INTERACTIVE INPUT DEVICES 697

FIG. 4. An optical mouse. The grid of lines can be faintly seen


on the left side of the mouse pad. (Photograph courtesy of Sun
Microsystems, Inc.)
FIG. 3. Two digitizing or graphics tablets. The foreground
shows a stylus, and the background shows a puck. (Photograph
courtesy of Summagraphics Corporation.) since a mouse can be lifted off its surface or mouse pad
and be moved without disturbing the current location,
the strength of the current on a set of neighboring wires, the mouse is considered a relative locator. A related de-
the tablet can determine where the stylus or puck is and vice is the trackball, which is nothing more than a mouse
whether it is touching the tablet or being held above it. turned upside down so that the ball can be directly ma-
Digitizing tablets are very precise and can be used to nipulated by the palm of the hand rather than rolling it
enter line drawings—maps, for example—into the com- over a flat surface.
puter through the input of key points in the drawing. Since A joystick (see Fig. 5), popular among those who play
the same signal is produced each time the stylus is placed video games, is also used to indicate position. The joy-
in a particular position (e.g. the center of the tablet), the stick has a rod that protrudes from a base. Inside the base
digitizing tablet is considered an absolute locator. are a set of potentiometers that can sense when the rod
A mouse is a small hand-held device that is used to is deflected from a vertical position. In spring-loaded
indicate a position or movement. Typical uses for a
joysticks, the rod will always return to center when re-
mouse include quickly repositioning the cursor in a word leased. These joysticks indicate a change of position by
processor, and moving an object by “dragging” it toa new the direction of the push, and a change of speed by the
location. A mouse will also include one to three buttons
amount of deflection. When in the center position, no
on its top that can be “clicked” to start or stop an opera-
change takes place. These are, therefore, relative loca-
tion, or indicate a chosen position.
A mousecan be either a physical or an optical mouse.
A physical mouse has a ball that protrudes from its bot-
tom. When the mouse is moved, friction will cause the ball
to move at a rate proportional to the movement of the
mouse. Inside the mouse, there is a set of potentiometers
that sense the direction and rate of movement of the ball.
These are then converted into electrical signals that are
interpreted by the computer as signifying that the mouse
is in motion.
An optical mouse (see Fig. 4) uses a light emitting
diode (LED), a light sensor, and a special mouse pad
instead of the ball and potentiometers. The mouse pad is
key to the operation of the mouse. It has a reflective
surface and a set of light and dark horizontal and vertical
lines. As the mouse is moved, light from the LED is re-
flected off the mouse pad to the sensor. When a vertical
line is crossed, the reflected light is slightly darkened, and
when a horizontal line is crossed, it is significantly dark-
ened. By sensing these pulses of light, the direction and
rate of movement can be determined.
A mouse is good for gross movement, but is not very
useful for operations that require high precision. Also, FIG. 5. A joystick on table below screen.
698 INTERACTIVE INPUT DEVICES

tors. Joysticks that are not spring-loaded will indicate an


absolute location based on where the rod is positioned.
Joysticks usually indicate only two-dimensional positions
by moving the rod laterally, but there are also three-di-
mensional joysticks in which the third dimension is indi-
cated by rotation of the rod. Like a mouse, a joystick is
good for gross movement, but not precision work.

Picking Devices A pick device is used to choose an


object that appears on the screen, whether it be graphi-
cal, like a line in an architectural drawing, or textual, like
a word or sentence. Lightpens and touch screens are exam-
ples of pick devices.
The name lightpen is a misnomer, since the pen does
not produce light, but rather senses light produced by an
object on the screen (see Fig. 6). All computer monitors FIG. 7. A user at a touch screen. (Photograph courtesy of
use phosphor to display their image. The phosphor is IBM, Inc.)
excited by an electron beam and, as it decays to its normal
state, it produces the light that creates the image. Since along a vertical and horizontal edge of the screen and a
the decay process also causes the light produced to dim, series of light sensors are lined up on the two opposite
an image on the screen is constantly being redrawn edges. When the user touches the screen, one or more
(about 30 to 60 times a second). Each part of the image on lights are blocked in the vertical and horizontal directions.
the screen is, therefore, constantly getting darker until it By checking which lights have been blocked, the computer
flashes bright when refreshed, but this happens so fre- can determine an approximate position. In the second
quently that the human eye cannot sense this change. case, when the user makes contact with the screen, two
When an object or part of an object is refreshed, it films placed over the screen are pushed together. The first
becomes brighter, and it is this brightening that triggers has a conductive surface and the second has a resistive
the lightpen. When this flash of light is sensed by the surface, and when they make contact, there is a change in
lightpen, it sends a signal to the computer. The computer voltage that determines where the touch was made. Touch
can then determine which object was picked by determin- screens appear to be very similar to locating devices. They
ing which was being refreshed when the flash occurred. are, however, of even lower resolution than the worst lo-
The basic idea of a fouch screen is that the user need cating device, and this restricts them to picking functions.
only point at an object onthe screen with a finger to choose Their use is popular in public settings, such as libraries,
it; there is no special device that the user must hold (see where, over the course of time, users do much less damage
Fig. 7). The sensing mechanism of a touch screen is either by merely touching the surface of a CRT screen than they
built into the monitor or placed over the monitor screen. would by pounding on the keys of akeyboard.
Touch screens are based on either beams of light or electri-
cal currents. In the first case, a series of LEDs are placed
Valuator Devices Valuators are used to indicate a
real (non-integral) numeric value over a specific range.
These are implemented as slide and dial potentiometers
that work in the same way as a rheostatic light dimmer.
When the valuator is all the way to the left, it produces
high resistance, when it’s all the way to the right, it pro-
duces low resistance. The resistance is then converted to
a real value over some specified range. For example, the
lowest resistance could represent a value of 5.0 and the
highest a value of 10.0. A resistance value halfway be-
tween these two would then represent a value of 7.5.

Button Devices Buttons are special-purpose func-


tion keys that are frequently attached to a keyboard. For
use with word processors, some of these are marked with
arrows (arrow keys) and are used to move the cursor.
Others can be used to delete or insert a character, word,
sentence, or paragraph. Because the design of computer
keyboards typically includes arrow keys and a set of
function keys, users usually consider them to be an inte-
gral part of the keyboard device, but there is a conceptual
difference. Whereas the conventional keys of the key-
FIG. 6. Alightpen pointing to a picture on a display screen. board produce one ASCII character each time they are
INTERLEAVING 699

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

0 1.0 2.0 3.0 4.0 5.0 Tirne


a (us)

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.)

ing instruction lookahead), for multiple CPUs, and for


block transfers to cache memory (q.v.), it is possible to
INTERLOCK
keep many modules busy simultaneously. Up to 32 inter- For articles on related subjects see CONCURRENT PROGRAM-
leaved modules have been reported. MING; CONTENTION; MEMORY: MAIN; and PETRI NET.

KENNETH C. SMITH AND ADEL S. SEDRA Interlock is a mechanism implemented in hardware or


software that is intended to coordinate activity of two or
more processes within a computing system. This mecha-
nism generally insures that one process has reached a
Reference
suitable state such that the other may proceed. In the
1978. Hamacher, V. C., Vranesic, Z. G., and Zaky, S. G., Computer event that two processes use a common resource (mem-
Organization. New York: McGraw-Hill, 243-245. ory, for instance), interlock will guarantee that only one
INTERNATIONAL FEDERATION OF AUTOMATIC CONTROL (IFAC) 701

Busy A

Request A Connect
resource
toA

on
Interlock Threshold
flip-flop detectors

rd
Connect
Request B resource
toB

Busy B

FIG. 1. A high-speed interlock mechanism for arbitrating between two asynchro-


nous requests for a single resource.

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)

TABLE 1. IFAC National Member Organizations

Argentina Asociacién Argentina de Control Automatico (AADECA)


Australia The Institution of Engineers Australia
Austria Arbeitgemeinschaft fir Automatisierung
Belgium Federation IBRA/BIRA
Brazil Sociedade Brasileira de Automatica (SBA)
Bulgaria The National Council of Automation’
Canada Canadian National Committee for IFAC, National Research Council
Chile Asociation Chilena de Control Automatico (ACCA)
People’s Rep. of China Chinese Association of Automation
Commonwealth of Independent States National Committee on Automation Control
(formerly USSR)
Cuba Centro de Automatizaci6n Industrial
Czechoslovakia Czechoslovak National Committee for IFAC
Denmark Danish Automation Society
Egypt Egyptian High Commission of Automatic Control
Finland The Finnish Society of Automatic Control
France Association Frangaise pour la Cybernétique Economique et Technique (AFCET)
Germany Gesellschaft Mess- und Automatisierungstechnik
Greece Technical Chamber of Greece
Hungary Computer and Automation Institute, Hungarian Academy of Sciences
India The Institution of Engineers (India)
Israel Israel Association of Automatic Control
Italy GNASII-CNR
Japan National Committee of Automatic Control
Dem. People’s Rep. of (North) Korea The Korean General Federation for Science and Technology
Rep. of (South) Korea Korean Association of Automatic Control
Kuwait Kuwait Society of Engineers
Mexico Mexican Association for Automatic Control (Asociacién Mexicana de Control
Automatico-AMCA)
Morocco Association Marocaine pour le Développement de I’'Automatique (A.MA.D.E.I.A.)
Netherlands Koninklijk Instituut van Ingenieurs
Nigeria IEEE Nigeria
Norway Norsk Forening for Automatisering.
Pakistan The Institution of Engineers
Poland Polski Komitet Pomiarow i Automatyki, Naczelna Organizacja Techniczna w Polsce
Portugal APDIO
Romania Comisia de Automatizare
Singapore Instrumentation and Control Society
South Africa South African Council for Automation and Computation
Spain Comité Espanol de la IFAC
Sweden Svenska Kommitten fér IFAC
Switzerland Schweizerische Gesellschaft fiir Automatik
Turkey Tirk Otomatik Kontrol Kurumu
United Kingdom United Kingdom Automation Control Council
U.S.A. American Automatic Control Council
Yugoslavia Yugoslav Committee for Electronics and Automation

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

The presidents of IFAC have been:


INTERNATIONAL FEDERATION
Dr. Harold Chestnut (U.S.), 1957-1959 FOR INFORMATION
Prof. Dr. A. M. Letov (USSR), 1959-1961 PROCESSING (IFIP)
Prof. E. Gerecke (Switzerland), 1961-1963
For articles on related subjects see AMERICAN FEDERATION OF
Prof. J. F. Coales (U.K.), 1963-1966
INFORMATION PROCESSING SOCIETIES; and INTERNATIONAL FEDER-
Dr. P. J. Nowacki (Poland), 1966-1969
ATION OF AUTOMATIC CONTROL.
Dr. V. Broida (France), 1969-1972
Mr. J. C. Lozier (U.S.), 1972-1975
The International Federation for Information Pro-
Mr. U. A. Luoto (Finland), 1975-1978
cessing (IFIP) is a multinational federation of profes-
Prof. Y. Sawaragi (Japan), 1978-1981
sional-technical societies (or groups of such societies)
Prof. T. Vamos (Hungary), 1981-1984
concerned with information processing. In any country,
Prof. M. Thoma (FRG), 1984-1987
only one such society or group—which must be represen-
Acad. B. Tamm (SU), 1987-1990
tative of the national activities in the information process-
Prof. B. D. O. Anderson (Australia), 1990-
ing field—can be admitted as a full member. As of 1
January 1992, 42 national societies were members of the
Organizational Structure IFAC is governed by a federation, as shown in Table 1.
general assembly, consisting of delegates from each na- The aims of IFIP are:
tional member organization, which meets during the tri-
ennial congresses. Between congresses, the federation is 1. To promote information science and technology.
run by a Council, headed by the president, and elected for 2. To advance international cooperation in the field
three years. The day-to-day work of IFAC is administered of information processing.
by the secretariat, whose address is IFAC, Schlossplatz 12, 3. To stimulate research, development, and appli-
A-2361 Laxenburg, Austria. The legal seat of IFAC is in cation of information processing in science and
Zurich, Switzerland. in human activity.
4. To further the dissemination and exchange of
Technical Program The technical activities of IFAC information on information processing.
are carried on primarily by technical committees which 5. To encourage education in information processing.
play a major role in the generation of the technical pro-
gram for the triennial congresses. The initiative for gener-
ating symposia on appropriate topics in their respective IFIP is both a catalyst and a focal point for conceptual and
fields also lies with the technical committees. The list of technological developments that advance the state of the
technical committees is as follows: information processing art, thereby accelerating techni-
cal and scientific progress. It also performs a vital func-
. Applications tion in working toward the maximum dissemination of
. Biomedical Engineering significant information about the digital computer and its
. Components and Instruments applications.
Computers
. Developing Countries How Established The genesis of IFIP took place in
Economic and Management Systems June 1959 at the UNESCO-sponsored First International
. Education - Conference on Information Processing in Paris. As confer-
. Manufacturing Technology ence chairman, Professor Howard H. Aiken (q.v.) stated at
the conference in his closing speech, “The suggestion to
. Mathematics of Control
WONABRKNDPWN
hold this meeting was originated by Mr. Isaac L. Auerbach
. Social Effects of Automation
on behalf of the (U.S.) Joint Computer Committee in the
. Space form of a letter to Professor Pierre Auger, UNESCO. The
. Systems Engineering importance of the subject and of the proposal made was
. Terminology and Standards such that UNESCO acted immediately and this conference
i
©
— . Theory.
NhM
WwW was Called.”
Even before the success of this conference was con-
firmed, it was apparent in the planning sessions that
Conferences and Symposia _ IFAC has had 11 con- future international meetings and other activities were
gresses: in Moscow, 1960; Basel, 1963; London, 1966; War- essential to the worldwide development of information
saw, 1969; Paris, 1972; Cambridge, MA, 1975; Helsinki, sciences. A committee was organized under the leader-
Finland, 1978; Kyoto, Japan, 1981; Budapest, 1989; Mu- ship of Isaac L. Auerbach (U.S.), to draft appropriate
nich, 1987; and Tallinn, Estonia, 1990. Full proceedings of statutes and lay the foundation for future activities. The
the congresses and most of the symposium papers have members of this committee were: J. Carteron, France; S.
been published. Comet, Sweden; A. Panov, USSR; J. G. Santesmases, Spain;
A. Walther, West Germany; A. van Wijngaarden, Nether-
ISAAC L. AUERBACH lands; M. V. Wilkes, U.K.; and H. Yamashita, Japan.
704 = INTERNATIONAL FEDERATION FOR INFORMATION PROCESSING (IFIP)

TABLE 1.

Country Society

Andorra Centre Nacional d’Informatico d’Andorra (CNIA)


Argentina Sociedad Argentina de Informatica
Australia Australian Computer Society
Austria Austrian Computer Society
Belgium FAIB-FBVI
Brazil Sociedade dos Usudrios de Computadores e Equipamentos Subsididrios (GSUCESU)
Bulgaria Bulgarian Academy of Sciences
Canada Canadian Information Processing Society (CIPS)
China, Peoples Rep. of Chinese Institute of Electronics
Commonwealth of Independent States The Computing Centre of the Academy of Sciences
(formerly USSR)
Cuba Academia de Ciencias de Cuba
Czechoslovakia Czechoslovak Committee for IFIP
Denmark Danish Federation for Information Processing (DANFIP)
Egypt Egyptian Computer Society
Finland Finnish Information Processing Association
France Association Francaise pour la Cybernétique Economique et Technique (AFCET)
Germany Gesellschaft fur Informatik (GI)
Greece Greek Computer Society
Hungary John von Neumann Society
India Computer Society of India
Iraq Planning Board/National Computer Centre
Ireland Irish Computer Society
Israel Information Processing Association of Israel (IPA)
Italy Associazione Italiana per il Calcolo Automatico (AICA)
Japan Information Processing Society of Japan
Korea, Rep. of Korea Information Science Society (KISS)
Malaysia Malaysian National Computer Confederation
Netherlands Nederlands Genootschap voor Informatica
Nigeria Computer Association of Nigeria (CAN)
Norway Norwegian Computer Society
Poland Polish Academy of Sciences
Portugal Associacao Portuguesa de Informatica (API)
Singapore Singapore Computer Society
South Africa The Computer Society of South Africa
Spain Federacion Espanola de Sociedades de Informatica (FESI
Sweden Swedish International Federation for Information Processing (SIFIP)
Switzerland Swiss Federation of Information Processing Societies
Syria Syrian Scientific Studies and Research Centre
Tunisia Centre National de I'Informatique
United Kingdom The British Computer Society
U.S.A. Focus on Computing in the United States (FOCUS)
Zimbabwe Computer Society of Zimbabwe

During the First International Conference on Informa- K. Ando Japan) 1983-1986


tion Processing, Paris, in June 1958, representatives of 18 A. W. Goldsworthy (Australia) 1986-1989
national computer societies met to formulate the prelimi- Bl. Sendov (Bulgaria) 1989-1992
nary structure of IFIP. Statutes for the federation were A. Rolstadas (Netherlands) 1992-
reviewed and, in the months that followed, were ratified
by 13 national societies—6 more than the minimum re-
quired. IFIP came into official existence on 1 January 1960. Organizational Structure The supreme authority
The Presidents of IFIP have been the following: of IFIP is the General Assembly, which meets annually. It
is made up of one representative from each of the member
Isaac L. Auerbach (U.S.) 1960-1965 societies; the presidents of two Associate Members, IAG
Ambros P. Speiser (Switzerland) 1965-1968 (IFIP Applied Information Processing Group) and IMIA
A. A. Dorodnicyn (USSR) 1968-1971 (International Medical Informatics Association); the pres-
Heinz Zemanek (Austria) 1971-1974 idents of two Affiliate Members, IAPR (International Asso-
Richard I. Tanaka (U.S.) 1974-1977 ciation for Pattern Recognition) and IASC (International
Pierre A. Bobillier (Switzerland) 1977-1980 Association for Statistical Computing); and three Honor-
INTERNATIONAL FEDERATION FOR INFORMATION PROCESSING (IFIP) 705

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

Interrupt request lines

@ @ @ @

acBentvifenlndiee’ |=| Sa abu.


|lending

Priority pened Encoder


logic + logic

Master Interrupt Interrupt Instruction


interrupt mask cause address PSW
request

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

in floating-point arithmetic or any algorithm that induces References


instability will behave similarly in interval arithmetic.
1951. Dwyer, P. A. Linear Computations. New York: John Wiley &
In these cases, the computed interval results will be so
Sons. (The idea of carrying error bounds along with the un-
wide as to contain only the negative information that derlying computation predates floating-point hardware. In
something is wrong someplace. Because this often hap- Chapter 2 of this book, Dwyer explains the motivations for the
pens when interval arithmetic is applied naively, it has use of interval arithmetic and provides a good introduction to
long been supposed that it is hopeless to do nontrivial the issues raised in approximate computation. Primarily of
calculations in intervals. Nevertheless, good interval historical interest.)
methods have been found for the evaluation of rational 1966. Moore, R. E. Interval Analysis. Englewood Cliffs, N.J.: Pren-
functions, roots of polynomials, solutions of linear and tice-Hall. (This is the standard reference by the individual
non-linear algebraic equations, the algebraic eigenvalue who has been most closely associated with the field for more
than 25 years.)
problem, and the solution of ordinary differential equa-
1988. Moore, R. E. (Ed.). Reliability in Computing: The Role of
tions. Professor U. Kulisch and his colleagues at
Interval Methods in Scientific Computing. (Volume 19 in the
Karlsruhe University have systematized much of this series Perspectives in Computing.) Boston: Academic Press. (A
work by extending the fundamental interval arithmetic collection of topical papers by many of the key contributors
operations to include an inner product (2; x; y; )without to the field.)
intermediate roundings and by using a series of algo-
rithms based on contraction mappings. Many of these FREDERIC N. Ris
interval applications are based on algorithms related to
a posteriori error analyses, in which the initial approx-
imation is computed using a conventional algorithm and
interval methods subsequently ensure that the com-
puted error bounds are themselves not misleadingly
INTERVAL TIMER
optimistic. For articles on related subjects see ACCOUNTING SYSTEM,
Three significant barriers to the use of interval arith- COMPUTER; INTERRUPT; MULTIPROGRAMMING; and OPERATING
metic have been: (1) the difficulty of obtaining directed SYSTEMS.
roundings for interval endpoint computations, (2) the
increased overhead in both computation and storage that An interval timer (sometimes called a real-time clock)
interval arithmetic implies, and (3) the lack of high-level is a mechanism whereby elapsed time can be monitored
language support for interval data types. The first of by a computer system. In most systems, a word in mem-
these has disappeared with the widespread introduction ory is set aside to be used as the interval timer. This word,
of implementations of the IEEE/ANSI binary floating-point usually at the low end of memory, cannot be used for
standard (see COMPUTER ARITHMETIC), which requires pro- anything else, since the computer is wired to increment it
vision of directed rounding modes in addition to the automatically by one interval every millisecond (or other
“round-to-nearest” default mode. Problems of computa- fixed period).
tional and storage drag are becoming significantly less For timing purposes it is useful to have a timer capa-
severe with the advent of very high performance scien- ble of monitoring the execution of a few thousands, or
tific workstations (q.v.). The high-level language problem tens of thousands, of instructions. Hence, in a computer
remains, but user-extensible, object-oriented languages with some instructions requiring only 1 ps, a millisecond
(g.v.) such as C++ may in time provide solutions to timer will be incremented once for every thousand of
overcome this remaining barrier. those instructions, which is about as low a rate as can be
As a diagnostic tool, interval arithmetic can save _tolerated. If the system stores the time of day (say, at
much human effort that might otherwise be spent doing start-up time) in another word, then any program needing
(or accepting the consequences of not doing) error anal- to report the current time of day need only read the start
ysis. It is also useful in laboratory and engineering envi- time and add to it the number of milliseconds in the timer
ronments in which physical measurements subject to to obtain the current time of day.
error are used to compute other quantities. If variation of The timer is useful for reporting the date and time of
the output as a function of the input is critical, interval execution of various parts of a job or for checking the
arithmetic is a natural tool. timing for segments of a routine. In multiprogrammed
Sensitivity of results to input variation can also be systems, care must be taken to maintain interval timings
estimated by the use of various forms of significance with each job. The time of day will be global to all jobs, of
arithmetic, including unnormalized floating-point arith- course, but for timing purposes, the interest is usually in
metic or by repeated computations with perturbed data. time elapsed only while the CPU is assigned to a particu-
While such methods may offer some confidence, none lar job (as opposed to running other jobs or performing
offers complete reliability, and so results obtained from input/output operations for the job in question or other
these styles of computing range from difficult to im- jobs). An interval timer is essential for timing compo-
possible to interpret. By contrast, interval results are nents of multiprogrammed systems, since time may be
very easily understood. When a computation produces allocated to jobs in increments of only a few hundreds (or
narrow intervals, the drudgery of an error analysis is even tens) of milliseconds.
not required to know with certainty what accuracy has
been obtained. CHESTER L. MEEK
712 ‘ITERATION

IOCS. See Input-Output CONTROL SYSTEM.


SUM = 0
15 SUM = SUM + A(I)
by wHikecteih
LF Gite LEe le G0 0) 25
ITERATION
For articles on related subjects see CONTROL STRUCTURES; Calling the subroutine with
NUMERICAL ANALYSIS; PROCEDURE-ORIENTED LANGUAGES; RECUR-
SION; and STRUCTURED PROGRAMMING.
CALL ABC(10)
To iterate means to do repeatedly. In computer pro-
would compute the sum of ten elements.
gramming, iteration is the repeated execution of lines of
code or statements until some condition is satisfied. For
example, ten numbers A(1), A(2), A(3), ..., AC10) can be Control of Iteration DO, FOR, and WHILE state-
summed using the following Basic program: ments may be used to control an iteration. For example,
A Oe 6 the Basic program
20I
30:55 ll 10S =0
40 §S Gi) 20 FOR I = 1 TO 10
50 niles HH
NOrF 30S =S + A(I)
60 uF «Se i)
aea)THEN 40 (1) 40 NEXT I (3)
The statements 40 — 60 are executed repeatedly until I
accomplishes the same effect as program (1).
becomes 11.
In PL/I, the program can be written as
In contrast, the sum could be computed by
S = A(1) + A(2) + AG) + A(4) + AGS) + SUM = 0
A(6) + A(7) + A(8) + (9) + ACA0) (2) DO I = 1 T0 10;
which does not involve iteration. This last statement is SUM = SUM + A(I);
more efficient in the example given, since the sum is END; (4)
obtained with fewer program steps. However, if more
elements are to be summed, then statement (2) must be In Pascal, this same program would be
changed by adding more terms. In the first program, how-
ever, to sum more elements, only the value of L (which SUM := 0;
could be an input quantity) need be changed. Therefore, for!:= 1 to 10 do
when the number of elements to be summed increases, a SUM := SUM + A[I]; (5)
point is eventually reached where the effort to write the
program in form (2) becomes greater than for form (1). In the language APL, the same summation can be written
This illustrates the use of iteration to reduce the effort of as just
the programmer at the price of using more computer time.
At some point, of course, (2) will require more time to
+/A (6)
compile than (1).
All worthwhile computer programs are iterative in
some way. For example, in the time that one can write Here, at the source language level, no iteration appears to
program (2) above, one could perform the actual summa- be involved. However, at the level of the interpretive
tions by hand. Thus, solving a problem by computer is program that evaluates the APL statement, iteration will
occur.
worthwhile only if: (1) the programming effort is small
compared with the amount of computing (which means The iteration may be repeated a number of times,
that some of the program is executed repetitively), or (2) depending upon the values involved. For example, a sum-
the program is applied to a succession of input data mation may be terminated as soon as a zero data value is
encountered, as is done in this Fortran program:
values. Although this last process is less often called
“iteration,” the program is repeatedly executed.
Another advantage of the iterative approach is the SUM ae i0:.
greater ease of generalization. For example, the first pro- DO Sind cm ebes side)
gram could be part of a subroutine, and the control of the Ti CAC Dei EO. Onn), GOmTOn6
iterations could be done by means of a parameter. The SUM ae SUM ae ACL)
following example uses Fortran: 5 CONTINUE
eth %)
SUBROUTINE ABC(L)
Another example is illustrated by a Newton-Raphson
l=1 square root function written in Pascal:
ITERATION 713

function SQROOT (X: REAL): REAL; Countdown


const Register 1
EPSILON =...;
var
ROOT: REAL;
begin {SQROOT} Shift control Not zero}
if X = 0.0 then
SQROOT := 0.0
else Clock pulses
begin
ROOT := X; FIG. 1. Simple example of hardware iteration.
while ABS(ROOT*ROOT — X) >=
EPSILON do
ROOT := (X/ROOT + ROOT)+0.5; same pattern of activities is performed iteratively until all
SQROOT := ROOT components of the vector are accounted for.
end
end {SQROOT}; (8) Iteration versus Recursion A program is recursive
if at least one of its executable statements refers to the
The heart of the while statement computes an im- program itself. For example, in Pascal one may write
proved approximation to the square root. If X = 1.0, no
iterations occur (assuming epsilon is of appropriate size function ABC(X:integer):integer;
relative to the arithmetic precision of the system). Other-
wise, the number of iterations depends both on the value
of X and on the value of epsilon.
Z: = ABC(Y);
Iteration in Numerical Methods Many numer-
ical problems can be solved by iterative techniques.
Here, a succession of values for one or more variables
end;
are computed. It is hoped that the successive values
approach the true values. The iterative process is ter-
minated when some error criterion is satisfied. The That is, the function calls itself. This requires a so-called
square root program (9) above is an example of an STACK mechanism to keep track of parameters, and RETURN
iterative numerical procedure. Although the successive locations for each level of call. Needless to say, other
partial sums of the first example (1) do approach the statements in the program must in some way limit the
final sum, this procedure is not usually called an iterative levels of calling. A frequently used example is the factorial
numerical procedure. Thus, numerical iteration is usually (Wirth, 1976, p. 129):
characterized by the use of successive approximations
and termination depending upon error bounds. function FACTORIAL (X:integer):integer;
if X < 2 then FACTORIAL := 1
else FACTORIAL := X*FACTORIAL(X - 1)
Hardware Iteration The distinction between hard-
end; (10)
ware and software activity is less and less clear as more
complex processors are designed. This is particularly
Although portions of the code (10) are executed repeti-
true in using microprogramming techniques and read-
tively, the control is by reference to the named procedure.
only memories.
Therefore, this example is said to be recursive, and not
In a simple example, a number in a register (Register
iterative.
2 of Fig. 1) may need to be shifted a number of binary
The factorial of N can be computed iteratively:
positions determined by a number stored in a second
register (Register 1). The shift circuits of Register 2 are
repeatedly pulsed until the contents of Register 1 are function FACTORIAL (N:integer):integer;
counted down to zero. Although the activity of the shift var I, T:integer;
circuits are iterative in character, very few logical design- begin
ers would use the term. T:=1;
In more complex processors, the term may be more for 1:= N downto 2 do
appropriate. For example, the summation of the elements T:= T*l;
FACTORIAL := T
of a vector (as discussed above) may be done entirely by
end; (11)
hardware. This involves a complex sequence of events
including: incrementing an address register to access suc-
cessive components; performing a floating-point addi- In the iterative example, the function does not call itself
tion, which itself involves comparing exponents; shifting and, therefore, does not have to save the parameter X
mantissas; and perhaps normalizing results. Thus, the each time it is called, as the recursive function must do.
714 ITERATION

In general, when a straightforward iterative algorithm is References


available, it is both faster and uses less memory than a
1970. Acton, F.S. Numerical Methods That Work. New York: Harper
corresponding recursive algorithm. But when recursion is
& Row.
more natural than iteration (see, for example, Quicksort 1976. Wirth, N. Algorithms + Data Structures = Programs. Engle-
in the article STRUCTURED PROGRAMMING), it is often prefera- wood Cliffs, NJ: Prentice-Hall.
ble to use it.
Harry D. HUSKEY
e

J CL. See COMMAND AND JOB CONTROL LANGUAGE. JOB CONTROL LANGUAGE. see cow.
MAND AND JOB CONTROL LANGUAGE.

JOSEPHSON JUNCTION. see SUPERCON-


JOB DUCTING DEVICES.

For articles on related subjects see ACCOUNTING SYSTEM,


COMPUTER; MULTIPROGRAMMING; OPERATING SYSTEM; PROCESS-
ING MODES; and TASK. JOURNALS, COMPUTING. see LITERA-
TURE OF COMPUTING.
A job is a task or group of tasks to be performed
by a computer. The number of tasks (or steps) per job
is usually a preference of the programmer, but is also
JOYSTICK. See interactive INPUT DEVICES.
subject to the conventions of the operating system. For
example, many empty temporary files supplied by the
operating system are automatically closed and released
at the end of a job. If a programmer wishes to use one
J UMP. See MACHINE AND ASSEMBLY LANGUAGE PROGRAM-
of these temporary files to store some intermediate
MING.
information between two steps, then the two steps must
be contained within the same job. On the other hand,
if the programmer uses a permanent file, then there
may be a step that creates the file in one job and a JUSTIFICATION
step that reads it in another job. In a batch-processing
For articles on related subjects see DESKTOP PUBLISHING;
environment, where jobs are run one at a time, the
TEXT EDITING SYSTEMS; and WORD PROCESSING.
programmer needs only to insure that the job that reads
the file is submitted to be run after the job that creates In the context of programming, justification refers to
it. But in a multiprogrammed environment, where several the left or right alignment of a piece of data, typically a bit
jobs are run concurrently, there is need to insure that or character string, in a field that is assumed to be larger
the jobs are executed in sequence. To accomplish this (ie. greater in length) than the data. Thus, right justifying
automatically, many multiprogramming operating sys- a bit string of length 2 in an 8-bit byte means that the
tems allow job sequencing, which allows the programmer rightmost of the two data bits is placed in the rightmost
to specify that a job cannot be selected for execution position of the byte. Remaining positions in the field are
until its predecessor has been completed. usually occupied by as many copies as needed of a spec-
A job is also the smallest accounting unit on most ified or assumed fill character. These non-data characters
machines. That is, computer resources are normally or bits pad the data on the left if the data is right-justified,
charged against one account number per job. or on the right if the data is left-justified.
In the context of text processing, justification per-
CHESTER L. MEEK tains to left- and/or right-margin alignment. Convention-

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

99 00, 01 02 03 04 05 06 O7 O08, 09 10 Weel2 Als 147 15 16 72 18

aie nese ie ee MN] |


| SPOBOOOOOEOWIOE | || | |
| PMEBOUUECEOLO | GEG |
| DUOOEOHOWUDOO GUE) |
DOB WOMEWWOOBO | WAG)
pNieapence ceases” lI sn| LoSeles
2 |e i] ot a a a
FIG. 1. The keyboard layout depicted is the ECMA-23 Standard (2nd Ed.) for predominantly
numeric data. It comprises an alphanumeric area and, in addition, a numeric area consisting
of
shift-free keys. Only the alphanumeric area 48-key layout corresponds with the IS 2530 standard;
the numeric area layout is discussed solely in the ECMA-23 standard. In both standards, the 47-key
layout of the alphanumeric keyboard is derived by transmitting the UNDERLINE character from the
shifted position of key E00 to the shifted position of key E10. Several allowable modifications to
these layouts are discussed in detail in both standards. (The three blank single keys—B99, C00, and
B11—do not count; the blank keybar is assigned to the SPACE character, which is regarded as a
non-printing graphic.)
KNOWLEDGE REPRESENTATION 719

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

One of the first, KRL, Bobrow and Winograd, 1977), was


also one of the more complex. In KRL an individual can
have several associated units representing different views
of it, and slots contain complex expressions defining map-
pings between them, such as the following definition of
the admission slot of a CinemaTicketHolder unit, where
PersonThisOne refers to the Person view of the unit itself:
FIG. 1.
<admission ((XOR Junior Senior General)
(using (the age from Person ThisOne) selectFrom
(which isLessThan 13) ~ Junior
(which isGreaterThan 65) ~ Senior
otherwise General))>

KRL was consciously designed to be like a programming


language’, but other unit-based languages such as CYCL
(Lenat and Guha, 1990), use logic as the slot language.
The third main idea in representational formalisms is
a semantic network.
The edges of a directed graph represent two-place
relations holding between individuals labeling the nodes.
Semantic networks usually come with a particular set of timeOf
conventions on how certain kinds of nodes or arcs are to
be used, amounting to a syntax for a network language. A
common device is the use of is-a arcs to express general FIG. 2.
statements of a type hierarchy of the kind described
above, which was first developed in network languages that it can represent the scope of a quantifier). Moreover,
(see Fig. 1). Any link attached to a type represents some- these ways of organizing the information suggest alter-
thing true of all instances of that type, and can be inher- native strategies (e.g. analogical reasoning by partial
ited back along an is-a link. These instantiation links can
matching of units, or the use of graph-search algorithms
form hierarchies of more and more general types, allow- to seek connections between different topics in a se
ing a limited form of universal quantification. mantic network).°
Both units and networks can express only one- and In addition, some common inferences fall outside
two-argument predicates naturally, but more complex as- the scope of FOPC, notably the use of the is-a hierarchy
sertions can be encoded with some ingenuity. For exam- to express defaults. The usual convention is that a link
ple, the use of a three-place predicate, such as Meeting to a lower node in the hierarchy blocks the inheritance
(Bill, Harry, 5pm), can be replaced by a unit or node of properties from above, so that the inheritance is
representing the event itself with slots or binary links to only “by default.” Thus, we might attach a network
the arguments (see Fig. 2). The use of case markers in meaning “ has legs” to the Mammal-type node, allowing
natural language parsing is a similar device. Whale is-a Mammal while also consistently asserting
While networks and frame systems are intuitively that the whale is legless. This kind of nonmonotonic
appealing, the basic assertions they make can usually inference is not consistent in FOPC, although logics have
be translated fairly directly into subsets of FOPC’ so been extended to allow this and other more complex
they can be regarded as attempts to locate a reasonable nonmonotonic inferences (Schank and Reiger, 1974).
compromise between expressiveness and efficiency. Inheritance hierarchies can become intricate if, for ex-
However, most frame and network systems provide other ample, exceptions to exceptions are allowed, and it is
mechanisms (Findler, 1979), and languages as complex not always clear what the “correct” result should be.
as KRL or the more sophisticated network languages Since is-a hierarchies are often thought of as defining
can encode all of FOPC (e.g. by encoding expressions the meanings of the terms in the language, this issue
as terms or by extending the graphical notation by has received a lot of attention.
allowing a subgraph to be treated like a single node so
Semantics and Meaning One must be careful in
interpreting formal expressions. For example, the two
Horn clauses shown earlier have the rather surprising
3Qbject-oriented programming (q.v.) languages are based on this consequence
idea of hierarchies of units with named slots, which are thought
of now as senders and recipients of messages corresponding to IsBabyOf(x,me) implies Equal(x,me)
the values bound to variables during a matching process.

4Simple networks, for example, can be defined as a restriction on


logical syntax to the use of only binary or unary predicates and 5In fact, these graphical representations have their historical
clauses of the forms: A(a), B(a,b), AGd) implies B(x) and A(x) roots in simpler graphs where adjacency modeled word associa-
implies R(x,y). tion.
722 KNOWLEDGE REPRESENTATION

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).

Believes(Joan, (Forall x)(Friend(x,Harry) Open Problems and Research Issues While


implies Fool(x)) ) some topics, such as the semantics of nonmonotonic
logic, are now quite well understood, many classical prob-
where one argument of the believes relation is a whole lems are still not fully solved—e.g. the frame problem was
logical assertion. A similar technique can be used in net- first noted in 1963, but is still the subject of active re-
work and unit-based formalisms. Such expressions go search (Hayes and Ford, 1992).
beyond FOPC and have been studied in depth in philo- Probably the most important new issue is that of
sophical logic. -scale. Much of the earlier work in knowledge representa-
There are problems in properly interpreting expres- tion was motivated by very simple examples and do-
sions of the form mains, such as the “blocks world,” and even commercial
applications were of limited size. But more recently the
(Forall x)(Believes(a,....x....) ). accelerated progress in computing power and especially
memory size and communication bandwidth (g.v.) have
made it possible to plan very large knowledge bases
containing tens or even hundreds of thousands of facts.
putOn WearingEvent There are usually many ways in which some facts or
processes can be represented in a formalism, and while
the resulting decisions are often somewhat arbitrary,
they have important consequences. One response to this
is to rejoice in the freedom it gives. But if one is striving
for generality, this freedom can be embarrassing. Those
who attempt to make large-scale knowledge bases often
find it hard to maintain a consistent framework, espe-
cially when many people contribute to the knowledge
base.
Similarly, those who attempt to merge or intercon-
FIG. 4. nect different knowledge bases often find incompatibili-
724 KNOWLEDGE REPRESENTATION

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-

Data for Program P

Machine Language for MV Hardware Interpreter


Compiler
of Computer MV

Results

Data for Program P

Intermediate Language Interpreter Which Runs


Compiler on Computer M

Results

Interpreter Which Runs


on Computer M4

Results
(<)

FIG. 1. Three possibilities in compilation and interpretation. (a) Pure


compilation (hardware interpreter) (b) Mixed compilation and interpre-
tation (interpretation of intermediate language) (c) Pure interpretation
(interpretation of source language)
LANGUAGE PROCESSORS 729

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

Improved parsed text


Symbol table
Symbol attributes

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

References fully functional machines in a small-suitcase-sized pack-


age.
1960. Bar-Hillel, Y. “The Present Status of Automatic Translation
The enabling technologies for the laptop computer,
of Languages,” Advances in Computers 1: 91-163.
1966. ALPAC. Language and Machines: Computers in Translation the most prevalent type of portable computer, include
and Linguistics. A report by the Automatic Language Process- flat-panel displays, electronic and mechanical compo-
ing Advisory Committee. Washington, D.C.: National Academy nents that use very little power, and long-life, rechargeable
of Sciences. batteries. Compact, sometimes detachable keyboards are
1970. Wood, W. “Transition Network Grammars for Natural Lan- a frequent addition to this list of essential components.
guage Analysis,” Communication of the ACM 13: 591-606.
1984. Kay, M. “Functional Unification Grammar: A Formalism for Evolution of Portable Computers The first por-
Machine Translation” in Coling 84, Stanford, CA: Stanford Uni- table computers weighed 28-33 pounds and were pack-
versity, 75-78.
aged in a ruggedized case very similar to the housings
1986. Hutchins, W. J. Machine Translation: Past, Present, Future.
Chichester: Ellis Horwood, New York: Halsted Press.
used for their desktop counterparts. This modified case
1988. Hutchins, W. J. “Recent Developments in Machine Transla- provided a handle for carrying the machine, and fre-
tion: A Review of the Last Five Years. In New Directions in quently used a detachable keyboard that doubled as a
Machine Translation, D. Maxwell et al. (Ed.) Dordrecht: Foris), cover for the display and front panel area. The Osborne 1
7-62. Portable, the first portable computer, was introduced in
1988. Lehrberger, J. and Bourbeau, L. Machine Translation: Lin- 1981. It used a standard cathode ray tube (CRT) screen
guistic Characteristics of MT Systems and General Methodology that measured a scant 5 diagonal inches—a screen very
of Evaluation. Amsterdam: Benjamins. similar to that of an oscilloscope. This small screen,
1988. Slocum, J. (Ed.) Machine Translation Systems. Cambridge:
which displayed only 40 characters by 15 lines, was diffi-
Cambridge University Press.
cult to read. The machine came with dual! built-in floppy
1988. Vasconcellos, M. (Ed.) Technology as Translation Strategy.
Binghamton, NY: State University of New York. disk drives and a detachable keyboard. It required AC
1992. Hutchins, W. J. and Somers, H. L. An Introduction to power, and used CP/M, the standard operating system of
MachineTranslation. London: Academic Press. the day.
That same year, Epson America introduced the first
W. JOHN HUTCHINS laptop computer. The HX-20 used a 20-character by 4line
liquid crystal matrix flat-panel display (LCD). The com-

LANGUAGES, NATURAL. See Naturat Lan.


GUAGE PROCESSING.

LANGUAGES, PROGRAMMING. see


PROCEDURE-ORIENTED LANGUAGES; and PROGRAMMING LAN-
GUAGES.

LAPTOP COMPUTER
For an article on a related subject see PERSONAL COMPUTING.

Laptop computers comprise one subset of the genre of


personal computers known as “portable computers.” A
portable computer is small in size, light enough to be
carried from place to place with relative ease, and usually
can be operated by an internal battery. Although many
portables do not need a separate source of electrical
power, they can use one when available. Running a porta-
ble on AC power can recharge the battery as well as power
the computer.
Portable computers can be classified as being either
hand-held, or palmtop, computers, laptop, or notebook,
computers, or luggable computers. Hand-held computers
resemble pocket calculators, but possess some of the
functionality of a computer (i.e. the ability to run pro-
grams). Laptop (notebook) computers offer complete
FIG. 1. ZEOS International's Notebook 286. It weighs less than
personal computer functionality in a size convenient for 7 pounds and has 1 megabyte of memory, a 20-megabyte hard
holding on a person’s lap. Luggable computers furnish disk drive, and a 1.44-megabyte floppy disk drive.
LATENCY 739

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.

Enabling Technologies One of the most import-


ant of the enabling technologies for laptop computers LATENCY
resulted from improvements in semiconductor fabrica-
tion. A fabrication technique called complementary For articles on related subject see ACCESS TIME; CYLINDER;
metal-oxide semiconductor (CMOS) allowed the building Direct ACCESS; FLopry Disk; HARD Disk; and MEMORY: AUXIL-
of integrated circuit (IC) components that required very IARY.
small amounts of electrical power and produced negligi-
ble amounts of heat. CMOS-based microprocessors, mem- Latency is the rotational delay in reading or writing a
ory chips, and other circuits along with design record to a direct-access auxiliary memory device such
innovations like surface mounting of ICs let laptop manu- as disk or drum (see Fig. 1). Maximum latency is the time
facturers pack more computing power into a smaller for an entire revolution of the recording surface. A pro-
space. Furthermore, CMOS components drew small gram suffers maximum latency—generally undesirable
enough quantities of electricity that they could be pow- from an efficiency standpoint—if it requests a record
ered by a battery for extended periods of time. whose starting point has just passed under the read/write
Another key component of laptop computers—the heads. Minimum latency is zero delay, by definition. Aver-
flat-panel display—evolved rapidly in the 1980s due to age latency is half the maximum.
heavy research and development by the Japanese. LCD Newer direct-access devices often have a rotational
740 LEAST-SQUARES APPROXIMATION

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.

LEAST-SQUARES Mathematical Theory The purely mathematical,


real, discrete, linear, least-squares approximation prob-
APPROXIMATION lem, which we will refer to as problem LS, is to find an
For articles on related subjects see APPROXIMATION THEORY; n-vector € such that ||b — A ||= min ||b — Ac ||,where the
CHEBYSHEV APPROXIMATION; and NUMERICAL ANALYSIS. norm of a vector vy, ||v ||,is defined as the square root of
the sum of the squares of the components of v. A solution
Least-squares approximation refers to a wide variety for this problem always exists. It is unique if and only if
of mathematical optimization problems in which the ob- the rank of A is n.
jective is to make a residual vector small in the sense of A vector € is a solution vector for problem LS if and
minimizing the sum of squares of its elements or to make only if the associated residual vector, F= b — AG, is
LEGAL APPLICATIONS OF COMPUTERS 741

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

where Q is an m X m orthogonal matrix and Ris ann Xn


& = (477, — 660)”
upper triangular matrix. The orthogonality of Q assures
with a residual vector ¥F = b— Ac = [0.0010, — -
that
0.0010, 0.0010}’
and residual norm ||r|| = 0.0017.
|b — Ac |? = ||Q(b — Ac)? By either singular-value analysis or Levenberg-

-|[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).

Contract Because copies of software are ordinarily


transferred to others in the course of business and some-
times transferred in source form, disclosure of the soft-
ware is frequently made under an agreement to keep the
secret confidential. Patented and copyrighted software
can be transferred via contracts that may have more
restrictive provisions than the law requires simply by the
status accorded by the patent or copyright. One may, for
example, contract with another not to disclose a copy-
righted piece of software. One may also agree to remedies
for disclosure or unauthorized copy, set up complex for-
mulas for royalty payment for legitimate use, and agree to
the ownership of enhancements and changes to the soft-
ware.

Reference

1982. Nycum, S. H. Protection of Proprietary Interests in Software.


Reston, VA: Reston Publishing Company. FIG. 1. Gottfried Wilhelm von Leibniz, from a painting by A.
Scheits. (Photograph by courtesy of the Herzog Anton Ulrich-
SUSAN S. NYCUM Museum.)
750 LIBRARY AUTOMATION

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

00515] n|a|m| ww] 2] 2] 00145 |#s¥4500 |001001300000 |008004100013 050001800054 ¢


0 24 36 48

082001600072 100002300088 | 245006300111} 260006100174 300003900235


60 72 84 96 108

LC Card Number Fixed Fields


500003700274 |65000590031 1|F|64675010118 |4]F|700319] s|1969] wwwe |xx¥] dus 8
1 20 132 145 13
: LC Card Number DDC Number

| we] oo]Oo]bers[6] [08] sant09560


csvsa[r|ws] Ss0382/772001F
54 72

Main Entry Title


|10] SaSugarman, bStephen. [F|10] $aPetroleumbindustryBhandbook.Sc Editedbbyb
88 111

Imprint

StephentSugarman. |F|
06|San.p.| SbPublished Bby¥J.bM. bWeinertbforKD. BH. bBlair
174

Collation General Note

[sci1969) |F]66] Saxxi,6794bp.Sbillus,bmaps.$c29Bem. |F|wo Sa" Forblimitedd

235 274
Subject Heading

distributionbonly.” #| wo| $aPetroleumbindustrybandbtradeSx Handbooks, ;

311

ttmanuals, betc. IR

# = blank F = field terminator R = record terminator

FIG. 1. Sample record in the MARC format.

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

1988. The Linked System Project: A Networking Tool for Libraries.


whose value is known relative to the value of a
Fenley, Judith G. and Wiggins, Beacher (Eds.). Dublin, OH:
specified location counter at the start of the seg-
OCLC Online Computer Library Center.
ment.
1989. Crawford, Walt. MARC for Library Use; Understanding Inte-
grated USMARC, 2nd Ed. Boston: G. K. Hall. 3. External references, whose value cannot be de-
termined until all segments are present.
JOHN GRAVES, ANDREW LISOWSK!I AND JENNIFER MARILL
The complete output of the compiler will therefore typi-
cally consist of:
LIBRARY, PROGRAM. see Maruemarica Sort.
WARE; and SOFTWARE LIBRARIES. 1. A “code” block consisting of binary words tagged
to show their absolute, relative, or external char-
acter, and, in the case of relative items, the ap-
propriate location counter.
LIFO. See FiFo-Liro. 2. A table of external references, containing for
each reference the (relative) address in the code
section at which it occurs and its symbolic form.
3. A table of external (global) symbol definitions,
LIGHTPEN. See Interactive Input DEVICES. containing the name and (relative) value of each
symbol globally defined in the segment.
,

The linker operates in a number of passes. The first pass


LINE EDITOR. see Text EDITING SYSTEMS. determines which segments are missing, by comparing
the external reference tables with the global definition
tables. If there are “missing” segments, the directories of
specified library files are scanned. If the relevant names
LINEAR PROGRAMMING. See Maruemar- are found, the corresponding segments are added to the
ICAL PROGRAMMING; and SIMPLEX METHOD. program. Pass 2 scans the segment headers and com-
putes the sizes of the blocks corresponding to the various
location counters. This information is placed in a header
block for the use of the loader. Pass 3 performs relocation
LIN G UISTICS » See PROGRAMMING LINGUISTICS.
of all subsequent segments relative to the first segment so
as to produce a relocatable program based on a single set
of origins.
The process is simple: The location counters are all
LINKED LIST. See List Processine. set to zero at the start of the first segment. Their values
at the start of segment n, together with the information in
that segment’s header block, determine their values at
the start of segment n + 1. During this pass, the entries in
LINKER the global symbol definition tables and in the external
For articles on related subjects see ASSEMBLER; LOADER; and reference tables are relocated relative to the origin of the
OBJECT CODE. first segment, and the entries from the tables associated
with each segment are merged to give a single global
The function of the linker (sometimes called the con- symbol table and a single table of external references.
solidator or composer or collector) is to combine into a Finally, these two tables are used to fill in all the unre-
single module a number of program segments that have solved external references, and the end result is a single
been independently compiled or assembled. Some of the module of relocatable binary.
segments may be held in a library (on disk or tape), and The operation of linking is commonly done as a disk-
the linkage editor will normally provide facilities for the to-disk operation, using temporary work files as neces-
automatic incorporation of any library segments that sary. It is evident that it is a trivial extra complication to
have been referenced. The output of the linker is usually perform the final relocation at the same time, thus pro-
a relocatable binary program suitable for loading by a ducing an executable binary module. Such a system is
relocating loader. called a linking loader.
If a section of program has been independently com-
piled, there will be three kinds of items in the compiler References
output: 1972. Barron, D. W. Assemblers and Loaders, 2nd Ed. New York:
American Elsevier.
1. Constants (absolute items whose value does not 1972. Presser I., and White, J. R. “Linkers and Loaders,” Computing
depend on the ultimate position of the segment Surveys 4: 149-168.
in memory).
2. Items (usually addresses or address constants) DAVID W. BARRON
754 LIST PROCESSING

ments is explicit. The linked list occupies a point in this


LISP. See List PROCESSING: LANGUAGES.
spectrum somewhere between the array and the struc-
ture: it is the simplest compound data object that has an
explicit relationship among its elements. Hereinafter, by
list we shall mean linked list.
LIST PROCESSING
For articles on related subjects see ABSTRACT DATA TYPE; List Basics The basic element of any list is the node. In
ARTIFICIAL INTELLIGENCE; COMPUTER ALGEBRA; DATA STRUCTURES; its commonest form (also called a pair), a node has two
DATA TYPE; FUNCTIONAL PROGRAMMING; GARBAGE COLLECTION; fields. Each field can contain another data object: a num-
GRAPH THEORY; LAMBDA CALCULUS; POINTER; STORAGE ALLOCA- ber, a symbol, or even another node. (Since arbitrary data
TION; STRING PROCESSING; SYMBOL MANIPULATION; and TREE. may not fit ina field, the field will actually contain a pointer
to the object instead of the object itself.) A program can
manipulate the node as a single object, and it can extract
PRINCIPLES the contents of either field. Arbitrarily complex structures
The two elements of acomputer program are the computa- can be built from these simple building blocks.
tions (the actions we want done) and the data (the things A list is a simple sequence of nodes, with a list ele-
we want the actions done upon). The computations are ment in the first field of each node (variously called the
defined using expressions in a computer language, com- head, first, car, etc.) and a pointer to the next node in the
bined to form procedures, which are in turn combined to second field (next, rest, cdr, link, etc.). For example, the list
form compound procedures and eventually programs. The of three numbers, 5, 8, 9, could be represented by three
ability to combine simple expressions into procedures is nodes. The first node has a pointer to a 5 in its head and
the key to using computer programs to model processes in a link to the second; the second has a pointer to an 8 and
the real world. Data are defined in asimilar way: compound a link to the third; the third has a pointer toa 9 andits next
data objects are built from simple parts, like numbers, and field is empty.
combined to represent real-world objects that have com-
plex properties. Compound procedures and compound
data are used for the same purposes: to improve the modu-
larity of the program and to raise the conceptual level of its
design. One of the simplest and most widespread form of
compound datais the linked list.
Any data object that contains other objects is a com- Two issues arise in this kind of list manipulation.
pound data object. On one end of the spectrum is the First, while insertion and deletion are easier for a list than
homogeneous array, a collection of objects, all of the same for an array, there’s a catch: the pointer to the list points
type, with an implicit relationship defined by the indices only to the first element, and all the intermediate links
of the elements of the array. Further along the spectrum must be followed to reach a particular element. So the
in complexity is the structure, a collection of data objects, trade-off is that access is slower. Sometimes that doesn’t
not necessarily all of the same type, into a single unit matter—rarely does one need to access the middle ele-
whose representation is hidden. (A Pascal record is such ments of a stack or queue implemented as a list—but
a structure.) Typically, one can access the elements of a sometimes it does, and the choice of structure must de-
structure by name, but has no idea how those elements pend on the application.
are stored. At the extreme end of the spectrum is the sort Second, what happens to those nodes that are de-
of object implied by the phrase object-oriented program- leted, and where do new nodes come from? These ques-
ming (q.v.), an object also called an abstract data type tions are related, in that new nodes are taken from free
(q.v.). These objects are also collections of data objects storage, (also called the heap, or the list of available space)
whose representation is hidden, but they go farther in and deleted nodes must be returned to free storage or it
that all access to the elements of an object is through will run out. The process of making new nodes is part of
operations defined by the program. In all these compound storage allocation, and the process of reclaiming unused
objects, except arrays, the relationship between the ele- nodes is called garbage collection.

(56 B 9)

(A B 9)

FIG. 1. Sharing parts of a list.


LISTPROCESSING 755

(111108) node’s head—the name is historical), and cdr (to examine


its link) are basic to Lisp, because of its origin as a list-pro-
cessing language. However, any language in which one can
build anode, access its fields, and link nodes with pointers
can be used for list processing. Examples are Pascal, C
(q.v.), Ada (q.v.), Modula-2 (qg.v.), and Snobol-4. Languages
that contain list processing operations as primitive (inte-
gral) parts of the language are covered under “LANGUAGES,”
FIG. 2. Acircular list of 1s. the second part of this article.
Since the relationship between elements of a list, rep-
resented by separate nodes, is explicit, it is very easy to
Since list nodes contain pointers that can point to insert and delete elements (see Fig. 3). Given the list of 5, 8,
any data object, the possibility exists that more than one 9, from above, it is simple to insert the number 6 in order:
node might point to the same object. When this happens, make a node containing 6 as its head with its link pointing
multiple lists can share parts of themselves, with the to the node containing 8, and then change the first node’s
obvious consequences: identical data is not duplicated, link to point to the new node. The corresponding insertion
and if part of the shared data is changed as part of for a one-dimensional array would require moving the 8
operating on one list, all the sharing lists see the changes and 9 up one element and writing the 6 in the emptied
(see Fig. 1). Whether these are advantages or disadvan- location. Similarly, deleting an element from a list simply
tages depends on the application: some programs might involves changing a link to one node to point to the next
use the common data to communicate bétween parts of node, and splicing out the deleted node. The correspond-
the program, while others might have problems with data ing array deletion again requires copying. This principle
mysteriously changing for no apparent reason. can be extended to more than one connected node; thus,
Similarly, a list may be circular, sharing structure with entire lists may be spliced in and out and combined.
itself: a node somewhere in the list may contain a pointer Note that the key-value association of a property list
to anode elsewhere in the list. The single node containing lies in its use, not in a particular arrangement of nodes
al anda pointer to itself (Fig. 2) is such a list, and in some and pointers. A property list is simply a list whose ele-
contexts behaves like an infinite list of 1’s—the first ele- ments are interpreted in a particular way, and whose
ment is a 1, and so is the “second” (found by following the purpose is to serve as a table pairing keys and values. A
link), the “third,” etc. different kind of list, the association list, can perform the
same function with a different structure. An association
Data Abstraction with Lists This kind of power list is a list of pairs; each pair contains a key and its
makes lists ideal for implementing all sorts of data struc- associated value (remember that a node field, even the
tures. One simple structure is the property list, so called usual link field, can contain any data object). To look up
because it associates keys, called properties, with values. the value for a given key, one looks at each pair in the list,
A property list is simply a list of alternating properties comparing the pair’s key with the desired key. When a
and values. Order is not important: to look up the value match is found, the value is the other field of the pair.
for a given property, one looks at the first, third, fifth, etc., Both property lists and association lists can be used
element of the list, and when a match is found, the very as tables, and there is no real advantage in choosing one
next list element is the value. New associations are over the other. The important idea is that they can be
formed by attaching the new key and value to the front of used to implement the “table” concept, and if the lookup
the list. ‘procedures are written well, programs that use them will
The simplicity of lists gives them their power and not need to know what kind of structure lies beneath the
flexibility. Complicated nested objects can be built, and table. Indeed, some versions of “table” may change inter-
these can be manipulated as a single, compound object. nal representation from lists to trees to hash tables as the
While some languages provide lists as a basic data struc- table grows.
ture, and are therefore called list-processing languages, any The explicit sequencing of lists can be used to imple-
language that provides pointers and simple structures can ment sparse arrays, arrays in which the majority of the
be used to build lists. For example, the operations cons (to elements are zero. If the array is large, substantial space
build a node—short for construct), car (to examine a can be saved if the zeroes can be omitted. Using lists,

FIG. 3. Insertion in a list and a one-dimensional array.


756 LIST PROCESSING

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.

SEE DOG NIL


The Lisp Language

Data The best way to gain a good understanding of list


processing is to describe a typical list processing lan-
guage in considerable detail. Lisp (short for LISt Process-
ing) is the most popular of such languages. Lisp was
THE BIG NIL
developed by John McCarthy and his associates at M.L.T.
during the late 1950s and early 1960s. Many details will be
FIG. 1. Asimple list in Fortran and Lisp. omitted.
758 — LIST PROCESSING

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

31. Insertion sort. This is the standard insertion


sort algorithm. Assumes a sentinel at a[0].
for i:=2 to Ndo
for i:=2 to N do begin
begin v:=a[i];j:=i; v:=a{ij; j=
while a[j—1]>v do (Insert v in the array. 32)
begin a[j]:=a[j—1);j:=j—1 end; end
a[j]:=v 32. (Insert v in the array. 32)=
while a[j — 1] > v do
begin a[j] := a[j — 1];7:=j — 1 end;
a[j] := v;
Used in section 31.

Generated code. Typeset program.


Excluding automatically generated
table of contents, index etc.

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

You might also like