64
ENGINEERING CORNELL QUARTERLY M S. -fl» es r r- F1 i -i BiybBraa* 1 3'fe . jca TWENTY YEARS COMPUTER SCIENCE

ENGINEERING - CS@Cornell

Embed Size (px)

Citation preview

ENGINEERINGCORNELL QUARTERLY

MS. -fl» es

r r-

F 1 i • -i

BiybBraa*1

3'fe . jca

TWENTY YEARS

COMPUTER SCIENCE

IN THIS ISSUETwenty Years of Computer Science at Cornell / 2

David Grles

Immediate Computation or How to Keep a Personal Computer

Busy/12

Tim Teitelbaum and Thomas Reps

Reaching Agreement: A Fundamental Task Even in Distributed

Computer Systems / 18

Fred B. Schneider, Ozalp Babaoglu, Kenneth P. Birman, and Sam Toueg

Programming Methodology: Making a Science Out of an Art / 23

David Gries and Fred B. Schneider

Robotics and Computer Science / 28

Dean B. Krafft

Computer Architecture: The Software-Hardware Interface / 34

Jon A. Solworth

Setting an Example: Administrative Computing in Cornell's

Department of Computer Science / 41

Diane Duke and Michele Fish

Vantage / 44

Faculty Publications / 50

Editorial / 60

Register / 46

Letters / 58

Engineering: Cornell Quarterly (ISSN 0013-7871), Vol. 20, No. 2, Autumn 1985.Published four times a year, in summer, autumn, winter, and spring, by the College of Engineering,Cornell University, Campus Road, Ithaca, New York 14853. Second-class postage paid at Ithaca,New York, and additional offices. Subscription rate: $6.00 per year; $9.00 outside the United States.

Outside cover illustrations from Cornell research in computer science (clockwise from upperleft): a small section of a computer image representing a VLSI design, part of a project incomputer architecture; solid-model imaging—a gate valve assembly with blending surfacesshown in blue; a demonstration of computer-controlled robot assembly; an outer corridor ofCornell's projected performing arts center, as modeled by a researcher in the Program ofComputer Graphics; a simple example of solid modeling with a blending surface.

Opposite: The terminal room in Upson Hall for graduate research. An addition to thebuilding will provide less crowded facilities.

Gries

TWENTY YEARS OFCOMPUTER SCIENCE AT CORNELL

by David GriesTwenty years ago Cornell became oneof the first universities in the nation tocreate a computer science department.The initiative was unusual in severalways. It was helped by a grant from theSloan Foundation. It was establishedinitially as a graduate research programin order to begin educating the Ph.D.swho would populate the expected newdepartments in the new discipline. Andbecause of the interdisciplinary natureof the field, the department was placedwhere it still is today, in both theCollege of Engineering and the Collegeof Arts and Sciences.

In his first annual report the firstchairman, Juris Hartmanis, wrote:

The major goal of this department is tobecome a Distinguished Department ofComputer Science. We sincerely believethat computer science is a major newscience, with an extensively broad rangeof influence, and that Cornell mustexcel in this area.

Twenty years later, we believe we aremeeting that goal.

The most common way to measuresuch things is by peer rankings: in the

1982 survey conducted by the Con-ference Board of Associated ResearchCouncils, Computer Science at Cornellplaced fifth in faculty quality out of allthe Ph.D.-granting departments—manyconsiderably larger than ours—in theUnited States.

Another criterion is the effectivenessof the educational program: over theyears, our department has produced 110Ph.D.s, most of whom hold positionsin academic institutions or industrialresearch laboratories. In research thedepartment's program has expanded toinclude many areas of theoretical andexperimental computer science, andresearch expenditures have increasedmore than three-fold in the last fiveyears (see Figure 1).

These numbers do not, of course, tellthe whole story. Priorities have beenestablished and challenges met. Buildingan outstanding faculty and researchprogram, developing courses and edu-cational programs, acquiring facilitiesand keeping them up-to-date, andmanaging, somehow, to make room foran expanding operation are continuinggoals.

)f D

olla

rslio

ns (

Mil

2.5

2.0

1.5

1.0

0.5

-

-

1979-80 1984-85Academic Year

Figure I. Annual expenditures for researchin computer science at Cornell over the lastsix years. The graph shows the rise from$0.6 million to $2.1 million. The figures for1984-85 do not include the donation by theXerox Corporation of thirty workstations,related equipment, and maintenance service.

STARTING FROM SCRATCHIN BUILDING A FACULTYThe main faculty instigators at Cornellfor establishing the Department ofComputer Science were Dick Conwayof the operations research faculty and 2

Richard W. Conway

Patrick C. Fischer

Juris HartmanisChristopher Pottle

Gerard SaltonSidney Saltzman

Table I.FACULTY IN 1965

Appointed jointly in operations research; now in the JohnsonGraduate School of ManagementNow chairman of the computer science department atVanderbilt University

Appointed jointly in electrical engineering; now fully in thatschool

Appointed jointly in operations research; now in theDepartment of City and Regional Planning

Robert J. Walker Appointed jointly in mathematics; now professor, emeritus

Bob Walker of the mathematics depart-ment; both initially had joint appoint-ments in the new department. (Bobretired in 1974 from the mathematicsfaculty. Dick played a major role in thecomputer science department until justlast year, when he moved to theJohnson Graduate School of Manage-ment at Cornell.)

In its first year, 1965-66, ComputerScience had a faculty of seven (listed inTable I). Remarkably, five of the sevenare still at Cornell, although only twoare still with the department: JurisHartmanis, the first chairman, andGerard Salton, the second chairman. Bythe mid-1970s the faculty had doubled,and it remained at about fourteenmembers until the very late 1970s, whenincreasing interest in computer science,both locally and nationwide, forced thedepartment to grow rapidly to itscurrent size of twenty-four members(see Figure 2).

The recent growth has not been easyto accommodate. In a period ofretrenchment within the University ithas been difficult to get additionalresources. The needs were documented,

In 1965 the initial computer science facultyat Cornell consisted of three full-time andfour half-time people, as listed in Table I.Of the original seven, two are still in thedepartment, five are still at Cornell, one isretired, and one is chairman of the computerscience department at another university.

The scope of the department is suggestedby Table II, which lists the current facultymembers and the specialty areas in whichthey teach and conduct research. The youthof the field is illustrated by the fact thatsixteen of the twenty-four professors—thosewhose names are printed in color—wereappointed during the 1980s.

but the money was not always available.Also, the youth of the discipline—theoldest computer science department wasestablished only in 1964—and itsphenomenal growth have made it dif-ficult to find faculty members, let aloneto assimilate and retain them. Even nowthe demand for Ph.D.s is about fourtimes the supply, which is about threehundred a year. The growth of thediscipline is illustrated forcefully in themakeup of the Cornell department. Thefirst retirement is perhaps ten yearsaway, and the department consists of

Table II.FACULTY IN 1985

Ozalp Babaoglu: distributed systems,performance evaluationGianfranco Bilardi: VLSI algorithmsand architectures, VLSI complexity,parallel computationKen Birman: distributed systems, faulttolerance, signal processingDina Bitton: databasesTom Coleman: numerical analysisRobert L. Constable: computationalcomplexity, formal semantics,programming logicsJohn R. Gilbert: analysis of algorithms,combinatorial algorithms fornumerical problemsDavid Gries: programmingmethodology, programminglanguages, compiler constructionJuris Hartmanis: theory ofcomputationJohn E. Hopcroft: algorithms, roboticsGreg Johnson: programmingenvironments, compilersKevin Karplus: VLSI, computer music,computer-aided designDexter Kozen: computationalcomplexityAbha Moitra: programmingmethodologyAlex Nicolau: parallel computation,architecture, optimizing compilersPrakash Panangaden: programminglanguages and logics, mathematicalfoundations of semanticsGerard Salton: informationorganization and retrievalFred B. Schneider: concurrentprogramming, fault tolerance,distributed systemsJon Solworth: VLSI design, computer-aided design, computer architectureRay Teitelbaum: programminglanguages and systemsSam Toueg: computer networks andprotocols, distributed computingCharles Van Loan: numerical analysisVijay Vazirani: algorithms,computational complexityKay Wagner: applied logic

Figure 2. Growth in the computer sciencefaculty at Cornell. Since its establishment in1965, the faculty has increased almost five-fold, with much of the increase occurringduring the past five years. The numbers referto full-time-equivalent positions.

five full professors, four associateprofessors, fourteen assistant profes-sors, and one lecturer.

A DISTINGUISHED FACULTY:THE FUNDAMENTAL ASSETRegardless of its size, a department canonly be as good as its individual facultymembers, and in this regard Cornell'scomputer science department is clearlyoutstanding. Gerard Salton is anexample. He received the first annualSIGIR (Special Interest Group inInformation Retrieval) award in 1982for long-lasting contributions to re-search in that area, and in 1983 theUniversity of Helsinki recognized himfor his research contributions. Anothercharter member of the department,Juris Hartmanis, was elected a memberof the New York State Academy ofScience in 1981, and that same yearbecame the first computer scientist toreceive an automatic extension to aNational Science Foundation researchgrant under a program for specialcreativity. At Cornell Hartmanis wasnamed the Walter R. Read Professor ofEngineering in 1980. Another chair-

25

20

1E 15

"5uCO

"" 5

-

-

1965-66

/ — •

1970-71i i i i i i

1975-76Academic Year

1980-81

holder is John Hopcroft, named thisyear as the Joseph C. Ford Professor ofComputer Science. David Gries wasawarded a Guggenheim fellowship in1983-84; a few years earlier he parti-cipated in the Distinguished ScholarExchange Program, spending a monthin China.

The younger faculty members havealso received recognition. John Gilbertwas a recipient this year of a NationalScience Foundation Presidential YoungInvestigator Award. Kevin Karplus,Fred Schneider, and Vijay Vaziranihave all received IBM Faculty Devel-opment Awards under a program es-tablished just three years ago. AndOzalp Babaoglu was a recipient of the1982 Sakrison Memorial Prize atBerkeley for his work in developing theBerkeley-UNIX operating system, whichis the major system used in mostcomputer science departments.

Faculty effectiveness is demonstratedalso by the success of students. CornellPh.D.s have done well both in academiaand in industrial research. In 1983, forexample, Tom Reps received the secondDoctoral Dissertation Award of the

Association for Computing Machinery(ACM) for his thesis GeneratingLanguage-Based Environments, writtenunder the direction of Tim Teitelbaum.In 1977 Susan Owicki and David Griesreceived the ACM Award for the BestPaper in Programming Languages andSystems; it was based on her Ph.D.thesis Axiomatic Proof Techniques forParallel Programs.

Ever since the department's begin-nings, the faculty has been prolific inpublishing not only professional papers,but books and monographs (see TableIII). In fact, more highly regarded textsappear to have originated at Cornellthan at any other university. Many ofthese books have received wide acclaimand have been translated into otherlanguages.

The department is well represented inprofessional activities at the nationallevel. In a typical year it provides abouttwenty editors and members of editorialboards of respected journals and bookseries and eight to fifteen members ofprogram committees for technical con-ferences. Working on editorial boardsand program committees can be ardu- 4

Table III.BOOKS BY MEMBERS OF THE COMPUTER SCIENCE FACULTY

1966 J. Hartmanis (with R. E. Stearns). Algebraicstructure of sequential machines. Prentice-Hall.

1968 R. Conway, W. L. Maxwell (with L. W. Miller).Theory of scheduling. Addison-Wesley.

G. Salton. Automatic information organizationand retrieval. McGraw-Hill.

P. Wegner. Programming languages, informationstructures and machine organization.McGraw-Hill.

1969 J. Hopcroft (with J. Ullman). Formal languages andtheir relation to automata. Addison-Wesley.

1971 D. Gries. Compiler construction for digitalcomputers. John Wiley.G. Salton. The SMART retrieval system:Experiments in automatic document processing.Prentice-Hall.

1973 R. Conway, D. Gries. An introduction toprogramming: A structural approach. Winthrop.

1974 J. Hopcroft (with A. V. Aho and J. D. Ullman). Thedesign and analysis of computer algorithms.Addison-Wesley.

1975 G. Salton. Dynamic information and libraryprocessing. Prentice-Hall.

1976 R. Conway, D. Gries. Primer on structuredprogramming. Winthrop.

R. Conway, D. Gries (with E. C. Zimmerman).Primer on Pascal. Winthrop.J. E. Donahue. Complementary definitions ofprogramming language semantics. Lecture noteson computer science, vol. 42. Springer-Verlag.

1977 R. Conway. A primer on disciplinedprogramming. Winthrop.

R. Conway, D. Gries (with D. Wortman).Introduction to structured programming usingSP/k. Winthrop.

1978 R. Constable. A programming logic. Winthrop.

R. Conway. Programming for poets: A gentle

introduction using PL/I. Winthrop. [Otherversions for FORTRAN, BASIC, and Pascalappeared in 1978, with J. Archer and R. Conwayas coauthors.]

D. Gries, ed. Programming methodology: Acollection of articles by members of IF IP WG2.3.Springer-Verlag.

1979 R. Cartwright. A practical formal semanticdefinition and verification system for TYPED LISP.Garland.

R. Conway, D. Gries (with C. Bass and M. Fay). Anintroduction to microprocessor programming.Winthrop.

1981 D. Gries. The science of programming.Springer-Verlag.

1982 R. Constable (with S. D. Johnson and C. D.Eichenlaub). Introduction to the PL/CV2programming logic. Lecture notes in computerscience, vol. 135. Springer-Verlag.

1983 J. Hopcroft (with A. V. Aho and J. D. Ullman).Data structures and algorithms. Addison-Wesley.G. Salton (with M. J. McGill). Introduction tomodern information retrieval. McGraw-Hill.G. Salton, ed. (with H. J. Schneider). Research anddevelopment in information retrieval. Lecturenotes in computer science, vol. 146.Springer-Verlag.

C. Van Loan (with G. Golub). Advanced matrixcomputations. The Johns Hopkins Press.

1984 T. Coleman. Large sparse numerical optimization.Lecture notes in computer science, vol. 165.Springer-Verlag.

F. B. Schneider (with six others). Distributedsystems: Methods and tools for specification.Lecture notes in computer science, vol. 190.Springer-Verlag.

T. Reps. Generating language-basedenvironments. MIT Press.

"Today morethan half of

all Cornellundergraduates...

take at leastone computer

science course."

ous and time-consuming, but it is animportant way to provide leadershipand help ensure high quality in a newand growing field.

The faculty should grow to aboutthirty members in the next five or sixyears. Especially needed are seniorprofessors, to bring more balance intothe department. (This year some pro-gress seemed to be made when DexterKozen, a theoretician, came from anindustrial research laboratory to anassociate professorship at Cornell;however, another associate professor,Alan Demers, was lost to industry.) Thedepartment also needs to increase thenumber of research associates (currentlythere are three). Such growth in facultyand research staff is essential not onlybecause of the increasing teaching load,but also because of the need for moreeducation and research in computerscience at Cornell and throughout theUnited States. Research in computerscience is an increasingly vital part ofthe nation's efforts to maintain tech-nological and scientific leadership intoday's "information society".

THE COMMITMENT TOUNDERGRADUATE EDUCATIONAlthough computer science at Cornellwas originally conceived as a graduateprogram, the department has alwaystaken its undergraduate teaching ser-iously. For example, in the early 1970s,drawing on strong faculty researchinterest in programming methodology,we assumed responsibility for teachingintroductory programming to all en-gineering students. Today more thanhalf of all Cornell undergraduates in thevarious colleges take at least onecomputer science course, and many

nonmajors take junior- and senior-levelcourses simply because of their interestin the subject. The department performsa vital service for the whole University.

To help teach these courses, thedepartment has continually developedappropriate software. The programminglanguages CORC and CUPL wereintroduced in the early 1960s. DickConway's PL/C compiler, the firsterror-correcting load-and-go compiler,was used heavily throughout the 1970sfor teaching programming not only atCornell, but in many other universities.Tim Teitelbaum's development of theCornell Program Synthesizer on theTerak computer was the first seriouseffort to provide an interactive en-vironment on microcomputers that wassuitable for teaching large numbers ofstudents. These contributions haveplaced Cornell at the forefront of thedrive to provide urgently needed soft-ware aids for teaching programming.

The introductory programmingcourses are large. For example, the firstcourse, CS100, has between 600 and 900students each semester; the secondcourse, CS211, has between 325 and400. Generally, two faculty members areassigned to such a course, and they dothe lecturing in large sections. Teachingassistants are in charge of recitationsand optional lectures. Any student canget individual help from the teachingstaff if that is necessary. And finally,undergraduate proctors—students whohave been through the course—staff aconsulting room for at least eight hoursa day so that students can get help withtheir programs. We believe that theselarge courses are taught quite effectively—with our current resources there is nobetter way to teach them. Still, we feel

15

12

ts T

aug

ht

lou

san

ds)

n 6

3

f\

-

-

-

1965-66 1970-71

/^ - —

i i i I i I

1975-76Academic Year

1980-81

that the students would benefit frommore individual attention than they arenow getting. We would like to set upmore recitation sections so that all thestudents could be accommodated inrequired sections of no more than thirtystudents each.

Our main problem is the tremendousgrowth in enrollments (see Figure 3).Since 1965-66, when instruction began,the number of courses taught by thedepartment has increased eighteen-fold,and last year computer science profes-sors had approximately twice theteaching load of the average College ofEngineering faculty member.

Teaching in such a young field entailsother problems. Each year new researchuncovers new concepts, new ways ofpresenting material, and new softwareand hardware to teach with, and thecontinual change is felt at the under-graduate as well as the graduate level.Texts are often unsuitable and out ofdate. (In 1973 Conway and Gries wrotean introductory programming text thatwas used at Cornell for twelve years,but the switch to different machines andprogramming languages, as well as

advances in the knowledge of program-ming, has made it obsolete.) Andfinally, the widespread use of computersin many academic areas besides com-puter science has created a whole newset of problems. These challenges tendto make teaching more exciting, ofcourse, and give the faculty moreopportunity to lead in the developmentof the field. The large number oftextbooks written by Cornell computerscience professors is evidence of thisleadership.

Throughout the first ten years, thedepartment felt it was best for a studentinterested in computer science to minorin that field and major in another areasuch as mathematics, physics, orlinguistics. The thought was that in sucha new field it would take time for thefaculty to determine what concepts wereimportant and lasting, and which shouldbe taught in an undergraduate curri-culum. Further, it was important toeducate people in other fields to usecomputers intelligently. Accordingly,the department taught many under-graduate courses but gave no under-graduate degree.

Figure 3. The explosive expansion in en-rollments in computer science. The amountof instruction provided by the department isplotted in terms of the total number ofcredits earned by the students (a typicalcourse gives three or four credits). In1984-85 the number of credits averaged 578per faculty member.

Pressures for an academic majorincreased in the late 1970s, however,and in 1978 the department establishedtwo programs leading to undergraduatedegrees: the Bachelor of Science in theCollege of Engineering and the Bachelorof Arts in the College of Arts andSciences. The programs are goingstrong. In 1984-85 there were 220computer science majors, and thirty-fiveB.S. and forty-six A.B. degrees wereawarded. Last year the Association forComputer Science Undergraduates(ACSU) was formed on campus. Morecommunication between students andthe faculty has been promoted alsothrough the efforts of our undergrad-uate administrator, Michele Fish. Theseinitiatives have created a friendlier andmore satisfactory environment for theundergraduates.

Unfortunately, the establishment andgrowth of the two undergraduate pro-grams has created additional strain inthe department, for the faculty has notgrown in proportion to the workload.Our professors advise computer sciencemajors from two colleges in programsthat have different requirements. And

Figure 4. Floor plans for the addition toUpson Hall. Two floors will be built for theDepartment of Computer Science on thenorth-south wing, above the space nowoccupied by the School of OperationsResearch and Industrial Engineering. Thelower of the two new floors will connectwith the fourth floor of the east-west wing,currently occupied by the computer sciencedepartment.

In the diagram, most of the rooms alongthe exterior walls are offices. Laboratoriesare shaded in gray, and special-purposerooms in color.

of course the number of students injunior- and senior-level courses hasincreased and continues to rise; some400-level courses have had more thanone hundred students enrolled.

In his recent state-of-the-Universityaddress, Cornell President Frank H. T.Rhodes set forth as a major goal theprovision of "diversified, distinctive,and distinguished undergraduate pro-grams". In the efforts to achieve thisgoal, the computer and the science ofcomputing should play important roles,the former as a tool and the latter as anaid in understanding how the tool mightbe used. An equally important functionof computer science is to contributeexciting new scientific concepts throughvigorous research activity. With ade-quate resources, the Cornell departmentintends to fulfill its responsibilities inreaching President Rhodes's goal.

MAKING ROOMFOR COMPUTER SCIENCEIn 1965 the Department of ComputerScience was housed in a few offices onthe north side of the fourth floor ofUpson Hall. (The four large rooms on

Fourth Level

Robotics

L 1 1 1 1 1 1 1 1 1 1 - :ProgrammingRefinement

VLSI Solid TerminModelingt

Computer Room ComputerRoom

FTTTTTTTTT

Fifth Level

L l l l l

TTTTTTthe south side were being used to teachdrafting.) Since then, the departmenthas expanded by encroaching on thespace of others. Such expansion was nottoo difficult in the early 1970s, but itbecame a critical problem toward theend of the decade as the Collegebuildings became more and morecrowded. In his 1980-81 annual report,Chairman Hartmanis wrote that "themost urgent need for the department isspace. Doubling our space would justbarely take care of our needs for thenext five years. Critical problems in-

clude the crowded conditions for thestudents, the lack of a conference room,and the lack of space for consulting forundergraduate courses." Although itwas not recognized at the time, theaccommodation of equipment as wellas people mandated expansion. Overthe past seven years, research incomputer science at Cornell has changedfrom a pencil-and-paper operation to alaboratory enterprise using millions ofdollars worth of computing equipment.

Thus began the department's long,earnest lobbying for more room, an

effort that is finally getting results. Thisfall construction begins on a $6.8-million addition to Upson Hall forComputer Science that will provide anadditional 22,000 net square feet ofspace (see Figures 4 and 5). Includingthe third- and fourth-floor space thedepartment now occupies in Upson,Computer Science will have about37,000 square feet to house its 150people and its equipment. For the firsttime, the department will have adequateconference rooms, computing labor-atories, administrative office space, androom to house its graduate students.There will be a special robotics labor-atory, and a lounge with pantry. Theaddition will be completely wired forthe department's distributed computingfacility so that a workstation or terminalconnected to the department's centralcomputing faculty can be placed on the

9 desk of every faculty member, staff

member, and graduate student. Becauseof the computing equipment, theaddition will be completely air-conditioned.

Meanwhile, the department strugglesto maintain a sense of community whilebeing housed in parts of three buildings.Some thirty graduate students and thegraduate faculty representative, CharlieVan Loan, are in Carpenter, fortygraduate students are in Kimball, andthe rest of the department is in Upson.Use of the College's Ethernet, a com-puter communications network, allowsus to have central computing accessiblefrom each location and is one of thereasons this temporary arrangement isfeasible.

BUILDING THE CAPABILITIESOF THE DEPARTMENTUntil the late 1970s computer scientistsat Cornell were content to use the

Figure 5. The architects' model showing howUpson Hall will look with the two-storyaddition. The view is from the northwest(from the direction of Carpenter Hall acrossthe engineering quadrangle). The two floorsto be added are on the far wing of Upson.

University's computing facilities. Soft-ware projects were in progress, butmuch of the research was theoreticalrather than experimental and just didn'trequire computers. The departmentpurchased the first computer of its own,a PDP 11/60, in 1977 on a NationalScience Foundation (NSF) researchgrant, and that began an era of rapidexpansion into the world of exper-imental computing. One year later, forexample, Tim Teitelbaum had finishedthe first version of his Cornell ProgramSynthesizer, which provided a muchimproved programming tool, andCornell's Computer Services was per-suaded to buy enough Teraks so thatthe new software could be used incourse work. As a result, the beginningprogramming course, CS100, could betaught using a much more effectivecomputing environment.

In 1980 the department was awardeda Coordinated Experimental Research(CER) grant in a new NSF program toequip computer science departments.Our proposal centered around the pro-gramming process, since the research ofso many of our faculty members in-

The distributed computing facility of theDepartment of Computer Science has moreCPU units than the entire University hadten years ago. A list of the equipment isgiven in Table IV.

Right: The department's facilities includecomputing equipment provided through aCoordinated Experimental Research (CER)grant from the National Science Foundation.Terminals are set up in an adjacent room(see the photograph on the inside front cover).

volved programming in one way oranother. The grant provided $2.5 mil-lion over five years for computingequipment and an operating staff offour. It propelled Cornell into theforefront in a number of experimentalresearch areas, including distributedcomputing, programming environ-ments, program verification, theoremproving, and robotics.

During the past few years, the de-partment has received several additionalNSF equipment grants. The most re-cent, for $240,000, will be used toacquire a Gould computer that will atleast double our UNIX computingcycles. Last year Xerox contributedthirty workstations (called Dandelions)

Table IV.THE DEPARTMENT'S COMPUTING FACILITY

CentralFacility

1 PDP 11/602 VAX/750s2 VAX/780s1 Gould/9080

Workstations andMicrocomputers

40 Xerox Dandelions9 Suns4 Symbolics LISP machines3 HP workstations13 Macintoshes1 IBM PC

PeripheralEquipment

3 laser printers3 spinwriters and diablos2 line printers1 hard-copy graphics printer1 robot arm1 video recorder

and associated equipment, a gift es-timated to be worth about $l million.Other gifts and grants from AT&T,General Electric, Gould, Hewlett-Packard, and IBM have helped us builda departmental computing facility thatnow has more raw computing powerthan Computer Services had for thewhole University ten years ago.

Our facility is truly a distributedsystem, with more than fifty work-stations and many more terminals ondesks and in public rooms, all connectedto our central computers (see Table IV).

Everyone, including the administrativestaff, uses the facility daily for suchoperations as word processing andelectronic mail service, as well as forresearch. We anticipate expanding thesystem so that there is a workstation onevery desk and enough "computingcycles" to accommodate the expandingexperimental program.

In addition to serving departmentalneeds, our computing facility functionsas the gateway for the entire Universityto national electronic nets such as theARPAnet and CSnet. The software and 10

PoPi

= -4^ * *~>.C ~t

h.4

11

administration support for this has beenprovided entirely by our technical staffof four. Frequently we also provideconsulting service and assistance toother units of the University that havequestions about networking, word pro-cessing, operating systems, etc. Lastspring, for example, the departmentworked with Computer Services and theCenter for Theory and Simulation inScience and Engineering (the newsupercomputing facility, commonlycalled the Theory Center) to establishneeded computer linkages. Also, theUniversity facilities at Langmuir Lab-oratory were linked to other parts ofthe campus through our computingfacility using PROnet, a token ringsystem. This year we wrote softwarethat allows the Xerox Dandelions to beintegrated into our UNIX environments.Some of this software will be insertedinto the new Berkeley 4.3 operatingsystem release and distributed to otheruniversities.

In maintaining, operating, and im-proving the facilities, an importantfactor is industrial support. The recentlyestablished Industrial Affiliates Pro-

gram in Computer Science should bringin some of the funds needed forequipment maintenance (this alone costsmore than $100,000 a year), as well asfor expanding the research program.Corporate members benefit as well ascontribute: they have closer contactwith our research—joint projects arepossible—and with our students.

As we look forward to larger, well-equipped quarters, we foresee the needto expand our personnel as well. Wefeel we have done very well, with atechnical staff of only four, to providehardware and software support andconsulting advice to other groups in theUniversity. But we would like to be ableto interact more with units such as theTheory Center and the College ofEngineering's Computer-Aided DesignInstructional Facility (CADIF). Wehope to double the computing facilitystaff and add more faculty members andresearch associates.

After twenty years of existence,Cornell's Department of ComputerScience is coming of age. The prospectsare for continued health and strength ina productive period of maturity.

David Gries, professor of computer scienceat Cornell, contributes this article in theQuarterly as chairman of his department.He also collaborated on an accompanyingarticle about his specialty, programmingmethodology.

His research interests include relatedtopics such as programming languages andcompiler construction. In addition to editinga 1978 book on programming methodology,he has written widely used texts on compilerconstruction (1971), introductory program-ming (1973), and the "science" of pro-gramming (1981). He is on a committee ofthe Association for Computing Machineryto review the contents of lower-level com-puter science courses.

Gries' honors include a Guggenheimfellowship, which enabled him to spend the1984-85 academic year at Oxford University,England. In 1981 he spent a month in Chinaon the Distinguished Scholar ExchangeProgram.

He received his Ph.D. in mathematics inMunich, Germany, in 1966, and came toCornell in 1969 after three years as anassistant professor at Stanford University.

IMMEDIATE COMPUTATIONOr How to Keep a Personal Computer Busy

by Tim Teitelbaum and Thomas RepsThe trip between the keypunch and thecomputer center was a very familiarroute to early computer users. Dataprepared in advance were submitted asbatches of input to be processed by thecentral machine.

Timesharing improved matters con-siderably. The interval between suc-cessive runs was reduced from hours toseconds and the trip to the computercenter was eliminated. The essence ofthe batch mode—an alternation betweendata preparation and program exe-cution—remained dominant, however,even under interactive timesharing.

Today a new way of computing istaking hold. The inexpensive micro-processors of personal computers, morepowerful than yesterday's costly main-frames, are bringing about a shift frombatch processing to immediate com-putation. And the trend appears certainto continue: far more powerful micro-processor workstations are just aroundthe corner.

In the immediate mode of computa-tion, each modification to data hasinstantaneous effect, since the editingfunction is embedded within the applica-

tion program itself. An important resultis that a computation is always consistentwith the current state of the data,thereby providing useful immediatefeedback to the user as the data aremanipulated. Extra steps are required,of course, because the data pass throughmany intermediate states not apparentin the batch mode. These extra stepsare acceptable, however, because im-mediate processing can use surplusprocessing capacity. (While the unusedcycles of timeshared computers are at thedisposal of others, the spare cycles ofsingle-user computers are only wasted.)

The trend away from batch processingand toward immediate computation isillustrated by developments in threeareas:• Recent word-processing systems usethe immediate-computation paradigm.In the traditional batch-process mode,an input file, consisting of interleavedformatting commands and textual data,is prepared using a conventional texteditor. The page layout is created onlywhen this file is submitted to a doc-ument compiler. With the newersystems, formatting is performed inter-

actively on a character-by-characterbasis, and at all times the screenresembles the final page layout. Sucheditors are called WYSIWYG, becauseWhat You See Is What You Get (seeFigure 1).• Electronic spreadsheets, which havebecome very popular, depend on im-mediate computation. In such a systema collection of related arithmeticcalculations is displayed on the screenand a modification to any of theconstants in the formulas causes allaffected computations to be updatedimmediately (see Figure 2).• In computer programming, "dumb"text editors are being replaced by"smart" editors. In the traditionalmethod, the program prepared with adumb editor is submitted to a compilerfor analysis, error reporting, and codegeneration. This is unnecessary withsmart editors because they exploitlanguage-specific knowledge embeddedwithin them to provide all these serviceswhile the program is being edited.Errors are detected early and the delayfor compilation is eliminated. As in aWYSIWYG text editor, formatting 12

"...each modification to datahas instantaneous effect."

Figure la

13

Figure I. A comparison of word processingby a batch method (a) and by an immediate-processing method (b).

The information displayed in a is used bythe batch-oriented word-processing softwareof the UNIX operating system. This typicalinput file consists of the interleaved text andcommands from which the formatteddocument of b would be produced.

With a WYSIWYG (What You See IsWhat You Get) editor, the formatted page,such as the one in b, is displayed on thescreen at all times while the document isbeing modified.

Figure 2. An electronic spreadsheet, anexample of immediate computation. Thescreen is instantly updated in response toeach editing revision.

In this example, the Item, UnitPrice, andQuantity columns are user data: theAmount column and the Total are results ofcomputations. A change in data wouldimmediately be reflected in the compu-tations. For example, if the Quantity ofpens were changed, the Amount and theTotal would be immediately re-computedand displayed. Entering an improper valuesuch as a nonarithmetic Quantity wouldresult in a error message.

•PPThis is a right justified paragraph containing\flitalicized\fR and \fBboldface\fR words. In batchmode, it is difficult to tell from theinput file what the final page will look like.•ipThis is an indented paragraph containingthe formula @x sup 2 - y sup 2@.

Figure lb

This is a right justified paragraph containing

italicized and boldface words. In batch mode, it

is difficult to tell from the input file what the

final page will look like.

This is an indented paragraph containing the

formula x2-y2.

Item

penpad

UnitPrice

$0.50

$0.75

Quantity

2

3

Amount

$1$2

$3

.00

.25

.25

Figure 2

Total

according to program structure isimmediate, and as in an electronicspreadsheet, each modification to theprogram causes all affected analysis,error detection, and code generation tobe immediately updated. Our CornellProgram Synthesizer was one of theearliest programming systems to in-corporate a smart editor. Since 1979,when it was introduced for instructionin introductory programming, theSynthesizer has become widely recog-nized as a model for the future devel-opment of highly interactive, profes-sional programming environments (seeFigure 3).

THE NEED FORINCREMENTAL ALGORITHMSWidespread adoption of the immediatemode of computation by new appli-cation software is making the study ofincremental algorithms very important.

Suppose a program computes thefunction / on the user's data x. If theprogram follows the immediate-com-putation paradigm, then the momentthe user changes the data from x to x'the program must compute f(x') and

discard f(x). Of course, f(x') could becalculated from scratch, but this wouldusually be too slow to provide instantresponse. What is needed is an al-gorithm that reuses as much old in-formation as possible. Because theincrement from x to x' is often small,the increment fromf(x) tof(x') will alsobe small, provided that/is continuous.An algorithm that uses information inthe old value f(x) to compute the newvalue f(x') is called incremental.

The advantage of an incrementalalgorithm is illustrated by what happenson the screen when a document iscorrected on a word processor that hasa WYSIWYG editor. In the WYSIWYGeditor, f(x) would be the initial for-matted document andf(x') would be thecorrected version. Suppose a smallchange, such as inserting a singlecharacter in the middle of a document,is made. It is possible that a majorchange in the format would result, butthis is unlikely for two reasons:independence and quiescence. Theformat of the text that precedes theinserted character in no way dependson that character, and is thus unaffectedby the change. This is independence. Inthe text that follows the insertedcharacter, the format might change onlylocally, and even if the insertedcharacter caused some words to snakearound to succeeding lines, the propaga-tion of changes would die out and—atleast if there is enough space on the lastline of the paragraph to prevent theaddition of an extra line—the remainderof the document would be unaffected.This is quiescence. An incrementalformatting algorithm can exploit in-dependence and quiescence so that theminimal amount of reanalysis is done.

We can distinguish between twoapproaches to incremental algorithms:selective recomputation and differentialevaluation. In selective recomputation,values independent of changed data arenever recomputed. Values that aredependent on changed data are re-computed, but after each partial resultis obtained, the old and new values ofthat part are compared, and whenchanges die out, no further recompu-tations take place. In differentialevaluation, rather than recomputingf(x') in terms of the new data x\ the oldvalue/frj is updated by some differenceA/computed as a function of x, x\ andf(x).

The spreadsheet example of Figure 2can be used to illustrate the twoapproaches.

To illustrate selective recomputation,let us suppose that UnitPricepen andQuantitypen are changed to $1.00 and1, respectively. Dependency informationcan be used to determine thatAmountpad need not be recomputed,since it cannot change. AlthoughAmountpen must be recomputed, itturns out to be unchanged, and thereforeTotal need not be recomputed.

To illustrate differential evaluation,let us suppose that UnitPricepen ischanged to $1.00 and Quantitypen is leftunchanged. Then the differences

AUnitPricePen = $0.50AAmount

pen

pen = AUnitPricepenQuantitypen = $1.00

ATotal = AAmountpen = $1.00

can be computed and used for updatingAmountpen and Total. Note that withdifferential evaluation, even if there arehundreds of lines of data, Total can beupdated in a single addition. 14

Figure 3. Three screen images taken fromthe authors' Pascal program editor toillustrate its immediate error-analysiscapability.

The Pascal program in a shows the namessize, index, list, and A defined in terms ofone another. In b, after redefinition of sizefrom 10 to x, an error message appearsbecause the name x has nowhere beendefined. Changing x to 9 instantly removesthis error, but introduces another at adistant location, as illustrated in c.

This editor is, in effect, a spreadsheet forPascal programs: the computations, updatedafter each editing transaction and displayedon the screen, concern the structural cor-rectness of the given program.

Photograph below: An initial version of the"smart" editor illustrated in Figure 3 wasused for several years at Cornell forinstruction in introductory programming.

Figure 3a Figure 3b

program p;const

size = 10;type

index = 1 .. size;list = array [index] of integer;

varA: list;

beginA[10] : = 0

end.

program p;const

size = x { -NOT A DEFINED CONSTANT NAME};type

index = 1 .. size ;list = array [index] of integer;

varA: list-

beginA[10] : = 0

end.

15

Figure 3c

program p;const

size = 9;type

index = 1 .. size;list = array [index] of integer;

varA: list;

beginA[10 {--SUBSCRIPT OUT OF BOUNDS}

end.] : = 0

"Much of thecapacity of

hardware...iscurrently going

to waste."

SCALING UP THE CORNELLPROGRAM SYNTHESIZERSophisticated incremental algorithmswere not used in the smart editor of theprototype Cornell Program Synthesizerbecause exhaustive recomputation wasfast enough for small student programs.But before such systems can have amajor effect in improving the produc-tivity of software production, they mustbe scaled up to meet professionalrequirements. The original Synthesizerwhetted appetites, but offered noalgorithmic solution to the scalingproblem.

In 1981, therefore, the Synthesizergroup turned its attention to thefundamental problem of incrementalanalysis in smart editing environments.In an early paper we proposed the useof a formalism known as attributegrammars and showed how incrementalanalysis could be done in this frame-work. A major breakthrough occurredwhen Reps discovered an optimalincremental attribute-updating algor-ithm. It follows the selective-recompu-tation paradigm described above, andis optimal in the sense that the amountof processing required in response to agiven editing change is linearly pro-portional to the amount of computedinformation that changes in value.

ADAPTING SPECIFICATIONSFOR IMMEDIATE COMPUTATIONTraditional systems make use ofimperative programming languages, inwhich computation follows an orderedsequence of actions—that is, each actionis specified as a function of the previousstate. Imperative programming is ap-propriate for batch-mode computation,in which an input file is processed

sequentially, but it is inappropriate forimmediate-mode computation, in whichdata are inserted and deleted in arbitraryorder.

When there is no predeterminedorder for data and immediate compu-tation is desired, a declarative speci-fication is called for. This defines acollection of simultaneous equationswhose solution is the desired compu-tation. The salient features of declar-ative specifications are (1) the order ofsolution is left unspecified, and (2) thedependence of variables on data and onone another is implicit in the equations.Whenever the data change, an incre-mental algorithm is used to re-solve theequations, retaining as much as possibleof the previous solution.

For example, the "program" exe-cuting the spreadsheet of Figure 2 ismerely the set of equations:

UnitPricepen = $0.50Quantitypen = 2UnitPricepad = $0.75Quantitypad = 3Amountpen = UnitPr icep e n x

Quantitypen

Amountpad = UnitPricepad xQuantityPad

Total = Amountpen + Amountpad-

Changing data is, in effect, changingsome of the equations, after which thoseequations and perhaps other equationsmust be re-solved.

The attribute-grammar formalismadopted by the Synthesizer group fordefining the smart part of programeditors is exactly such a declarativespecification language. An attributegrammar defines, for each program thata user may create, a corresponding setof simultaneous equations whose sol- 16

Reps and Teitelbaum

ution expresses the deductions of thesmart editor about the given program.Each unknown variable in these equa-tions represents a deduction relevant ata particular point in the program.During editing, each modification to theprogram causes a related change in theset of equations and their solution.Error messages that appear and dis-appear on the screen (as in Figure 3) aremerely the values of textual variablesthat change from time to time as theequations are re-solved. The accom-plishment of our optimal updatingalgorithm is that equations arising inthe setting of attribute grammars canbe incrementally re-solved so that theamount of computation, and thereforethe cost, is proportional to the numberof variables that actually change value.

The expertise of future smart editorswill not be restricted to programminglanguages. In fact, any application thatfollows the immediate-computationparadigm is, in effect, a smart editor.Because many of these editors will sharesimilar computational requirements, itis effective to implement generators of

17 smart editing systems. Such a generator

provides a declarative language which,when compiled together with an in-cremental updating algorithm, createsthe desired application editor.

The Cornell Synthesizer Generator isone such editor generator. Already ithas been used to produce editors for avariety of applications: prototypeWYSIWYG editors for both text andmathematical formulas, an editor thatverifies the correctness of a proof inmathematical logic, program editors forseveral different programming langu-ages, and even a smart editor formanipulating a database of facts abouthistoric landmarks. A parallel effort, inthe program PEOGEN directed byGregory Johnson of the computerscience faculty, has the same goal but isexploring different strategies for pro-viding an interface with the user and forincremental updating. With two groupsworking in smart-editor generation,Cornell is one of the leading centers forresearch in this important emergingarea of computer science.

Today's powerful stand-alone com-puters provide virtually free processing.But to make full use of their potential,

the impressive advances in hardwaremust be accompanied by the devel-opment of appropriate, innovativesoftware. Much of the capacity ofhardware, which can perform millionsof operations between every pair ofconsecutive keystrokes, is currentlygoing to waste. Smart editors know howto use that capacity.

77m Teitelbaum and Thomas Reps havecollaborated in the field of language-basedprogramming systems since 1978.

Teitelbaum is an associate professor ofcomputer science. He has often taught thecourse CS100, which each year introducesmore than twelve hundred Cornell under-graduates to computer programming. Heholds the B.S. degree in mathematics fromthe Massachusetts Institute of Technologyand the Ph. D. in computer science fromCarnegie-Mellon University. He has been amember of the faculty here since 1973.

Reps received the B.A. degree in appliedmathematics from Harvard University andthe Ph. D. in computer science from Cornell.His thesis, written under Teitelbaum'sdirection, received the 1983 DoctoralDissertation Award of the Association forComputing Machinery. This fall Reps joinedthe faculty of computer science at theUniversity of Wisconsin as an assistantprofessor.

A METAPHOR: THE COORDINATED ATTACK PROBLEM

Two allied armies occupy the mountains on opposite sides of a valley, with an enemyarmy between them. If they mount a coordinated attack, they will win; otherwise,defeat is certain. Alice and Bob, the generals of the allied armies, can onlycommunicate with each other by sending messengers through enemy territory. Whenmessengers are caught, they never divulge the contents of their messages—but ofcourse the messages are not delivered.

Can the generals exchange messages so as to coordinate an attack? Unfortunatelyfor the allies, the answer is no. Alice cannot commit her army to attack after sendingthe message

ml: "Bob: Attack tomorrow, Alice"because she cannot be certain that Bob received it. She needs to know whether hermessenger got through. However, having Bob reply with an acknowledgmentmessage

ml: "Alice: Received your note, Bob"doesn't help. This is because even if Alice receives the acknowledgment, she mustreason as follows.

Bob doesn't know whether the messenger carrying his message (m2) gotthrough. Thus, Bob doesn't know if I know whether he got my message. Iwon't attack unless 1 am certain that he will attack, and he knows this.Therefore, he must conclude that I won't attack, until he knows that I know

that he got my message.

Alice can send an acknowledgment for m2 to Bob:m3: "Bob: Received your acknowledgment, Alice"

But this still isn't enough. Alice must receive an acknowledgment from Bob for m3,and then Bob needs an acknowledgment for that, and so on. What is required? Alicemust know the decision, Bob must know the decision, Alice must know that Bobknows the decision, Bob must know that Alice knows the decision, Alice must knowthat Bob knows that Alice knows the decision, Bob must know that Alice knows thatBob knows the decision, etc.

To prove that there is no protocol that allows Alice and Bob to coordinate anattack, we can assume there is a protocol and derive a contradiction. Suppose Aliceand Bob use a protocol that requires the fewest number of messages. Consider thelast message sent. Suppose it was sent by Alice to Bob. (The other possibility issymmetric.) Clearly, Alice's decision whether to attack must be independent of thedelivery of the last message she sent to Bob. Moreover, Bob's decision must also beindependent of whether he received the last message, since the protocol is correct andtherefore ensures a coordinated attack even if this message is lost. The last messagedoesn't affect the behavior of Alice or Bob, so it must be redundant. This, however,contradicts the assumption that the protocol required the fewest number of messages.

REACHING AGREEMENTA Fundamental Task—Even in Distributed Computer Systems

by Fred B. Schneider, Ozalp Babaoglu,Kenneth P. Birman, and Sam Toueg

19

Coordinating computers can be asdifficult as coordinating the actions ofpeople.

The problem arises in working with adistributed computing system, whichconsists of a collection of computersinterconnected by communicationchannels. The computers are usuallyphysically separated, and therefore ifthey fail, they do so independently. Thismakes it possible for such a system tobe fault-tolerant, for data and tasks canbe replicated so that if one computerfails, the others can assume its work.Unfortunately, coordinating the actionsof a collection of computers whenfailures must be tolerated can be dif-ficult, if not (provably) impossible.

A provably impossible form of co-ordination is illustrated in the metaphorrecounted on the facing page. In theCoordinated Attack Problem, each ofthe generals can be thought of as acomputer and the unreliable messengeras an imperfect communications chan-nel. In terms of the metaphor, we provethat if the communications channelconnecting two fault-tolerant computerscan lose messages, it is impossible for

the computers to agree on whether ornot to perform an action suggested byone of them.

Is the Coordinated Attack Problemof practical interest? Unfortunately, itis. If information is to be replicated atcomputers so that it can remain avail-able despite possible failure of some ofthose computers, then some arrange-ment must be made for the replicateddata to be kept consistent. This man-dates that when one copy of the data isupdated, all available copies be updated.Performing the update is an instance of

the Coordinated Attack Problem: eitherall or none of the available copies mustbe updated.

ATTACKING THE BYZANTINEGENERALS PROBLEMA second example, the ByzantineGenerals Problem, demonstrates an-other practical problem in distributedcomputing systems. This problem differsfrom the Coordinated Attack Problemin two ways. First, Byzantine generalscan be traitors and exhibit arbitrary andmalicious behavior; in the Coordinated

THE BYZANTINE GENERALS PROBLEMThe generals of the Byzantine army are preparing a final campaign. There are Ngenerals, of whom /, at most, are traitors. The traitorous generals are not known tothe others, but may collude and attempt to foil a coordinated attack by the rest. Aslong as the armies controlled by the nontraitorous generals all attack or all retreat,the campaign will be successful.

The Commanding General, known to all the others, decides whether the armyshould attack. Generals communicate by means of a reliable messenger service. Aprotocol is needed that will achieve Byzantine Agreement:

Agreement. All nontraitorous generals execute the same action.Validity. If the Commanding General is not a traitor, then all nontraitorous

generals execute her command.

"The generals correspond to processors,traitors... to faulty processors, and

the Commanding General's order...to the valueof the sensor being read. "

Attack Problem, generals always ex-hibited correct behavior. Second,Byzantine generals have access toreliable communication; in the Co-ordinated Attack Problem, communi-cation was not reliable.

The Byzantine Generals Problemmust be solved whenever processing isreplicated in order to counteract theeffects of failures in a computing system.This is the basis for triple-modular-redundancy (TMR), which is used bythe computing system on board thespace shuttle, as well as in otherapplications in which fault-tolerance isrequired. The idea is simple. If allprocessors read the same input fromsensors and process it using the sameprogram, then all non-faulty processorswill produce identical results. Thus, aslong as a majority of the processors arenon-faulty, simply voting on the outputsproduced by the processors will producethe correct action. A key premise,however, is that all non-faulty pro-cessors read the same input. Simplyreading from sensors does not ensurethat all correct processors will agree onthese inputs—a faulty sensor might

furnish different values to differentprocessors.

A protocol is required that willpermit the non-faulty processors toagree on the value of the sensor. Atrivial solution to this problem wouldbe for processors always to use the samevalue, say 0. This is clearly unaccep-table. An agreement protocol must alsoensure that if the sensor is non-faulty,processors actually use its value in theircomputation.

A solution to the Byzantine GeneralsProblem is exactly the needed protocol.The generals correspond to processors,traitors correspond to faulty processors,and the Commanding General's ordercorresponds to the value of the sensorbeing read.

PROCEEDINGBEYOND BYZANTIUMResearch aimed at developing andunderstanding the Coordinated AttackProblem and the Byzantine GeneralsProblem is actively being pursued atCornell, M.I.T., and IBM's researchlaboratory at San Jose. By identifyingthose aspects of the environment that

influence the cost of achieving agree-ment, researchers learn how to constructagreement protocols that are well suitedfor particular applications. For ex-ample, suppose that the communicationchannels link only pairs of processorsand that up to t processors might befaulty; in this case, achieving agreementcan take as many as t+\ rounds ofmessage exchange. This is because afaulty processor can send conflictinginformation along disjoint routes toother processors and can generatespurious messages and then pretend tobe forwarding them on behalf of otherprocessors.

One of us (Babaoglu) has recentlyshown that as few as two rounds sufficeto establish Byzantine Agreement if allprocessors share broadcast channels. Infact, there exists a continuum ofByzantine Agreement protocols thatrequire between 2 and t+l rounds,depending on the number of broadcastchannels available and the intercon-nection topology of processors. Fasteragreement protocols are possible whenmore processors share more broadcastchannels. Clearly, there are trade-offs 20

involving delay, fault-tolerance, andhardware cost. Broadcast channels helpto speed up Byzantine Agreementbecause when a faulty processor broad-casts a message on such a channel, ithas witnesses to its action. Subsequentattempts to send conflicting informationcan then be detected and ignored byother processors. The Xerox Ethernetand most other local-area communi-cation networks support the requisitebroadcast property for these protocols,making them quite practical.

Byzantine Agreement can be madepractical even when broadcast channelsare not available. It turns out that t+\rounds are necessary to reach agreementonly if t failures actually occur duringexecution of the agreement protocol. If/failures occur, where/</, agreementcan be achieved in fewer rounds. Thus,the cost of execution is proportional tothe amount of fault-tolerance actuallyneeded. Another of us (Toueg) recentlywas involved in the development of suchan early-stopping protocol. It cantolerate as many as N/3 faulty pro-cessors and terminates in 2/+3 rounds.Since most executions of the protocolare failure-free, agreement is typicallyachieved in three rounds. And when tfailures occur, the protocol is as efficientas the best previously known pro-tocols—even those that do not supportearly stopping.

INEXACT AGREEMENTSAND FAULT TOLERANCEOne can devise fast agreement protocolsthat do not achieve agreement andvalidity, but come close. For example,an Inexact Agreement (formulated bySchneider) allows processors, each of

21 which has its own value, to converge on

some value. While this would not bevery useful when the Byzantine generalsmust decide whether to attack orretreat, it is perfectly appropriate forapplications such as clock synchron-ization. Clocks on computers typicallyrun at different rates and are difficult tosynchronize because delays in messagedelivery are variable—receipt of themessage "It is 9:00", for example, tellsthe receiver very little about what timeit is now; it tells only at what time themessage was sent. On the other hand,having synchronized clocks can be quiteuseful, especially in a system intendedto be fault-tolerant, since it is easy todetect that a processor has halted bynoting that it has taken too long for anexpected reply to arrive. An InexactAgreement can form the basis for aclock synchronization protocol: period-ically, processors use Inexact Agree-ment to agree on a clock value and thenreset their local clocks accordingly.

Byzantine Agreement and other pro-tocols that underlie the construction offault-tolerant systems are complex andsubtle. The ISIS Project (underBirman's direction) is concerned withpackaging such protocols and buildingtools that a programmer can use toconvert a fault-intolerant program intoa fault-tolerant one without worryingabout the details of agreement andreplication. ISIS programmers haveaccess to a broadcast (agreement)routine that can be used to disseminateinformation to copies of programmodules. The system also providesfailure-monitoring facilities so that anISIS program can reconfigure itself inresponse to failures. A prototype ISISis now running on the computer sciencedepartment's network of DEC VAX

SELECTED READING

Babaoglu, O., and R. Drummond.1985. Streets of Byzantium: Net-work Architectures for fast reliablebroadcasts. IEEE Transactions onSoft ware Engineering S E-11 (6):546-54.

Birman, K. P., T. A. Joseph, T.Raeuchle, and A. El Abbadi. 1985.Implementing fault-tolerant distri-buted objects. IEEE Transactionson Software Engineering SE-11(6):502-08.

Mahaney, S., and F. B. Schneider.1985. Inexact agreement: Accuracy,precision, and graceful degradation.In Proceedings of 4th annualSIGACT-SIGOPS symposium onprinciples of distributed computing.In press.

Toueg, S., K. Perry, and T. K.Srikanth. 1985. Fast distributedagreement. In Proceedings of 4thannual SIGACT-SIGOPS sym-posium on principles of distributedcomputing. In press.

Schneider Babaoglu

11/780's and SUN Workstations. It hasbeen used to build a number of fault-tolerant application systems and hasperformed surprisingly well.

Reaching agreements and toleratingfaults are modes of conduct forcomputer-to-computer as well asperson-to-person communication. Atleast in the world of computers, we arefinding that logic and imagination arethe keys to implementation.

The four authors of this article are all facultymembers of Cornell's Department ofComputer Science.

Fred B. Schneider, an associate professor,studied at Cornell for his undergraduatedegree, awarded in 1975, and received hisdoctorate from the State University of NewYork at Stonybrook in 1978. His maininterests are in programming methodology,concurrency, and distributed systems; he iscurrently writing a text on concurrentprogramming.

Ozalp Babaoglu, an assistant professor,came to Cornell in 1981 from the LawrenceBerkeley Laboratories, where he was a staffscientist. He holds the B.Sc. degree fromGeorge Washington University and thePh.D., granted in 1981, from the Universityof California at Berkeley. While in graduateschool, he spent a summer at the IBMResearch Laboratory in San Jose, and asemester as a foreign scholar at the National

Research Council in Pavia, Italy. In 1982 hewas a co-recipient of the Sakrison MemorialA ward for his contributions to the BerkeleyUNIX operating system. His specialties areoperating systems, performance evaluationand modeling, and distributed systems.

Kenneth P. Birman received his under-graduate degree from Columbia Universityin 1978 and his doctorate from the Uni-versity of California at Berkeley in 1981. AtColumbia he helped develop computersystems for analyzing 24-hour electro-cardiogram recordings, and after earning hisdoctorate he spent six months in thecardiology department of the Vienna state

hospital in Austria, developing a databasesystem for clinical use. At Berkeley hedeveloped a network version of the UNIXoperating system. He joined the Cornellfaculty as an assistant professor in 1982.

Sam Toueg, an assistant professor, studiedat the Israel Institute of Technology for hisB.S. degree, awarded in 1977, and went toPrinceton University for graduate work.After receiving the Ph.D. in 1979, he was apostdoctoral fellow at IBM's T. J. WatsonResearch Center and then came to Cornellin 1981. A specialist in computer networksand distributed computing, he has been areferee for several professional journals. 22

PROGRAMMING METHODOLOGYMaking a Science Out of an Art

by David Gries and Fred B. SchneiderIt doesn 't take too long for an intel-ligent, scientifically oriented person tolearn to cobble programs together inFORTRAN, BASIC, or Pascal Sure,there are mistakes, but everyone makesmistakes, so one simply spends thenecessary time debugging. And one getsbetter at programming simply by doinglots of it. So what do they teach aboutprogramming? What is there to it?

This attitude is common and mayeven be reasonable for casual pro-gramming. For any serious program-ming, however, it invites disaster. Acasual program bears little resemblanceto the system of a thousand to a millionlines of codes that a professional mustbe able to write (and read) in concertwith as many as fifty other people. Sucha program must be correct, as simple aspossible, and capable of being readilyunderstood, modified, and used byothers.

How does one write programs thatsatisfy these requirements? That was thesubject of a NATO conference held in

23 Germany in 1968. At the conference the

term software crisis was often heard, forthere was indeed a crisis. The pro-gramming industry was being asked todevelop larger and more complicatedsystems of programs, and they didn'thave the expertise to do so effectively.The conference led to world-wide re-cognition that programming was indeeda difficult intellectual activity. The termsoftware engineering was coined thereto denote the collection of technical andmanagerial techniques used in the"software life cycle"—in the planning,analysis, design, implementation, test-ing, documentation, distribution, andmaintenance of a programming system—and research in all these aspects beganin earnest.

A SCIENCE CONCERNEDWITH MENTAL TOOLSAt Cornell, prompted partly by our lackof understanding of how to teachprogramming, we became involved inthe study of methods for developing andunderstanding programs, a field thathas become known as programmingmethodology.

Programming methodology has been

a central theme in the Cornell de-partment for fifteen years and hasinfluenced our work in other areas. Forexample, ideas about the process ofprogram development influence thoughton compiler construction, programming-language design, structured editors,debugging tools, "pretty printers"(which print a program in an indentedformat in accordance with the programstructure), and computer verification ofthe correctness of a program or, indeed,of any mathematical proof. Theserelated areas deal with supplementaltools used by the programmer; pro-gramming methodology in its narrowestsense is more concerned with the mentaltools that are needed.

Research done so far has convincedus that programming can become ascience, based on the knowledge andapplication of principles, rather than anart, which can be learned simply bywatching and doing. We have dis-covered that programming at its best isa mathematical activity, requiring fromthe programmer all the taste, elegance,and desire for simplicity that char-acterizes mathematicians. Our exper-

ience has greatly influenced how weteach programming and how we presentalgorithms in higher-level courses. Sofar, most of the research has dealt withsmall programs, but larger ones arebeing considered.

In this article we describe some of thebasic ideas involved in programmingmethodology. We use only one smallexample, but this should be enough towhet your appetite for more. Towardthe end we present a couple of problemswith the solutions we developed; weencourage you to try to solve thembefore looking at the solutions.

TAMING COMPLEXITY:THE FIRST NECESSITYAs any programmer will tell you, even aten-line program can be complex anddifficult to understand. Think, then, ofthe complexity of a ten-thousand-lineprogram! Somehow, the programmermust master the complexity, mustprevent it from rearing its ugly head.

The amount of work required tounderstand a program must be pro-portional to its length. This will only bethe case if the program structure andthe interactions between the programsegments are kept simple. And thelonger the program, the more importantit is to keep things simple. Computerscience already has a branch calledcomputational complexity, in contrast,we like to call the field of programmingmethodology computational simplicity.

How do we achieve simplicity? Thegeneral method is to introduce suitablenotations and use abstraction: variousaspects of a problem are brought to thefore and others are hidden in thebackground to be dealt with later. Newformalisms are developed, along with

notations that allow the expression ofconcepts and the manipulation offormulas in various ways in order toprove things about them. In essence,mathematics is used, as in any scientificfield, to master complexity.

In our research we have turnedmostly to formal logic to help usdetermine what is meant by correctnessof a program, for without knowing that,it is difficult to write correct programs.This has led to definitions of pro-gramming languages in terms of correct-ness rather than in terms of how aprogram is executed. And from thesemathematical definitions, theories andprinciples for developing programs havearisen.

This does not mean that everyprogram must be developed and provedcorrect in a formal manner. It doesmean, however, that the programmerwith a sound knowledge of the theoryand principles behind program correct-ness and program development can usethem in an informal manner, relying onthe formalism when it is needed—whenthe problems become more complex.

WHAT DOES PROGRAMCORRECTNESS MEAN?A program (or a segment of one) iscorrect if its execution, begun in any"reasonable" state, ends in a desiredfinal state. That is: if its input variableshave proper values, then so will itsoutput variables.

We describe sets of reasonable ordesired states by true-false statements,called assertions, about the programvariables. To illustrate, let us supposewe want a program S to store in anarray the cubes of the first n naturalnumbers, where integer value n is at

least 0 and the array is denoted byb[0..n-l]. (By convention, if n = 0 thearray is assumed to be empty.) Forexample, if we execute the programwith n = 4, the resulting array will beb[0] = 0, b[l] = 1, b[2] = 8, b[3] = 27.Below, we specify S by giving aprecondition P that describes the set ofpossible initial states and a post-condition R that describes the correspond-ing final states. In assertion R, thephrase 0 < i < n means we are interestedonly in integers at least 0 and less thann; for such integers i, b[i] = i3.

P:n>0R: (for all i: 0 < i < n: b\i\ - P)

We say that S is correct with respect toP and /?, written as {P} S {R}, ifexecution of S begun in a state in whichP is true terminates in a state in whichR is true. Nothing is said about executionof S begun in a state in which P is nottrue.

HOW CAN CORRECTNESSBE PROVED?It is difficult to prove {P} S {R} usingonly our operational understanding ofhow S is executed. Given some initialstate, we can execute the program byhand (or let the computer do it) todetermine what the final state is, but toprove correctness using this approachwe would have to execute the programonce for each possible initial state, andmost of us don't have time for that! No,a way must be found that allows us todeduce correctness without relying onthe notion of execution, and this callsfor a mathematical theory of correct-ness. For each kind of statement, weneed a definition that gives the pairs ofpre- and post-conditions related by it. 24

The theory will tell us, for example, thatthe following are true about the as-signments x :- 0 and x :- x + 1 to integervariable JC:

{OV = 0} JC := 0 {x^y = 0},{x+1 > 0 } JC := jc+l { J C > 0 } .

(Note that ()• y - 0 is always true, so thatprecondition is equivalent to true.Similarly, the second precondition isequivalent to JC > 0.)

The possible pre- and post-conditionsfor a statement should be related by asimple syntactic transformation, andnot only by meaning, so that one reallycan manipulate statements the way onedoes arithmetic or logical statements.For example, the statement JC := ey

which assigns the value of expression eto variable JC, is defined by the rule

{Rj!} x := e {R}(for all assertions R).

In this expression R£ is the assertionobtained by simultaneously replacingevery occurrence of "JC" in R by *V\Thus, given that R is to be true afterexecution of JC := e, we can determineeasily what has to be true beforeexecution: R*. We see that this holdsfor the two examples given above. Forexample, in

{P: 0\y = 0} JC := 0 {R: x\y = 0},

P is the result of substituting 0 for x inR.

It is rather neat that this simplenotion of textual substitution, which isa basic concept of mathematical logic,can be used so simply to define theassignment statement.

Other statements are defined similarly.For example, sequencing of two state-

25 ments SO and S\ is defined:

Problem 1COMPUTING CUBES

Write a program to store the cubes ofthe first n natural numbers in arrayb[0..n-\]. Use only addition oper-ations. (See page 26 for a solution.)

Problem 2THE MAXIMUM-SUM

SEGMENT

Suppose we are given integer arrayb[0..n~\] for n > 0. Let 5fJ denote thesum of the values of segment b[i\.j-\].(If / =j, the segment is empty and thesum is 0.) Write a program to store invariable s the largest sum SQ over allsegments b[i..j~\] of array b[0..n-l].(See page 27 for a solution.)

U {P} SO {Q} SI { lthen {P} SO; SI {R}(for any assertions P, Q, and R).

This definition allows us to compute theprecondition for a sequence of assign-ments simply by beginning with thepostcondition and iteratively working"backward", using the assignment state-ment definition. For example, it allowsus to prove that the sequence t := JC; JC .:=y\ y :- t exchanges the values ofvariables x and y. (Below, X and Ydenote the final values of JC and y,respectively.)

{y = X and x = Y}t := JC;

{v = X and t = Y}x :- y\{x = X and t = Y]

{JC = X and v = Y}

WHAT ABOUTPROGRAM DEVELOPMENT?Proving a program correct after it hasbeen written is difficult. It makes moresense to develop a program and itscorrectness proof hand-in-hand, withthe proof leading the way. When doingthis, it is important to write the programspecification as precisely as possible (interms of pre- and post-conditions)because the specification should driveprogram development. To convey thisidea through an example, we willconsider again the problem of writing aprogram to store the cubes of the first nnatural numbers in array b[0..n-l], withthe restriction that since exponentiationand multiplication are expensive, onlyadditive operations should be used inthe program. Try writing a program forPROBLEM 1 yourself before lookingat our development on the followingpage.

In the event that you have a littletrouble, we should point out thatSOLUTION 1 was developed usingvarious principles of programmingmethodology that have only been out-lined here. Naturally, you might havedifficulty applying them yourself at thispoint. However, any programmer wellversed in the methodology would deriveessentially the same program as the onein SOLUTION 1 in perhaps twentyminutes. How did your solutioncompare?

We give one more example withoutthe program development. Try todevelop PROBLEM 2 yourself beforereading our solution on a followingpage.

The program for PROBLEM 2 hasan interesting history. Jon Bentley atCarnegie-Mellon and Bell Laboratories

SOLUTION TO PROBLEM 1

The first step is to specify the program formally by writingpre-and post-conditions:

Precondition P: 0 < nPostcondition R: (for all i: 0 < i < n: b[i\ - i3)

Assuming the use of a loop to calculate the elements of array b,our correctness ideas require writing an assertion that indicateswhat is true of b just before and after each iteration of the loop.To find this assertion, we introduce a fresh variable k (say),which in this case will be what is often called a "loop counter",put suitable bounds on it, and replace n in R by k, yielding thefollowing two assertions PO and PI:

PO: 0 < k < nPI: (for all /: 0 < i < k: b[i\ = f)

We can make PO and PI true by setting k to 0. Also, whenk - n, R is true. And we write the following program:

fc:=0;while k ^ n do begin b[k] := k3;

k := k + 1end

PO and P\ are known as loop invariants, for they are"invariantly true" before and after each iteration of the loop.One understands the loop in four steps: (0) show that the loopinvariants are true just before execution of the loop; (1) showthat each iteration leaves them true, so that they are true beforeand after each iteration and thus upon loop termination; (2)show that the desired result R follows from the loop invariantsand the falsity of the loop condition; and (3) show that the loopterminates.

The process used here to argue about correctness should beused to argue about the correctness of every nontrivial loop. Itis the programmer's task to annotate each nontrivial loop withthe necessary loop invariants, because they are a necessary partof understanding the loop. It may seem like a lot of work, but,we maintain, it is simply formalizing what a programmer doesanyway when reasoning about why a loop works.

We now have a correct program. However, it uses

exponentiation k3. To get rid of it, we simply introduce a freshvariable x (say) and its definition:

PI: x = k3

With this new loop invariant, we can replace the assignmentb[k] := k3 by b[k] := x. However, PI also depends on k. Beforek is increased by 1, x has to be changed to contain (k + I)3 inorder to maintain the truth of PI. Since

(k + I)3 = k3 + 3*k2 + 3*k+ \

and since x - A:3 just before each iteration, x can be changed tocontain (k + I)3 by executing the assignment

x := x+ 3*k2 + 3*k + 1.

This yields the program

k := 0; x := 0;while k ¥=• n do begin b[k] := JC;

x := JC + 3«&2 + 3*£+ 1;k := k + 1

end

The program still contains exponentiation and multiplication.Repeating (twice) the process that introduced x yields theprogram

k :=0; JC := 0; j> := 1; z := 6;while k ¥" n do begin b[k] :- x;

x := x + y;y - y + z\z := z + 6;k := k + 1

end

where there are five loop invariants:

P0: 0 < k < nPI: (for all i: 0 < i < k: b[i\ = P)Fl:x^k3

P3: y - 3*k2 + 3*k + 1P4: z = 6*k + 6

26

SOLUTION TO PROBLEM 2

The formal specification, using somenotation that should be fairly obvious,

Precondition P: 0 < nPostcondition R: s -

MAX(iJ: 0 < i <j < n: Sitj)

The program is

k := 0; c := 0; s := 0;while & # « do begin

c := mfl.v(c + b[kl 0);5 := wa;c(5, c);A: := A: + 1

end

The program is understood in amanner similar to that described forunderstanding the cube program, usingthe following loop invariants:

P0: 0 < k < nP\: 5 = MAX(i,j: 0 < i < y < A: S,v)

(i: 0 < i < A: Sa)

discovered that a statistician was usinga program for this problem that re-quired time proportional to n3 —theprogram was actually computing thesums of all segments of the array.Several days later, Bentley returnedwith an algorithm that required timeproportional to A?2, and later one thatrequired time nm\og(n). Another statis-tician then showed Bentley a program,similar to ours, that required timeproportional only to n. During a visitto Cornell, Bentley asked us to write a

27 program for his problem. Several of us

who were experienced with the pro-gramming methodology came up withthe program, independently, in about ahalf-hour. (Of course, it took time topresent it as cleanly as SOLUTION 2 ispresented.) We never had to think ofthe n2 or nm\og(n) algorithms; themethodology led us quite directly to thesolution we have shown here.

WHERE TO LEARN MOREABOUT PROGRAMMINGSome of the concepts underlying pro-gramming methodology have foundtheir way down to undergraduatecourses at Cornell such as CS100 andCS211, although in an informal manner,and more will do so as we gainexperience and hone our skills. Pro-gramming methodology is taught at theupperclass level in course CS400,introduced this spring, as well as at thegraduate level; both courses are basedon The Science of Programming, whichwas written by Gries in 1981. Anadditional graduate course, CS613,extends the concepts to deal withconcurrency, which arises in operatingsystems, networks, and databases, wherevarious programs are executed simul-taneously and communicate throughshared data or message-passing.Schneider is writing a text on thesubject of this course.

Because of the youth of the field,computer science enjoys the problemthat many research results are incor-porated quite rapidly into education.Last year's research problem has movedinto this year's first-year graduate courseand will be in next year's senior-levelcourse. Our students, even in the earlyundergraduate years, are learning abouta relatively new discipine as it develops.

The practicality of theoretical researchis demonstrated every day not only inadvanced computing centers, but inuniversity classrooms where tomorrow'spractitioners are learning their skills.

David Gries is chairman of the Departmentof Computer Science and a specialist inprogramming methodology (see the bio-graphical sketch on page II).

Fred B. Schneider is an associate professorin the department. A specialist in concurrentprogramming, operating systems, and dis-tributed systems, he has also written anotherarticle in this issue in collaboration withthree of his colleagues (see pages 18 22). Heis on the College Board Committee onAdvanced Placement in Computer Science,which prepares an examination that reflectsmuch of what is taught at Cornell in theintroductory courses.

ROBOTICS AND COMPUTER SCIENCE

by Dean B. KrafftRobotics as a significant area of com-puter science is a recent phenomenon.In the traditional view, robotics is thestudy of designing, controlling, andinstrumenting robots, and clearly thisview characterizes a large body ofproblems that must be solved to userobots effectively. A robot must be ableto move quickly and precisely to alocation and perform some action suchas grasping an object; this is a problemin design and control. Next, there mustbe some mechanism for storing asequence of robot actions for laterplayback; this is a control problem.Finally, the most sophisticated currentrobots have the ability to modify theiractions in response to sensory input;this presents a problem in instrumen-tation and control.

For research in these three essentialareas—design, control, and instru-mentation—a traditional engineeringapproach seems appropriate. But invery different ways, computer sciencecan also contribute to robotics.

Let us consider what robots do. Theymanipulate physical objects in accord-ance with a set of prespecified in-

structions and their perceptions of theworkspace. This differs from computer-controlled hard automation, long theprovince of mechanical, electrical, andindustrial engineers, in that general-purpose, programmable robots are notspecialized to solve a single physicalproblem. Instead, they can potentiallyperform a number of arbitrary physicalmanipulations.

One way in which robots can be usedis simply to replace hard automation.By manually stepping them through theseries of motions they are to perform,they can be programmed for a singletask. The advantage is that when thetask changes, it is not necessary to scrapthe production line, but only to re-program the robots for the new task.This is a rather limited use for a verypowerful tool, however.

GENERALIZING ROBOTICSUSING COMPUTER SCIENCEBy making use of off-line programming,robot actions can be specified withoutactually moving the robot through thesteps, and this allows the system toprovide more powerful capabilities and

to deal with much more complexsituations. For example, numericalcodes can be generated by a computerusing information from a computer-aided-design database and used forcontrolling machining or assemblyoperations. A robot can make use ofsensory feedback and a database ofpossible actions to guide its behavior; ifit detects errors, it can take alternativeactions and proceed with the task. Off-line programming also allows the robotto deal with variations in the objects orprocesses it is handling, without havinghad all the cases preprogrammed by hand.

Off-line programming brings with itnew requirements, of course. Pro-grammers can no longer make use ofthe actual robot and physical prototypesto answer all their questions aboutposition, action, and movement. In-stead, the robot task must be describedin terms of computer models of theworkspace and the objects to bemanipulated.

The next step immediately suggestsitself. If the robot system has models ofthe physical objects with which it isdealing, why not use these models to 28

"... off-line programming... allowsthe system to provide more powerful capabilitiesand to deal with much more complex situations.J

simulate and reason about the objects?This would allow robot programmersto work at a much higher level, savingtime and money. For example, suchreasoning might allow the robot systemto figure out a grip, to plan motion, todetermine the stability of an assembly(and thus how to move it from onelocation to another), and to understandthe behavior of nonrigid objects (suchas a pair of pliers it must pick up).

We have now arrived at a much moregeneral view of robotics. Functionsinvolving high-level programming,reasoning about objects, and perceptionare qualitatively different from thedesign, control, and instrumentationtasks described earlier. The problemsand goals are much less clearly definedand the techniques required to elucidateand solve them are different. It is indealing with these areas that the analytictools of computer science can makegreat contributions.

USING THE ANALYTIC TOOLSOF COMPUTER SCIENCEIn approaching problems in robotics,

29 computer scientists follow a general

sequence of steps. They analyze aproblem to identify its components;abstract the problem to eliminate un-needed specifics; restate the problem ina formal and rigorous manner; and(ideally) provide provably correctsolutions to the formal problem state-ments. Then they try to apply thesolutions to real problems, determineerrors arising from failures in under-standing the original problem, andrepeat the cycle. In solving such prob-lems, researchers must make use oftools and techniques for complexityreduction, formal reasoning, modeling,data abstraction, algorithmic analysis,and so forth. Computer science providesthe training and tools to solve large, ill-defined, complex problems, and com-puter scientists can apply this trainingand these tools to the problems ofrobotics.

The process has already begun.Computer scientists are already studyingthe design of robot languages and areworking on such problems as how toplan the motion of robots throughpotentially crowded workspaces andhow to program robot arms to grip

objects. Researchers in the area ofartificial intelligence have been studyingcertain aspects of robotics for years;they are working on how computervision can be used to recognize arbitraryscenes, and how mobile robots can bemade capable of navigating throughunknown terrain. Research undertakenso far has been limited, however, tospecific subproblems of robotics.

SOLID MODELING FORRESEARCH IN ROBOTICSThe first step in applying computerscience to robotics is to develop modelsof objects. One requirement is to repre-sent physical surfaces and volumes; overthe last five years, a number of systems,called solid modelers, have been builtto do this kind of modeling. Thesesystems represent objects as mathemati-cal equations pertaining to either thesurfaces of the object or a set ofprimitive solids, and they representsurfaces as either planar polygons orquadrics (a quadric is a surface that canbe represented with a second-degreepolynomial).

Although much progress has been

made in solid modeling, much morework remains to be done. As anexample, let us look at a currentproblem. Most machined objects can bealmost entirely represented by quadricsurfaces. However, the blending andfilleting surfaces that smooth off sharpinside and outside edges of machinedobjects tend to be much more complex,not easily represented in the solid-modeling systems now available. Adesigner may spend far more timedescribing the blending surfaces of anobject, even though the exact shape of

An example of solid modeling developmentat Cornell is this representation of the loggiaof the University's planned center for theperforming arts. The modeling was done byPhil Brock, a graduate student working inthe Program of Computer Graphics. A viewof the adjacent corridor is shown in color onthe front cover.

these may not be essential, than inspecifying the functional surfaces. Thecomputer science robotics researchgroup at Cornell, led by John E.Hopcroft, has recently developed a

technique for automatically derivingfourth-degree blending surfaces forjoining quadric-surface solids. With thissystem, a designer needs to specify onlythe functional surfaces and the systemwill fill in the blending surfaces. Thistechnique has been used in the design ofblending surfaces for several assemblies,including a gate valve (see the imagereproduced in color on the front cover;the blending surfaces are blue).

Another interesting problem in solidmodeling involves the rapid display ofcomplex solid models. In designing aphysical assembly, graphically display-ing the partially created object is animportant part of the user/systeminteraction. When the user makes achange in the assembly, it should not benecessary to wait for minutes or hoursto see a display of the new object. Atthe same time, the more accurate andcomplete the display of the object, themore useful it will be to the designer.The work of two groups at Cornelltypifies research on this problem. Oneteam, led by Donald P. Greenberg,director of the Program of ComputerGraphics, is working on the fast displayof very complex environments for design.Objects are represented by polygonalpanels or by procedurally representedsurfaces, including quadratic surfacesand swept splines. The other group, ledby Hopcroft, is attempting to displaysolids whose surfaces are represented byimplicit algebraic equations. Polynom-ials up to fourth degree or even greaterare used.

There is a trade-off between thetechniques involved: Polygonal panelsare simple to display, but an accuraterepresentation of a curved surfacerequires a large number of panels. On 30

the other hand, curved surfaces usuallycan be modeled with just a few higher-degree algebraic surfaces, but theindividual surfaces are much harder torender. For the fastest display, somecombination of techniques will beneeded.

REPRESENTING ASSEMBLIES:THE NEXT STEPOne of the most important challengesin object representation is to advancebeyond present-day solid modelers.Existing solid-modeling systems canrepresent single solids, such as the resultof a machining or casting operation,quite well, but they have the drawbackof being able to represent assembliesonly as the fixed relative positioning ofa group of simple solids. There is nocapability to represent joints (and theirdegrees of freedom), attachments, flex-ibility, and so forth.

A simple extension to existing solid-modeling systems provides a few ofthese extended capabilities by usingfeature-based models to representassemblies. This method involves theidentification of a set of sites as beingthe focus of some activity, such asattachment or insertion. These sites areexplicitly represented in the objectmodel, and actions affecting the objectare specified in terms of them.

Along these lines, the Cornell com-puter science robotics group has de-veloped a system that uses a feature-based model to describe and performsome simple assemblies. The currentversion of the system deals with a veryrestricted assembly environment—itbuilds Lincoln Log cabins. The userprovides what is effectively an exploded

31 diagram of the desired assembly (Figure

1) and the system, running in Interlispon a Xerox Dandelion (an $8,000workstation), converts this diagram toactual VAL code (Figure 2). This codethen drives our PUMA 560 robot toperform the assembly. The conversionprocess involves planning grips, mo-tions, and transformations on an in-ternal computer model of the actualworkspace (see Figure 3). While theexisting problem domain is still quiterestricted, the underlying structure ofthe system should be able to handlemore complicated and realistic assemblyproblems.

The lack of any representation forjoints, attachments, and so forth inexisting solid modelers has other im-plications. For one thing, it means thatsolid modelers are totally inadequate todetermine the physical behavior of anassembly, and this leads to the nextimportant area of object representation:reasoning about objects. Given a repre-sentation for a collection of objects, adesigner needs to be able to makepredictions about their real-world be-havior. The questions can be as simpleas whether or not an object will fall overor fall apart under the force of gravity,or they can be as complex as how longa car will last if it is driven over acobblestone road.

Recently Rick Palmer, a Cornellgraduate student in computer science,developed an algorithm for testing thestability of a collection of arbitraryobjects. Unfortunately, his work alsoshowed that the general problem is verycostly to solve (it falls into the class ofproblems that computer scientists termNP-complete). There is reason to be-lieve, however, that the problem ismuch more tractable for structures that

can be built without temporary scaf-folding, and the robotics group plans touse this idea as the basis for developinga new system for planning and per-forming assemblies. One of the prob-lems in automating assembly proceduresis to determine the stability of inter-mediate objects; the Cornell groupintends to develop a system that usesheuristics to choose paths that appearlikely to lead to stable partial assem-blies. The stability algorithm could thenbe used to test the proposed assemblysteps. In cases in which the inter-mediates are not stable, it might bepossible to automatically deduce thescaffolding necessary to render thepartial assembly feasible.

REPRESENTING TASKS:A FURTHER CAPABILITYThe next step, beyond reasoning aboutsimple object behavior, involves repre-senting and reasoning about tasks. Twosimple ways to represent tasks illustratesome of the challenges. One way is tosimply represent a task as a sequence ofactions; this is the method used in allexisting robot-programming languages

A system that can be used in describing andperforming simple robot assemblies is beingdeveloped by the Cornell computer sciencerobotics group. These figures illustrate aprototype version that has been devised forbuilding a simple assembly—a Lincoln Logcabin.

Figure I. An exploded diagram descriptionof a Lincoln Log assembly. The letters labelthe logs.

Figure 2. The VAL code for assembly, usedto drive the robot. This was produced by thecomputer from the exploded diagram of thedesired assembly (Figure I).

Figure 3. A sample execution of the assembly-planning system. This is part of the processof converting the diagram to the VAL code.

Right: Krafft demonstrates the assembly ofa Lincoln Log cabin.

Figure 1

Log

1 1

miL

u

1I1

11

i i r

1—1

Log A

Log-B

Log-C

m1

. L11L

1—1—11L

1L111

J_ + _.

r — —• — — — — *

r^aFigure 2

-> (build)(Setting up modules)(Initializing variables)(Compiling assembly graph)(Assembly Planner called to compile)(Ordered list is:)

(transformation-node-type1 transformation-node-type2transformation-node-type3 transformation-node-type4)

(Transformation Manager called to plan:)place(Grip Planner called to grip object:)"log1 origin"(at location:)

{444090.0 557340.0 -356630.0 1.0}(Grip Planner called to plan an ungrip)(Motion Planner called to move robot object:)"manipulator"(Motion Planner called to move robot object:("manipulator"(Transformation Planner called to plan:)logstack(Grip Planner called to grip object:)"Iog2 upper left slot"(at location:

{444090.0 557340.0 -356630.0 1.0}(Grip Planner called to plan an ungrip)(Motion Planner called to move robot object:)"manipulator"(Motion Planner called to move robot object:)"manipulator"(Generating VAL code in file VALCODE.PG)

val. example

Figure 3

Thu Sep 26 16:23:17 1985 Page 1,line 1

.PROGRAM VALCODEMOVE TRANS (400.000000,MOVE TRANS (444.090000,MOVE TRANS (444.090000,DELAY .1OPENIMOVE TRANS (444.090000,DELAY .1CLOSEIMOVE TRANS (444.090000,MOVE TRANS (444.090000,MOVE TRANS (600.000000,MOVE TRANS (600.000000,SPEED 20MOVE TRANS (600.000000,DELAY .1OPENI.END

0.000000, 300.000000, 90.000000, 90.0 0.0)

557.340000, -16.630000, 0.000000, 90.0 0.0)

557.340000, -316.630000, 0.000000, 90.0 0.0)

557.340000, -356.630000, 0.000000, 90.0 0.0)

557.340000, -316.630000, 0.000000, 90.0 0.0)

557.340000, -16.630000, 0.000000, 90.0 0.0)

100.000000, -19.340000, 0.000000, 90.0 0.0)

100.000000, -319.340000, 0.000000, 90.0 0.0)

100.000000, -359.340000, 0.000000, 90.0 0.0)

32

(see Figure 2 for an example). With thismethod it is easy to specify and performthe task, but it may be hard to reasonabout the effect of the task on theworkspace. A second technique is torepresent a task as a set of objects intwo states, the current state and thedesired state. Here the effect of the taskis specified and therefore simple toreason about, but determining thesequence of actions may be a formidableproblem in reasoning.

The second of these representationmethods has obvious applications inrobotics. It encompasses the classicproblems of how to move a robot armand a gripped object through aworkspace—problems that are generallyextremely difficult, as verified bytheoretical work at Cornell and else-where. The method also applies tocompliant motion (the motion of objectsin contact), which is of critical im-portance in many robotics problems.Except for a few specialized appli-cations, such as spray-painting or lasercutting, almost all uses of robots involvecompliant motion. An important the-oretical result was obtained recently byGordon Wilfong, who was then agraduate student in the department,working with Hopcroft. They provedthat if it is possible for two objects tomove from one configuration in whichthey are in contact to another configura-tion in which they are in contact, thenthere is a motion that continuouslymaintains contact between the objects.

Work in the areas of motion planning,compliant motion, and related task-reasoning problems is just beginning tobreak through from the purely the-oretical to results that can be applied to

33 real problems in robotics.

THE POTENTIAL IMPACT ONINDUSTRIAL PRODUCTIVITYAs the use of robots grows and as theyare applied to more and more sophis-ticated tasks, the need for computerscience research in robotics will increasedramatically. A broad area of researchbased on the problems of robotics offersa significant challenge to computerscientists; if it can be met, computerscience will make a valuable contri-bution to a number of areas of pro-duction and engineering.

Research of this kind has alreadybegun, but if continued progress is tobe made, it is essential that scientists atCornell and other institutions recognizeits significance. The prospect is thatover the next decade, robotics willbecome one of the most vitally im-portant research areas in all of computerscience.

Dean B. Krafft has been a research associatein Cornell's Department of ComputerScience since he received his Ph. D. here in1981. As an undergraduate, he majored inmathematics at Carleton College.

Krafft's specialty is robotics, the subjectof this article, and he has been heavilyinvolved in Cornell's robotics program,which is funded by the National ScienceFoundation. He is an author, with hisCornell colleague John E. Hopcroft, of amore extensive paper, "The Challenge ofRobotics for Computer Science, "which willappear in Advances in Robotics, vol. 1:Algorithmic and Geometric Aspects ofRobotics, to be published by LawrenceErlbaum Associates.

"As the useof robots grows...the need forcomputer scienceresearch in roboticswill increasedramatically."

COMPUTER ARCHITECTUREThe Software-Hardware Interface

by Ion A. SolworthThe architects of computers, like thosewho plan buildings, must design forsoundness of construction, effective useof materials, economy, and function.And like their counterparts in thebuilding industry, computer architectsmake use of the available technology.

With computers the technology todayis based on semiconductors and is theresult of combined efforts of specialistsin such fields as electrical engineering,semiconductor physics, chemistry, andmaterials science. Computer architectsmust effectively combine this technologywith structure to attain high-perform-ance systems. This involves the addedelement of software, for the archi-tecture-software interface plays a sig-nificant role in determining the structureof advanced computer systems, and willbecome dominant as the size andsophistication of software continues toincrease. It is here that computer sciencedisciplines are critical to computerarchitecture.

Some of the software is general-purpose and functions to make thecomputer usable. Compilers, for ex-ample, allow programmers to write in

languages like FORTRAN, BASIC, orPascal; operating systems manage re-sources such as processors, memory,disk drives, and terminals. Other soft-ware is specific to the applications thatrun on the machine. To achieve highperformance—speed, reliability, andease of programming—the interactionsamong the architecture, the systemsoftware, and the applications programsmust be taken into account.

THE RISE IN CAPABILITYAND ITS LIMITATIONSThe challenges to computer architecturehave changed and rapidly acceleratedas the modern computer has developed.Indeed, one of the striking differencesbetween traditional architecture andcomputer architecture is the speed ofchange: The introduction of steel as abuilding material in the 1900s—makingpossible the skyscraper—was the lastmajor change in the underlying tech-nology available to the architects ofbuildings. In computer architecture,three major technological innovations-vacuum tubes, transistors, and nowintegrated circuits—have been intro-

Figure I

Figure /. The bead abacus, an Asian formof one of the earliest kinds of calculators.(Photo courtesy of IBM.)

duced since 1946, and each has causedor will bring about large shifts in theways computers are built.

The history of the computer datesback to the use of devices for counting,such as the abacus and the sixteenth-century calculator. With these instru-ments the operations were sequenced(entered) by hand. In the nineteenthcentury, the Jacquard loom was in-vented, and although it was not acalculating device, it introduced a newsequencing method—the use of punchedcards to order the steps necessary toweave a complex textile. Some time 34

Figure 2. Napier's Bones, a sixteenth-century precursor of the slide rule. Whenthe vertical pieces are arranged to show agiven number across the top row, a multiplecan be read from the line corresponding tothe desired multiplier. (Photo courtesy ofIBM.) In the example at right, the selected"bones" correspond to 2698. Readings aremade from right to left, as in ordinaryaddition, with numbers that appear in theparallelograms added together and two-digitsums carried over. For instance, 2698multiplied by 3 yields:

0 (6+1) (8+2) (7+2) 4orO 8 0 9 4.Thus 2698 x 3 = 8094.

Figure 3. Jacquard's loom, a nineteenth-century invention that introduced the use ofpunched cards. The cards automaticallycontrolled the sequence of operations toproduce the desired pattern in the wovenfabric. (Photo courtesy of IBM.)

Figure 4. Part of the Babhage DifferentialEngine, the first mechanical computer. Thislate-nineteenth-century machine was steam-driven. (Photo courtesy of the ScienceMuseum of London.)

Figure 2

81

2/

// o1 //2

\ y

X

61 /

x3 /

/ O

X/»XX5 k

1// «

XX4,/

X/ 3 ,

X7 a

8\7x«XX/°X5 /

cf S

X7 /

oU

35

after that, Charles Babbage set out tobuild the first computer, the completelymechanical, steam-driven DifferentialEngine. Because Babbage's inventionpreceded the introduction of inter-changeable mechanical parts, his at-tempt to build a working computerfailed; yet he pioneered many of theconcepts used in computers even today.

The first electronic computer, theENIAC, was completed in 1946. It usedvacuum-tube technology and was veryslow by today's standards. Because oftheir expense, not a great many vacuum

tubes could be used (the ENIAC hadeighteen thousand). The number waslimited also by the relatively high failurerate: increasing the number of tubesmeant a higher probability of failureand therefore a decrease in the amountof computing actually accomplished.

From the time of the ENIAC to thepresent, computers have increased inspeed by five orders of magnitude. Nowcomputers use transistors fabricated onintegrated circuits (chips) instead ofvaccum tubes. The number of tran-sistors that can fit on an integrated

rf |i! iff:k 1

JLH1 i^

Figure 3

JB J

Figure 4

Right: The EN I AC, introduced in 1946, wasthe first electronic computer. The controlsare at far left and a small part of the outputequipment is seen at right. The developmentof the machine was sponsored by the federalOrdnance Department; researchers at theMoore School of Electrical Engineering atthe University of Pennsylvania (whichloaned the photograph) helped with theprogramming.

circuit has dramatically risen from onein 1960 to about 250,000 now; such achip typically sells for less than fivedollars. Making chips smaller alsomakes them faster because signals havea shorter distance to travel andswitching time is reduced. The gains ofthe last twenty-five years cannot go onforever, however; fundamental physicallaws will ultimately limit chip size toabout 10 million transistors, and thissize limitation (coupled with problemsof heat generation) imposes a limitationon the speed with which we canpractically compute.

The most important physical limi-tation is the speed of light. It may bedifficult to believe that the speed of lightcan really limit the size of computers,but it must be remembered that instate-of-the-art computers the timesinvolved are very short, of the order ofnanoseconds, and in one nanosecond(one billionth of a second) light travelsonly about 4 inches. The CRAY-XMP,a modern supercomputer, performs anaddition in 18 nanoseconds, but thetime required to send a signal from oneend of the computer to the other (a

distance of 56 inches) is 14 nanoseconds.A fast computer must be small or it willspend more time communicating thancomputing. Size reduction brings prob-lems of heat dissipation, however, sothere is a tradeoff.

TAKING UP THE CHALLENGEIN UNIVERSITY RESEARCHSince it is becoming increasingly dif-ficult to make computers faster byimproving the underlying technology,an alternative is being attempted: theuse of more, rather than faster,

components. Traditional computershave several adders; what if there werea thousand? Potentially, a thousand-fold speed-up in computation would bepossible. A difficulty is that traditionalcomputer architectures cannot manageso many resources because the controlissues become dominant: instead ofperforming computations at full speed,adders would be idle, waiting for thecontrol mechanism to decide whatshould be done next. If computers areto achieve the computation rates neededfor science, engineering, and business,new and perhaps radical computerarchitectures must be discovered. Theforemost challenge is the effective useof massive parallelism for solvingcomputationally extensive tasks.

Within this context, the primaryfocus of university research is tocombine thousands to millions ofprocessors so as to provide aggregateexecution rates of over a billion in-structions per second (GIPS). The rawpotential of such computing ensembleseclipses the capability of today's largestcomputers, but this increase in per-formance will not come free—new

"The most important physicallimitation is the speed of light.'

methods of designing computers,systems software, and applicationssoftware are required. It is only throughan integrated approach on these threefronts that the potential of massivelyparallel computers can be exploited.

MICROFLOW: AN APPROACHTO PARALLEL COMPUTINGAt Cornell the aim of a project on whichmy colleague Alexandru Nicolau and Iare working is to combine systemssoftware with architecture in one co-herent system we call Microflow. Themost important piece of software, fromthis perspective, is the compiler. In theMicroflow method, classical compilertechnology is used to analyze theproperties of applications programs,yielding information that enables thecomputer to reduce the time it takes forexecution.

Even with traditional architectures,this technique speeds up computing bya factor of 2 to 5—an impressivespeedup that occurs without involvingthe programmer at all. But whilecompiler-implemented program optimi-

37 zation is an important part of preparing

computationally intensive jobs fortraditional architectures, it is absolutelyimperative for massively parallel pro-grams. Not only is the speeduppotentially much larger, but there aremore details to deal with—the programmust know where the data are and onwhat processor a particular computa-tion is being run. The compiler's analysissimplifies the code, and provides feed-back to the user as well.

To get high performance from amassively parallel computer, it isnecessary to rewrite critical programsso that they will run efficiently. To helpusers do this, we are working on aparallel programming environment thatcombines highly efficient, hand-tailoredcode for critical sections along with theautomated analysis and optimizationfeatures of the compiler. This envi-ronment is being targeted not only atthe Microflow architecture, but also atseveral computers being acquired by thesupercomputer center recently estab-lished at Cornell by the National ScienceFoundation.

The systems software we envision forMicroflow will enable us to build a

computer that would otherwise beimpractical to program. Microflow isaimed at exploiting very fine-grainparallelism. This means we expect totake advantage of parallelism not at thelevel of running separate programs onthe same machine, or manually separ-ated parts of the program in parallel,but at the level of interleaving in-structions (for example, additions) inthe same part of the program. Toefficiently accomplish this, we mustreduce the control overhead that isinherent in traditional design. One wayto do this is to move the overhead tothe compiler so that it is handled onlyonce—when the program is compiled,and not when the program is executed.A second way is to introduce novelarchitectural mechanisms that will effi-ciently execute the code produced bythe compiler and environment. We areworking on both these techniques.

ACCESSING ANDENHANCING MEMORYAlong more traditional lines, Nicolauand Kevin Karplus, a member of theelectrical engineering faculty, are in-

vestigating methods to speed up vonNeumann architectures, which are thebasis of all commercially producedgeneral-purpose computers.

A problem is the so-called vonNeumann bottleneck—the time it takesto get information from the centralmemory to the processor. This bottle-neck is alleviated, in part, by retrievingmore information from memory than isneeded, with the hope that the extrainformation will be used shortly by theprocessor. This technique works wellwhen the accesses are predictable, butwhen they are not the processor is idledwhile it waits for memory. Another wayto reduce the bottleneck is to improvethe prediction of accesses to memory sothat requests can be anticipated better.A Cornell project called ROPE (Ringof Prefetch Elements) is exploring novelprogramming techniques intended toensure that the processor very rarely hasto wait for access to memory in order toreceive instructions.

Another important problem in com-puter architecture is support for specialprogramming languages and applica-tions. The goal of Cornell research in

this area is to improve the performanceof very sophisticated programminglanguages or, equivalently, to reduce thetime penalty associated with their use.One approach is to build very-high-performance systems out of unconven-tional languages; another is to provideenvironmentally rich computer systemsthat will enable programmers to buildsoftware more quickly.

A popular programming languagestructure (called a class) is Simula,which incorporates both the data andthe operations performed on data in asingle entity. My research group isinvestigating an enhanced-memoryarchitecture called a Negotiator, whichshould implement such systems betterthan traditional architectures can.

COMPUTER-AIDED DESIGN:KEY TO ARCHITECTUREComputer-aided design (CAD) of inte-grated circuits is a key technique incomputer architecture. Several of ourprojects require prototype computersfor testing theories, and without soph-isticated CAD, these prototypes wouldbe too complex for us to build.

Errors in design result in unusablechips. There is no way to patch a chip;the design must be changed and thewhole manufacturing process repeatedfrom scratch. Not only is this time-consuming and expensive, requiringtypically several months and costingseveral thousand dollars, but there is aworse problem. A chip containing, say,250,000 transistors would have about ahundred pins where electrical signals areinput or output, and there is no way toprobe the interior (as there is inconventional electronic design) toidentify the error.

All sophisticated chips producedtoday, either in industry or in a uni-versity research laboratory, are bothsimulated and validated. Simulationapplies signals to a computer model ofthe input/output (I/O) pins and pro-duces the same output as the actual chipwould. Since the simulation is acomputer model, it is possible to probeinterior points and diagnose problems.Simulation is dynamic: it tests that thechip will work on certain suppliedinputs. Because the designer has to beresponsible for making sure that thetests are complete, simulation serves asan assurance test rather than a guar-antee that the chip is correct. Validation,on the other hand, is an absolute checkon certain correctness properties—forexample, it verifies that wires have atleast some minimum width. Validationis always preferable to simulation, butmay not be available for all properties.

Validation of timing can also beaccomplished with the help of CAD.The transistors on an integrated circuitcan be thought of as implementing aseries of switches that propagateelectrical signals along wires, much as arailroad switching yard routes trains ontracks. A problem in designing a chip,then, is to ensure that valid informationis always on the wires when these areused in a computation; in the railroadanalogy, this corresponds to ensuringthat trains do not collide in the yard. AtCornell, Karplus is working on graphtheoretic algorithms to analyze andverify that integrated circuits meet thisimportant condition.

A third pertinent area of CAD is themanagement of the design process andeffective exploration of design alter-natives. With today's VLSI (very-large- 38

a «iaf ft .lafft faffi aafft iafft Safdiffaa; :r4 a • aw a; spa a - « m i a l =1fefft

39

ms&smmsm&mi

?p^-i?c^:s?

LTP f t I lia^

r/1/5 computer plot of a section of a VLSIlayout was generated in Solworth's lab-oratory in three colors. The section shows aqueue of nine bit elements, eleven elementsdeep—part of a switch for a large parallel-processor communication network. Thestructural appearance of the tiny chipproduced from this design will be almostexactly like this plot.

scale integration) chips, it is difficult toevaluate all the design alternatives;CAD simplifies the job.

A GENERIC APPROACHTO PROBLEMS OF LAYOUTAn area of particular interest to Cornellresearchers is layout, the placement ofcomponents on an integrated chip. Anintegrated circuit contains transistorsand wires embedded in a plane; thedatabase for a million-transistor chip,for example, contains about five milliongeometric shapes. These componentsshould be packed as tightly as possiblewithout overlapping, but since thedesign begins with an electrical circuitrather than with a planar mapping, theembedding, or layout, must be workedout later to achieve maximum efficiencyand compactness.

Layout is now performed manuallyat a color graphics workstation, amethod that is a linear extrapolation ofthe historical process of integrated-circuit (IC) design. This method isreaching the limits of its ability tohandle effectively the complexity ofcurrent chips, for the designer, in effect,must draw each object in the integratedcircuit. To the extent that objects are

reused, they can be replicated ratherthan redrawn, but there is a tradeoff:the more general-purpose (and hencemore easily replicated) the objects, thelower the performance of the chip.

In a project called GENERIC (forGENERation of Integrated Circuits),my research group is working onimproved layout techniques. Since pro-gramming languages have been used forthirty years for both abstraction andspecification of computation in a widevariety of problems, we believe that alanguage approach would be suitablefor IC design. The starting point is adescription, in GENERIC, of theelectrical circuit that implements thedesired function. Using both libraryroutines and special-purpose routines,the designer creates an embodiment ofan integrated circuit by "fleshing out"the original circuit.

In explaining GENERIC, we oftendraw an analogy between designing anintegrated circuit and flying an airplane.The graphics approach is like flying bysight; it is simple, develops intuitionabout how to "fly", and is the leastexpensive method. However, flying by

sight (normal graphics layout) is notsufficient when the weather is bad orwhen the plane must land at a busyairport. For these conditions, it isnecessary to fly by instruments (useprogramming techniques). Before theycan replace the simpler fly-by-sightmethod, though, these instruments mustbe sufficiently accurate, complete, andcomprehensible. The design instru-mentation of VLSI CAD is not yet goodenough, and GENERIC seeks to im-prove it. We are developing instrumentsfor assessing (without looking) thequality of the design. We are creatingpowerful operators to achieve high-levelobjectives. And we are working onmechanisms for managing designdetails.

THE CONTINUING FUNCTIONOF COMPUTER ARCHITECTUREHowever advanced computer tech-nology is or becomes, it depends onactual physical structures in order tofunction.

The first computer, the BabbageDifferential Engine, was mechanical.Now computers are electronic. In the

future they may be based on optical orbiological technology. But regardless ofthe available materials, techniques, andunderlying technologies, computersmust be designed as overall structuresthat work. Architecture will continue tobe an important aspect of the re-markable evolution of the computer.

Jon A. Solworth, a specialist in computerarchitecture, VLSI, and computer-aideddesign, joined the Cornell computer sciencefaculty in 1984. He holds two degrees incomputer science from New York Universityand soon will receive his doctorate.

While he was an undergraduate, Solworthworked as a programmer and analyst forthe Standard Security Life InsuranceCompany. As a graduate student he servedas a research assistant and assistant researchscientist at New York University and alsohad experience as a consultant to BankersTrust. 40

SETTING AN EXAMPLEAdministrative Computing in Cornell'sDepartment of Computer Science

by Diane Duke and Michele FishOur department acquired its firstcomputer, a DEC PDP 11/60, in 1978.The faculty members may have thoughtof computers as tools for research andinstruction, but the administrative staffsoon developed other ideas! It wasn'tlong before an interactive terminal wasplaced in the main office for shared useby the staff members. The department'sexciting—but sometimes harrowing—move into the use of computers foradministrative purposes had begun.

At the time, the department had nocomputer technicians or staff program-mers; it was the faculty members andgraduate students who had to keep thehardware running and the softwareusable. After a while, many proceduressuch as booting the system after crashesand taking system dumps becameroutine. (The system crashes when, foran unknown reason, it simply stopsworking; one then reboots the systemby loading it into memory from mag-netic tape. Dumping means to store thecontents of disks on magnetic tape sothat the information can be recovered ifthe disks fail. Currently, one of our

41 central computers has disk space to

hold almost 550 million characters ofinformation, and losing them would becatastrophic.) A staff member becamefamiliar with these procedures andbegan performing them; and for thenext four years, many problems thatarose with the system were fixed by anoffice staff member. It was not thetypical "secretarial" work.

Since our departmental computingequipment is mainly for experimentalresearch, this was the main consider-ation in deciding on an operatingsystem. Less importance was placed onword-processing capability. For thisreason, the system is not as "userfriendly" as those generally used forword processing, but it provides muchmore flexibility and function for thosewho learn to use it. We learned a lotabout computer systems. And, havingbeen innovators, we have been able totrain people in other departments aswell as in our own.

Today all the administrative staffmembers in Computer Science, as wellas everyone on the faculty and technicalsupport staff, have on their desksinteractive terminals with access to the

main computers. Typewriters are rarelyused. Management, administrative, andclerical duties are performed with thesame computer system used for research.

COMMUNICATION USINGELECTRONIC MAILHow does the computer system affectthe day-by-day conduct of departmentbusiness? Take communication as anexample. No one has to check amailbox for telephone messages becausethey are all delivered by electronic mail,along with many intradepartmentalcommunications. If a call for x cannotbe received personally, for whateverreason, the receptionist simply types"mail x", along with the message, intothe terminal; the time and date areautomatically recorded. Within seconds,the message is stored in x's files andappears on his or her terminal screen;an answer can be sent at a convenienttime. There is also a broadcast capa-bility so that we can alert a group ofpeople to a special problem, an im-minent meeting, or some other matterof common concern.

The electronic mail service is notlimited to the department, for thesystem is connected to several nationaland international networks such as theARPAnet of the Department of De-fense, and CSnet, which serves thecomputer-science community. Depend-ing on the network used, transmissionof a message can take from five minutesto one day. An impressive demonstra-tion of the usefulness of networkcommunication was provided recentlyby the chairman of our department,who used it to write a twenty-pagereport in collaboration with colleaguesin Seattle, Atlanta, and Palo Alto. Adraft was mailed electronically to theauthors in round-robin fashion, andwithin two days each had read andedited it on the computer.

Besides our own address file, we haveaccess to central address files (one inBoston and one in Palo Alto) listingpeople around the country who are incomputer science or related fields. Onecan query these from a desk terminaland get both a post-office address andan electronic address in a few seconds.Some day such electronic address files

will be available for other disciplines aswell.

More and more units at Cornell areacquiring their own computers and aUniversity-wide network is being in-stalled. Already the College of En-gineering has its own Ethernet that linksthe computers in all its buildings. Soonit will be possible to mail electronicallyan article like this to Engineering:Cornell Quarterly, and an edited draftcould be returned the same way. Aninitial difficulty is that different unitshave different word-processing orcomputer equipment and software; wayswill have to be found to translate fromone system to another.

HANDLING CORRESPONDENCEAND OTHER CLERICAL TASKSIn our office most correspondence istyped using the computer system insteadof a typewriter. A letter can be com-posed on the system, mailed electron-ically to others for comments or re-vision, and checked electronically forspelling errors. Figures and tables canbe incorporated easily by picking themup from other files. The final step is toproduce the hard copy—the actualletter—using either a typewriter-likedevice or a laser printer. When almost-identical but personalized letters are tobe sent to a number of people, they canbe prepared by "filling in the blanks" ina standard format, thus avoiding havingto type each one separately; this pro-cedure is used, for example, by thegraduate faculty representative and hissecretary in corresponding with pro-spective graduate students.

Many other clerical tasks are easilyaccomplished using the system. Tech-nical reports, annual reports, mailing

labels, address lists, course-enrollmentadds/drops—all these are handledroutinely.

The preparation of our annual reportis an example of how the system canreduce work. The report contains, foreach faculty member, lists of Universityactivities, professional activities, lecturesgiven, and publications. A secretarymails each faculty member the sectionof the previous report that pertains tohim or her, and the faculty member (ora secretary) changes it electronically tobring it up to date. A simple electroniccollation completes the work on thatpart of the annual report. The in-formation can also be used to updatethe faculty member's vita, which is keptin a central file.

The preparation of research proposalsis greatly facilitated by the computersystem because many parts that arerequired—technical data, vitae, refer-ences, budgets, etc.—can be gatheredfrom stored files. From the adminis-trative point of view, the computersystem is particularly useful in preparingthe proposed budget for a researchproject: various packages, such asspreadsheets, are very helpful. Once aproject is funded, the budget can betransferred to active accounting recordswithin the system.

Accounting is another big job that ismade easier by the computer system.Records from Cornell's computer mustbe verified and interpreted at thedepartmental level, and it is simple tocheck charges to an account against theoriginal approved budget on file in oursystem. We can also verify availablebalances in research accounts andprepare financial reports to the prin-cipal investigators. Department records 42

Duke and Fish

pertaining to such items as purchaseand work orders, accounts payable/receivable, equipment inventory, andthe payroll are also kept on the system.Spreadsheet programs are utilized inmaintaining and handling the data. Forsecurity reasons, some personnel andmanagement records have not yet beencomputerized, but soon we will getaround this problem by using personalcomputers and workstations that makeit possible to store sensitive data locallyand still have access to the centralsystem.

Student records, which are especiallycomplicated for an intercollege depart-ment like Computer Science, are wellhandled by the interactive system. AnApple Macintosh database package hasbeen adapted for keeping the records ofundergraduate computer science majorsin both the College of Engineering andthe College of Arts and Sciences.Computerized records for graduatestudents, including information aboutadmission, financial aid, and academicstatus, makes life easier for the graduatefaculty representative and also for his

43 secretary.

A SYSTEM FOR EVERYONEIN THE DEPARTMENTWe know from personal experience thatthe interactive computer system hasincreased the effectiveness of the de-partment's administrative staff. One ofus, Diane Duke, works with personneland accounting records, and the other,Michele Fish, coordinates the under-graduate academic program. Other staffmembers use the system in carrying outtheir special responsibilities. AnitaAffeldt works with the graduate facultyrepresentative in administering thegraduate program. Geri Pinkham usesthe department computer to keepaccounting records. Donette Isenbargerhas attended a seminar on adminis-tration using the department's newXerox workstations and is now re-sponsible for training the rest of theclerical staff on the Xerox STARsystem.

These staffers and many others in thedepartment are using the continuallychanging and growing computer system,or are learning to do so. They havediscovered a new truth—that therequirements for administrators and

secretaries have expanded in a veryshort time as terminals have replacedtypewriters. The office, as well as theclassroom and the research laboratory,is at the forefront of advances incomputer science.

Diane Duke, administrative manager of theDepartment of Computer Science, came toCornell nine years ago as an administrativeaide. She now supervises a staff of twelve,including research and department secre-taries, an accounts coordinator, adminis-trative aides, and office assistants. Shemajored in business education at OregonState University.

Michele Fish joined the department as asecretary in 1980 and was one of the firststaff members to become proficient in theuse of computers. Currently an adminis-trative aide, she coordinates the depart-ment 5 supervision of undergraduate majorsin two colleges. She is a participant in theUniversity 's employee degree program andrecently enrolled in the College of HumanEcology with a major in human developmentand family studies.

VANTAGEBurns

• An additional ring around Jupiter,discovered by researchers including aCornell engineering professor, will bean unexpected feature for NASA'sGalileo space probe to observe when itexplores the giant planet in 1988-1990.In fact, the discovery has brought abouta rerouting of Galileo to avoid passagethrough the ring.

The engineering professor is JosephA. Burns of the Department ofTheoretical and Applied Mechanics,whose specialty is celestial mechanics.He worked with Mark R. Showalter, aCornell postdoctoral associate in as-tronomy who was a graduate student atthe time of the study, and two NASAscientists, Jeffrey N. Cuzzi and JamesB. Pollack. They found evidence of thepreviously overlooked ring by repro-cessing data of a particular Voyager 2image.

Right: This reprocessed image from Voyager2 shows the newly discovered ''gossamer"ring as a faint band at center-right. Thebright ring and the halo ring are at upperleft.

tr

44

Particles detected so far in theband—called the "gossamer" ringbecause of its faintness—are in themicrometer range, about the size ofsmoke particles. NASA's concern aboutGalileo is that even particles as small asthis might penetrate the probe's heatshield, causing heat "spikes" that onentry into the planet's atmosphere couldshatter the heat shield, jeopardizing themission. Individual ring particles havelifetimes that are very limited becauseof the ring's location in the planet's VanAllen belt, a region of intense electro-magnetic radiation. Presumably, thering is continually regenerated by micro-meteoroid collisions into larger unseenparent bodies. The particles, dark redin color, may be continually coated bythe outpourings of the volcanoes on theJovian moon Io.

The gossamer ring extends some210,000 kilometers from the planet. It isabout twenty times as faint as thepreviously known "bright" ring, whichcan be seen only by the largest telescopeson Earth. The other known feature is a"halo" ring that extends about 10degrees out of the main ring plane. TheGalileo mission, scheduled for launchnext spring, is expected to provideimages and detailed data about thesefeatures, as well as Jupiter's satellites,surface, and atmosphere, during theprobe's voyage of two or more yearsthrough the Jovian system.

• Key problems for United Statesmanufacturers were discussed at aweek-long conference this summer thatbrought more than forty senior ex-ecutives to the campus. "Managing the

45 Next Generation of Manufacturing

Technology," offered for the secondyear, was held August 12 through 16.

The main topics were applicableengineering developments, businessanalysis of technology, and factorsinvolved in introducing change. JohnA. Muckstadt of the College ofEngineering, who is director of theCornell Manufacturing Engineering andProductivity Program (COMEPP), andL. Joseph Thomas of the JohnsonGraduate School of Management werethe symposium directors. Other facultyparticipants represented University units

Above: C. Reid Rundell, an executive vicepresident at General Motors, gave an after-dinner talk about changes in production andprocess design that are being implementedin the manufacture of the new Saturnautomobile, a world-class car in terms ofquantity and cost.

Other after-dinner speakers were AIZettlemoier of IBM, who gave the keynoteaddress, and Cornell Professor Alfred E.Kahn, who talked on the economic future—government policy, international compe-tition, and business decisions.

Left: Industrial delegates participated in thediscussions.

in architecture, in arts and sciences, andin industrial and labor relations.Speakers from the engineering collegeand their areas of expertise includedMuckstadt (distribution systems),Herbert H. Johnson (new materials), K.K. Wang (CAD/CAM/CAE or com-puter-aided design, manufacturing, andengineering), Noel MacDonald (auto-mated manufacture of integrated cir-cuits), and John E. Hopcroft (robotics).

REGISTER

• Six engineering schools or depart-ments opened the fall term with newfaculty members.

Harry E. Stewart, a specialist ingeotechnical engineering, joined theSchool of Civil and EnvironmentalEngineering as an assistant professor inthe Department of Structural Engineer-ing. He received the B.S. degree inchemistry at the State University ofNew York (SUNY) at Brockport, andthen switched to civil engineering,earning the B.S. at SUNY Buffao andthe M.S. and Ph.D. at the University ofMassachusetts at Amherst. After re-ceiving the doctorate in 1982, he taughtat Amherst and at the University ofSouth Carolina before coming toCornell. Stewart's honors include mem-bership in Tau Beta Pi, Chi Epsilon,and Sigma Xi. He belongs to theAmerican Society of Civil Engineers,the Transportation Research Council,and the United States branch of theInternational Society of Soil Mechanicsand Foundation Engineering.

A new associate professor in theDepartment of Computer Science isDexter C. Kozen, who came to the

University from IBM Research Labor-atories, where he was a research staffmember and manager of the theory ofcomputation group. After graduating in1974 from Dartmouth College (wherehe received the John G. Kemeny Prizein Computing), he came to Cornell forgraduate work and received his doc-torate in 1977. Before joining IBM, hewas a postdoctoral fellow at the Uni-versity of California, and he has been avisiting professor at Aarhus Universityin Denmark and an adjunct professorat Columbia University. He is a memberof the Association for ComputingMachinery and the American Mathe-matical Society.

Victor Solo, formerly an associateprofessor at Harvard University, joinedthe School of Electrical Engineering asan associate professor. A specialist instochastic processes, he has also servedas an assistant research scientist at theUniversity of Wisconsin and as avisiting associate professor at PurdueUniversity. Solo earned two under-graduate degrees in Australia: the B.Sc.in mathematics at the University ofQueensland (where he won the math-

ematics prize) in 1971; and the B.Sc. instatistics, with first class honors, at theUniversity of New South Wales in 1973.The following year he received the B.E.degree in mechanical engineering, withfirst class honors, from the Universityof New South Wales, and in 1979 hewas awarded the Ph.D. in statistics bythe Australian National University. Hespent two years with the Common-wealth Scientific and Industrial Re-search Organization as a consultingstatistician. He is an editor or reviewerfor several journals in engineering andstatistics, and belongs to the Institute ofElectrical and Electronics Engineersand the Institute of MathematicalStatistics.

A new assistant professor in theSchool of Mechanical and AerospaceEngineering is Michel Y. Louge, whosefield is thermal sciences. Louge receivedthe degree of Ingenieur from the EcoleCentrale des Arts et Manufactures in1978, and took his graduate work inmechanical engineering at StanfordUniversity, which awarded him theM.S. in 1979 and the Ph.D. in 1985.Since the fall of 1984 he had been a 46

Cady Hammer

47

process development engineer at ShellInternational.

In the School of Operations Researchand Industrial Engineering, William J.Cook has joined the faculty as anassistant professor. Cook came toCornell from West Germany, where hewas an Alexander von Humboldt Re-search Fellow at the University of Bonnfor two years. His degrees are the B.A.from Rutgers University, the M.S. fromStanford University, and the Ph.D.from the University of Waterloo. Hisspecialty fields are combinatorics andcombinatorial optimization.

Also new to the operations researchand industrial engineering faculty isMichael Phelan, who studied for hisM.S. and Ph.D. degrees at Cornell. Heearned the B.A. degree at the StateUniversity of New York college atOneonta in 1978. He has had experiencein applications and systems program-ming with Townsend and Greenspan,Inc. His professional interests includeinference problems from stochastic pro-cesses, particularly counting processes.

Timothy J. Healey, a specialist insolid mechanics, is an assistant professor

in the Department of Theoretical andApplied Mechanics. His three degreesin civil engineering are the B.S. fromthe University of Missouri and the M.S.and Ph.D. from the University ofIllinois at Champaign-Urbana. AtIllinois he received the 1985 Chester P.Siess Award, which recognizes out-standing doctoral work and promise forresearch. His experience includes twoyears with Agbabian Associates of LosAngeles beginning in 1978, and teachingmathematics at the University ofMaryland last year. Healey is a memberof the honorary societies Chi Epsilon,Tau Beta Pi, and Omicron Delta Kappa,and belongs to the American Math-ematical Society, the American Aca-demy of Mechanics, and the Society forIndustrial and Applied Mathematics.

• A new administrative appointment atthe College of Engineering is that of K.Bingham Cady as associate dean forcollege affairs. Cady, a professor ofnuclear science and engineering and ofapplied and engineering physics, hasbeen serving as associate dean forprofessional programs. Cady has been

at Cornell since he received his doc-torate from the Massachusetts Instituteof Technology in 1962. In addition tohis academic and administrative workat the University, he has has extensiveexperience as a consultant to industrialfirms and national facilities, includingthe Knolls Atomic Power Laboratory,the U.S. Atomic Energy Commission,Brookhaven National Laboratory,Hanford Engineering DevelopmentLaboratory, and Fauske and Associates.He has held a Ford Foundation Pre-induction Scholarship, a BethlehemSteel Industrial Fellowship, a WoodrowWilson Fellowship, and a U.S. AtomicEnergy Commission Fellowship inNuclear Science and Engineering. He isa member of Phi Eta Sigma, Sigma Xi,and Tau Beta Pi.

• The new director of the Laboratoryof Plasma Studies is David A. Hammer,professor of nuclear science and en-gineering and a specialist in plasmaphysics, nuclear fusion, and high-powerelectron- and ion-beam physics. Hesucceeds Ravindra N. Sudan, who isnow deputy director of the Center for

Shoemaker Liu

Theory and Simulation in Science andEngineering, one of four recently es-tablished National Advanced Comput-ing Centers. Hammer came to Cornellin 1977 after seven years as a researchphysicist with the Naval ResearchLaboratory, and has been on the facul-ties of the University of Maryland, theUniversity of California at Los Angeles,and Imperial College, London. He is afellow of the American Physical Society,a senior member of the Institute ofElectrical and Electronics Engineers,and a member of the American Asso-ciation for the Advancement of Scienceand of Sigma Xi.

• In administrative changes at theSchool of Civil and EnvironmentalEngineering, Professor Christine A.Shoemaker has been named chairmanof the Department of EnvironmentalEngineering and Professor Philip L.-F.Liu has succeeded her as associatedirector of the School.

Shoemaker has been at Cornell since1971, when she received the Ph.D.degree in mathematics from the Uni-versity of Southern California. After a

year as a research associate here, shejoined the environmental engineeringfaculty. A specialist in pest manage-ment, water resources systems, andmathematical ecology, Shoemaker is amember of several graduate fields atCornell: applied mathematics, agricul-tural engineering, entomology, andecology, in addition to civil and en-vironmental engineering. She has servedon National Academy of Sciences panelson pest management and on ground-water contamination. She is a memberof the U.S. National Committee for theScientific Council on Problems in theEnvironment—a standing subcommitteeof the Environmental Studies Board ofthe National Academy of Sciences.Also, she is on an advisory panel onpest management for the Food andAgriculture Organization of the UnitedNations. She is a member of theEntomological Society of America, theAmerican Geophysical Union, theBiometric Society, and the OperationsResearch Society of America.

Liu, a specialist in fluid mechanicsand coastal engineering, is a professorin the Department of Environmental

Engineering. He joined the Cornellfaculty in 1974 after earning the B.S.degree at National Taiwan University,and the M.S. and Sc.D. at theMassachusetts Institute of Technology.He has also been a visitor at theUniversity of Delaware and the Cali-fornia Institute of Technology. Hishonors have included the 1978 WalterL. Huber Research Prize awarded bythe American Society of Civil Engineers(ASCE), a Justice Foundation facultyfellowship at Cornell, an EngineeringFoundation fellowship in 1980, and aGuggenheim fellowship in 1980. He is amember of the ASCE and the AmericanGeophysical Union.

• Benjamin Nichols, professor ofelectrical engineering, has been namedassociate director of the School ofElectrical Engineering. A Cornellfaculty member since 1946, Nichols hashad a continuing interest in educationalpolicies and techniques; his work in thisarea at the College of Engineering hasincluded directing the former Divisionof Basic Studies and serving on thecommittee that set up the current core 48

Nichols Scheele

curriculum. Nichols is a Cornellalumnus and holds the Ph.D. in geo-physics from the University of Alaska.

• At the National Research andResource Facility for Submicron Struc-tures (NRRFSS), Gregory Galvin, apostdoctoral associate, and J. PeterKrusius, an associate professor, havebeen named associate directors. Galvinworks with the user program, whichaccommodates researchers from acrossthe nation who come to work at thenational facility, and Krusius is incharge of the Cornell Program onSubmicrometer Structures (PROSUS),a program for industrial affiliates.

• Recently appointed staff memberswho work with students include JudyJackson, coordinator for advising in theOffice of Admissions, Advising, andRecords; and Linda Van Ness, coor-dinator of the Engineering CooperativeProgram.

Jackson holds a B.A. degree inFrench from the University of NorthCarolina at Greensboro and an M. A. in

49 Francophone African literature, geo-

graphy, and foreign policy from BuckellUniversity. She has taught at Susque-hanna University and headed the Officeof Minority and Foreign StudentAdvising at Bucknell.

Van Ness has been at Cornell since1981, most recently as a staff memberin the dean's office. She holds anassociate degree in psychology fromGenesee Community College.

• George F.Scheele, associate professorof chemical engineering, has beennamed a fellow of the AmericanInstitute of Chemical Engineers. He wascited for his contributions to engineeringeducation and to research in fluidmechanics.

A graduate of Princeton Universityand a Ph.D. from the University ofIllinois, Scheele has been at Cornellsince 1962. He has also been a visitingprofessor at the University of Californiaat Berkeley, a "Year-in-Industry Pro-fessor" at E. I. duPont de Nemours, anda research engineering with the DowChemical Company. He is currentlyserving as associate director of theSchool of Chemical Engineering.

• The National Best Student Sectionof the Society of Women Engineers isour own SWE chapter. The selection ofthe Cornell group, announced early thisterm, was made in recognition of thechapter's ambitious and well-roundedprogram in 1984-85. The award isaccompanied by a cash grant from theUnion Carbide Corporation.

SWE's events during the year in-cluded an awards banquet, a visit toCorning Glass Works, a barbeque, anice-skating party, and a party on theengineering quadrangle open to every-one at Cornell. The society also spon-sored programs for prospective stu-dents: High School Day in November,and Accepted Candidates Weekend inApril. A program in career guidanceincluded seminars, workshops, and thepublication of members' resumes.Younger members were helped aca-demically and personally throughtutoring and a Big/Little Sisterprogram.

The 1984-85 president was MargotHaartz, a senior in mechanical engi-neering. This year's president, MargaretAu, is an electrical engineering major.

FACULTYPUBLICATIONS

Current research activities at the CornellUniversity College of Engineering are representedby the following publications and conferencepapers that appeared or were presented duringthe four-month period February through May,1985. (Earlier entries omitted from previousQuarterly listings are included here with the yearof publication in parentheses.) The names ofCornell personnel are in italics.

• AGRICULTURALENGINEERING

Steenhuis, T. S., C. Jackson, S. K. J. Kung, andW. Brutsaert. 1985. Measurement of groundwaterrecharge on eastern Long Island. Journal ofHydrology 79:145-69.

Taylor, R. W., and G. E. Rehkugler. 1985.Development of a system for automated detectionof apple bruises. Paper read at conference, Societyof Manufacturing Engineers, 25-28 February1985, in Chicago, IL.

• APPLIED ANDENGINEERING PHYSICS

Del Priore, L. V., and A. Lewis. 1985. Vanadate,tungstate, and molybdate activate rod outersegment phosphodiesterase in the dark. Bio-chimica et Biophysica Acta 845:81-85.

Dowben, P. A., D. Mueller, T. N. Rhodin, andY. Sakisaka. 1985. Molecular bromine adsorptionand dissociation on iron and nickel surfaces.Surface Science 155:567-83.

Dowben, P. A., Y. Sakisaka, and T. N. Rhodin.1985. Angle-resolved photoemission from bro-mine chemisorbed on Ni(100). Journal of VacuumScience and Technology A3:1855-59.

Park, S., L. C. Rathbun, and T. N. Rhodin. 1985.Effect of inert ion bombardment on chemi-

sorption and etching of aluminum films in CI2,Br2, CCI4, and CBr4. Journal of Vacuum Scienceand Technology A3.791-94.

Rhodin, T. N., M.-H. Tsai, and R. V. Kasowski.1985. Chemisorptive bonding of carbon monoxideon Ni(OOl) and Fe(l 10). Applied Surface Science22/23:426-43.

Sakisaka, Y., T. Rhodin, and D. Mueller. 1985.Angle-resolved photoemission from Fe(110):Determination of E(k). Solid State Communi-cations 53:793-99.

• CHEMICAL ENGINEERINGAnderson, C. C, and F. Rodriguez. (1984.)Polymeric plasticizers for poly(methyl meth-acrylate). In Proceedings, American ChemicalSociety Conference on Polymeric MaterialsScience and Engineering, vol. 51, pp. 609-13.Washington, DC: ACS.

Calado, J. C. G., and P. Clancy. (1984.) Thedevelopment of a flexible intermolecular potentialenergy function for ethylene. Revista Portuguesade Quimica 26:85-91.

Calado, J. C. G. 1985a. The dialogue betweenorder and disorder. Boletim da SociedadePortuguesa de Quimica, 2d ser., 20:9-10.

. 1985Z>. The need for new developmentsin thermodynamics. Paper read at ChemPor 85,4th International Chemical Engineering Con-ference, 15-19 April 1985, in Coimbra, Portugal.

Chen, J., A. L Tannahill, and M. L. Shuler. 1985.Design of a system for the control of low dissolvedoxygen concentrations: Critical oxygen concen-trations for Azotobacter vinelandii and Es-cherichia coli. Biotechnology and Bioengineering27:151-55.

Cho, T, G. F. Payne, and M. L. Shuler. 1985.Integrated product recovery and byconversionreactors. Paper read at 7th Symposium on

Biotechnology for Fuels and Chemicals, 14-17May 1985, in Gatlinburg, TN.

Clark, D. S., J. E. Bailey, and D. D. Do. 1985. Amathematical model for restricted diffusion effectson macromolecule impregnation in poroussupports. Biotechnology and Bioengineering27:208.

Cohen, C, and D.-h. Hwang. 1985. Diffusion andrelaxation in polymer-solvent systems by photoncorrelation spectroscopy. In Physical optics ofdynamic phenomena and processes in macro-molecular systems, ed. B. SedlaCek, pp. 49-57.Berlin: Walter de Gruyter.

Eggebrecht, J., K. E. Gubbins, A. Shreve, S. M.Thompson, and J. P. R. B. Walton. 1985. Thevapour-liquid interface for a Stockmeyer fluid.Paper read at Dense Fluids Conference, RoyalSociety of Chemistry, 10-12 April 1985, in Bristol,U.K.

Einsele, A., R. K. Finn, and W. Samhaber. 1985.Mikrobiologische und biochemische Verfahrens-technik: Eine Einfiihrung. Weinheim, Germany:Verlag Chemie.

Georgiou, G., J. J. Chalmers, M. L. Shuler, andD. B. Wilson. 1985. Continuous immobilizedrecombinant production from E. coli capable ofselective protein excretion: A feasibility study.Biotechnology Progress 1:75-79.

Gray, C. G., C. G. Joslin, V. Venkatasubra-manian, and K. E. Gubbins. 1985. Inductioneffects in fluid mixtures of dipolar-quadrupolarpolarizable molecules. Molecular Physics54:1129-48.

Gubbins, K. E. 1985a. Computer simulation andtheoretical studies of liquid mixtures: Brute forcevs. insight. Paper read at ChemPor *85: 4thInternational Chemical Engineering Conference,15-16 April 1985, in Coimbra, Portugal.

. 19856. Molecular studies of gas pro-perties. Paper read at Gas Research InstituteWorkshop on Thermophysical Properties, 21-22March 1985, in Houston, TX.

Joslin, C. G., C. G. Gray, and K. E. Gubbins.1985. Renormalized perturbation theory fordipolar and quadrupolar polarizable fluids.Molecular Physics 54:1117-28.

Kung, D. M., and W. L. Olbricht. 1985. Thebreakup of liquid drops in creeping flow. Paperread at 56th Annual Meeting, Society ofRheology, 25-27 February 1985, in Blacksburg,VA.

Lee, A. L, M. M. Ataai, and M. L. Shuler. 1985.Double substrate limited growth of Escherichiacoli. Biotechnology and Bioengineering26:1398-1401.

Lee, D. J., K. E. Gubbins, and M. M. Telo daGama. 1985. Surface activity at the liquid-vapourinterface of binary mixtures. Paper read at DenseFluids Conference, Royal Society of Chemistry,10-12 April 1985, in Bristol, U. K. 5 0

Lobo, L. Q., L. A. K. Staveley, V. Ven-katasubramanian, P. Clancy, K. E. Gubbins, C.G. Gray, and C. G. Joslin. 1985. Thermodynamicproperties of liquid mixtures of hydrogen chlorideand tetrafluoromethane. Fluid Phase Equilibria22:89-105.

Naik, C. D., P. Clancy, and K. E. Gubbins. 1985.The use of computer graphics to teach thermo-dynamic phase diagrams. Chemical EngineeringEducation 19:78-82.

Nollert, M. U., and W. L. Olbricht. 1985.Macromolecular deformation in periodic exten-sional flows. Rheologica Acta 24:3-14.

Nunes da Ponte, M., J. C. G. Calado, and W. B.Streett. 1985. Phase equilibria in Ar and CO2mixtures. Paper read at 9th Symposium onThermophysical Properties, 24-27 June 1985, inBoulder, CO.

Nunes da Ponte, M., D. Chokappa, J. C. G.Calado, P. Clancy, and W. B. Strett. 1985.Vapor-liquid equilibrium in the xenon and ethanesystem. Journal of Physical Chemistry 89:2746-51.

Rodriguez, F. 1985a. Compact correlation of flowdata for solutions of rigid polymer molecules.Chemical Engineering Communications 33:287-99.

. 19856. Positive-working electron beamresists. Paper read at IBM Lithography Sym-posium, 9 May 1985, in Tarrytown, NY.

. 1985c. Visualizing molecular weightaverages and distributions. In Proceedings,American Chemical Society Conference onPolymeric Materials Science and Engineering,vol. 52, pp.523-27. Washington, DC: ACS.

Rodriguez, F, C. H. Chu, W. T. W. K. Chu, andM. A. Rondinella. 1985. Adiabatic photopoly-merization of acrylamide. Journal of AppliedPolymer Science 30:1629-37.

Rodriguez, F., R. J. Groele, and P. D. Krasicky.1985. Dissolution rates of thin polymer films usinglaser interferometry. In Advances in ResistTechnology and Processing. Proceedings, Societyof Photo-Optical Instrumentation Engineers, vol.539, pp. 14-20. Redondo Beach, CA: SPIE.

Rodriguez, F, P. D. Krasicky, and R. J. Groele.1985. Dissolution rate measurements. Solid StateTechnology 28:125-31.

Schmidt, S. K, M. Alexander, and M. L. Shuler.1985. Predicting threshold concentrations oforganic substrates for bacterial growth. Journalof Theoretical Biology 114:1-8.

Shuler, M. L. 1985. Immobilized cell bioreactors.Paper read at New England BiotechnologyAssociation Colloquium II, 21-22 March 1985, inWorcester, MA.

Shuler, M. L, D. B. Wilson, J. J. Chalmers, andG. Georgiou. 1985. Immobilized cell bioreactorfor continuous recombinant protein productionfrom E. coli capable of selective protein excretion.

51 Paper read at 85th Annual Meeting, American

Society for Microbiology, 3-8 March 1985, in LasVegas, NV.

Smith, J. C. 1985. The rise of research: Fifty yearsof change in Cornell's engineering program.Engineering: Cornell Quarterly 20(1):26-36.

Smith, J. C, and P. H. Steen. 1985. Chemicalengineering at Cornell. Chemical EngineeringEducation 19(2):58-61, 103-06.

Streett, W. B., J. A. Zollweg, and P. Clancy. 1985.Thermophysical property measurements to sup-port parallel developments in computer simu-lation and molecular theories of fluids. Paper readat 1985 Spring Meeting, American Institute ofChemical Engineers, 24-28 March 1985, inHouston, TX.

Telo da Gama, M. M., and K. E. Gubbins. 1985.A microscopic model for the interfacial propertiesof mixtures of oil, water and non-ionic sur-factants. Paper read at ChemPor *85: 4thInternational Chemical Engineering Conference,15-16 April 1985, in Coimbra, Portugal.

Thurtell, J. H., M. M. Telo da Gama, and K. E.Gubbins. 1985. The liquid-vapour interface ofsimple models of nematic liquid crystals. Mole-cular Physics 54:321-32.

Tolan, J., and R. K. Finn. 1985. Alcohol toleranceof enterobacteria growing on pentoses. Paper readat 7th Symposium on Biotechnology for Fuelsand Chemicals, 14-17 May 1985, in Gatlinburg,TN.Zudkevitch, D., and W. B. Streett. 1985. Fluidmixtures at high pressures: Behavior andapplications. In The role of data in scientificprogress, ed. P. S. Glaeser, pp. 217-22.Amsterdam: Elsevier.

• CIVIL AND ENVIRONMENTALENGINEERING

Barnard, T. E., and J. J. Bisogni, Jr. 1985. Errorsin gran function analysis of titration data fordilute acidified water. Water Research19(3):393-99.

Brutsaert, W. (1984.) A seminal contribution tothe fluid mechanics of porous media and soils byMatano. Nagare [Journal of the Japan Society ofFluid Mechanics] 3(4):92-94.

. 1985. Meteorological and hydrologicalexperimentation in complex and hilly terrain.Invited paper read at Spring Meeting, AmericanGeophysical Union, 27-29 May 1985, in Bal-timore, MD. (Abstract in EOS 66:233.)

Buss, A., and M. Grigoriu. 1985. Crossings ofnon- Gaussian processes. Department of Struc-tural Engineering Report no. 85-5. Ithaca, NY:Cornell University.

Charlie, W. A., J. P. Turner, and F. H. Kulhawy.1985. Review of repeated axial load tests on deepfoundations. In Drilled piers and caissons, 2 ed.,

ed. C. N. Baker, pp. 129-50. New York: AmericanSociety of Civil Engineers.

Dick, R. I., and S. A. Kishbaugh. 1985. Basicphysical properties of pollution control residues:Specific resistance to filtration. In Proceedings,Conference on Environmental Engineering andPollution Control Processes, ed. D. F. Carey, pp.167-86. Washington, £>C: U.S. EnvironmentalProtection Agency.

Dworsky, L. B. 1985. Canada's water—America'sneeds. Paper read at Foreign Policy Conference,Canadian Institute of International Affairs, 3-5May 1985, in Toronto, Canada.

Dworsky, L. B., and D. J. Allee. 1985. A nationalprogram for water resources research. Paper readat National Conference on Water ResourcesResearch, 7-8 February 1985, in Washington,DC.

El-Kadi, A. /., and W. Brutsaert. 1985. Appli-cability of effective parameters for unsteady flowin nonuniform aquifers. Water ResourcesResearch 21:183-98.

Grigoriu, M. 1985. Response of linear systems toquadratic Gaussian excitations. Department ofStructural Engineering Report no. 85-4. Ithaca,NY: Cornell University.

Grigoriu, M., M. Khater, and T. O'Rourke. 1985.Stochastic beams on elastic foundations. InProceedings, ASCE Symposium, ed. J. Yao, R.Corrotis, C. Brown and F. Moses, pp. 96-106.New York: American Society of Civil Engineers.

Irwin, L. H., I. Ishibashi, and W. S. Yang. 1985.Validation of the mechanistic approach to non-destructive pavement evaluation for aggregatesurfaced road. U.S. Forest Service Report no.53-56A1-00756. Milwaukee, WI: USFS.

Ishibashi, I., M. Kawamura, and S. K. Bhatia.1985. Effect of initial shearing on cyclic drainedand undrained characteristics of sand. NationalScience Foundation Report no. CEE-8314009.Washington, DC: NSF.

Kustas, W. P., and W. Brutsaert. 1985. Theroughness characteristics of rugged hilly water-sheds. Paper read at Spring Meeting, AmericanGeophysical Union, 27-29 May 1985, inBaltimore, MD. (Abstract in EOS 66:261.

Liggett, J. A. 1985. Multiple boundary conditions,free surface flow, and the boundary elementmethod. Communications in Applied NumericalMethods 1:105-12.

Liu, P. L-F, S. B. Yoon, and J. T. Kirby. 1985.Nonlinear refraction-diffraction of waves inshallow water. Journal of Fluid Mechanics153:185-201.

Orloff, N. 1985. Commentary: Why EPA'sapproach to toxic chemicals doesn't work.Engineering: Cornell Quarterly 20(l):37-39.

O'Rourke, T. D., and F. H. Kulhawy. 1985.Observations on load tests for drilled shafts. In

Drilled piers and caissons, 2 ed., pp. 113-28. NewYork: American Society of Civil Engineers.

Perdiharis, P. C , S. Hilmy, and R. N White.1985. Extensional stiffness of precracked rein-forced concrete. ASCE Journal of StructuralEngineering 111(3):487-504.

Perdiharis, P. C , and R. N. White. 1985. Shearmodulus of precracked reinforced concrete. ASCEJournal of Structural Engineering 111(2):270-89.

Philipson, W. R., D. R. Gordon, W. D. Philpot,and V. L. Williams. 1985. Calibration forradiometric measurements with non-white re-flectance standards. In Proceedings, 51st AnnualMeeting, American Society of Photogrammetry,pp. 47-54. Falls Church, VA: ASP.

Philipson, W. R., V. L. Williams, D. K. Gordon,and W. Philpot. 1985. Vegetable and fruit treeinventory with Landsat TM data. In Proceedings,51st Annual Meeting, American Society ofPhotogrammetry, pp. 39-46. Falls Church, VA:ASP.

Philpot, W. 1985. Experimental verification of aradiative transfer model for assessment of waterquality. NSF report no. PB-85-181519. Spring-field, VA: National Technical InformationService.

Philpot, W. and W. R. Philipson. 1985. Thermalsensing for characterizing the contents of wastestorage drums. Photogrammetric Engineering andRemote Sensing 51:237-43.

Stedinger, J. R., D. P. Lettenmaier, and R. M.Vogel. 1985. Multisite ARMA(1,1) and dis-aggregation models for annual streamflowgeneration. Water Resources Research21(4):497-510.

Stedinger, J. R., D. Rei, and T. A. Cohn. 1985. Acondensed disaggregation model for incorporatingparameter uncertainty into monthly reservoirsimulations. Water Resources Research21(5):665-75.

Steifel, R. C , L. B. Dworsky, et al. 1985.Research and development: Water resourcesresearch in the FY 1986 budget. AmericanAssociation for the Advancement of Sciencereport no. 10. Washington, DC: A A AS.

Taigbenu, A. E., and J. A. Liggett. 1985.Boundary element calculations of the diffusionequation. ASCE Journal of the EngineeringMechanics Division 111:311 -28.

Turnquist, M. A., and W. C. Jordan. 1985. Fleetsizing under production cycles and uncertaintravel times. General Motors Research Labsreport no. GMR-5012.

Vodacek, A., and W. Philpot. 1985. Use ofinduced fluorescence measurements to assessaluminum-organic interactions in acidified lakes.In Proceedings, 51st Annual Meeting, AmericanSociety of Photogrammetry, pp. 460-69. FallsChurch, VA: ASP.

Vogel, R. M., and J. R. Stedinger. 1985.Minimum variance streamflow record augmen-tation procedures. Water Resources Research21(5):715-23.

Willmott, C. J., C. M. Rowe, and W. Philpot.1985. Small-scale climate maps: A sensitivityanalysis of some common assumptions associatedwith grid point interpolation and contouring. TheAmerican Cartographer 12:5-16.

Wu, C.-S., and P. L.-F. Liu. 1985. Finite elementmodeling of nonlinear coastal currents. ASCEJournal of Waterway, Port, Coastal, and OceanEngineering 111(2):417-32.

• COMPUTER SCIENCEAlford, M. W., J. P. Ansart, G. Hommel, L.Lampert, B. Liskov, G. P. Mullery, and F. B.Schneider. 1985. Distributed systems: Methodsand tools for specification. Heidelberg: Springer-Verlag.

Bilardi, G., and F. P. Preparata. 1985a. Aminimum area VLSI network for 0(log N) timesorting. IEEE Transactions on Computers C-34(4):336-43.

. 1985&. Tessellation techniques for area-time lower bounds. In Proceedings, 19th AnnualConference on Information Sciences and Systems,pp. 7-9. Baltimore, MD: The Johns HopkinsUniversity Press.

. 1985c. The VLSI optimality of the AKSsorting network. Information Processing Letters20(2):55-59.

Gries, D. and J. Prins. 1985. A new notion ofencapsulation. Paper read at SIGPLAN 85Symposium on Language Issues in ProgrammingEnvironments, 23-25 June 1985, in Seattle, WA.

Hopcroft, J., and A. Borodin. 1985. Routing,merging and sorting on parallel models ofcomputation. Journal of Computer and SystemSciences 30(1): 130-45.

Hoffmann, C , and J. Hopcroft. 1985. Quadraticblending surfaces. Paper read at Society forIndustrial and Applied Mathematics-RensselaerPolytechnic Institute Conference, 15-18 July1985, in Albany, NY.

Jacobs, £>., and D. Gries. 1985. Generalcorrectness: A unification of partial and totalcorrectness. Acta Informatica 22:67-84.

Johnson, G. F, and C. N. Fischer. 1985. A meta-language and system for nonlocal attribute flowin language-based editors. In Proceedings, 12thACM Symposium on Principles of ProgrammingLanguages, ed. B. K. Reid, pp. 141-51. New York:Association for Computing Machinery.

Nguyen, V., A. Demers, D. Gries, and S. Owicki.1985. Behavior: A temporal approach to processmodeling. Paper read at Conference on Logics ofPrograms, 12-13 June 1985, in Brooklyn, NY.

Nguyen, V., D. Gries, and S. Owicki. 1985. Amodel and temporal proof system for networks ofprocesses. Paper read at Annual Symposium onPrinciples of Programming Languages, 23-25January 1985, in New Orleans, LA.

Salton, G. 1985. A note on information retrievalmodels and theories. In Recherche d'InformationAssistee par Ordinateurs, pp. 1-27. Proceedings,RIAO 85 Conference. Grenoble, France: RIAO.

Salton, G., E. A. Fox, and E. Voorhees. 1985.Advanced feedback methods in informationretrieval. Journal of the American Society forInformation Science 36(3):200-10.

Teitelbaum, T, and S. Horwitz. 1985. Relationsand attributes: A symbiotic basis for editingenvironments. In SIGPLAN 85 Symposium onLanguage Issues in Programming Environments.ACM Special Interest Group on ProgrammingLanguages, vol. 20, no. 7, pp. 93-106. New York:Association for Computing Machinery.

Valiant, L. G., and V. V. Vazirani. 1985. NP is aseasy as detecting unique solutions. In Proceedings,17th Annual Symposium on Theory of Com-puting, pp. 458-63. New York: Association forComputing Machinery.

Vazirani, U. V., and V. V. Vazirani. 1985. Thetwo-processor scheduling problem is in R-NC. InProceedings, 17th Annual Symposium on Theoryof Computing, pp. 11-21. New York: Associationfor Computing Machinery.

• ELECTRICAL ENGINEERINGAdesida, I., E. Kratschmer, E. D. Wolf, A.Muray, and M. Isaacson. 1985. Ion beamlithography at nanometer dimensions. Journal ofVacuum Science and Technology B3(l):45-49.

Berger, T., and J.-C. Huang. 1985. Delay analysisof interval-searching contention resolution al-gorithms. IEEE Transactions on InformationTheory IT-31:264-74.

Brown, A. S., S. C. Palmateer, G. W. Wicks, L.F. Eastman, and A. R. Calawa. 1985. Thebehavior of unintentional impurities inGa47ln53As grown by MBE. Journal of Elec-tronic Materials 14(3):367-78.

Byrne, D. M., A. J. Brouns, F. C. Case, R. C.Tiberio, B. L. Whitehead, and E. D. Wolf 1985.Infrared mask filters fabricated by electron beamlithography. Journal of Vacuum Science andTechnology B3(l):268-71.

Capani, P. M., S. D. Mukherjee, L. Rathbun, H.T Griem, G. W Wicks, and L. F. Eastman. 1985.The characterization of alloyed NiGeAuAgAuohmic contacts to the GalnAs/AlInAs hetero-structure by Auger electron spectroscopy sputterdepth profiling. Paper read at Materials ResearchSociety Conference, 15-18 April 1985, in SanFrancisco, CA.

Chan, K. T, L. D. Zhu, and J. M. Ballantyne. 5 2

53

1985. Growth of high quality GalnAs on InPbuffer layers by MOCVD. Applied PhysicsLetters 47:44-48.

Chinn, J. D., and E. D. Wolf. (1984.) Character-istics of reactive ion beam and ion assisted etchingusing direct ion mass analysis and emissionspectroscopy. Paper read at 166th Electro-chemical Society Meeting, 16 October 1984, inNew Orleans, LA.

. 1985. The role of reactive ions in ion-beam assisted etching. Journal of Vacuum Scienceand Technology B3(l):410-15.Delchamps, D. F. 1985. New approaches to thesensitivity analysis of feedback systems. In Pro-ceedings, 19th Annual Conference on InformationScience and Systems, pp.476-82. Baltimore, MD:The Johns Hopkins University Press.

Eastman, L. F. 1985a. Compound semiconductorhigh speed electron devices. Paper read at CornellElectrical Engineering Centennial, 15 March 1985,in Stanford, CA.

. 19856. Compound semiconductor mate-rials growth and properties and compoundsemiconductor microwave transistors. Invitedpaper read at International Workshop on Digitaland Analog GaAs MMIC Devices and Appli-cations, 28-31 May 1985, in Rome, Italy.

. 1985c. Device physics. Paper read atconference, American Physical Society, 25-29March 1985, in Baltimore, MD.

. 1985*/. Recent results in microelectronicsresearch at Cornell: A layman's view. Paper readat alumni talk, 22 April 1985, in Rhinebeck, NY.

Erskine, D. J., C. L. Tang, and A. J. Taylor.(1984.) Dynamic Burstein-Moss shift in GaAs andGaAs/AlGaAs multiple quantum well structures.Applied Physics Letters 45:1209-11.

Frey, J. 1985. Materials engineering for semi-conductor devices. Paper read at Annual Meeting,Electrochemical Society of Japan, 5 April 1985,in Kofu, Japan.

Frey, J., and K. Bhasin. 1985. Microwaveintegrated circuits, 2nd ed. Boston: Artech House.

Gharachorloo, N., and C. Pottle. 1985. Superbuffer: A systolic VLSI graphics engine for realtime raster image generation. In 1985 Chapel HillConference on Very Large Scale Integration, ed.H. Fuchs, pp. 285-305. Rockville, MD: ComputerScience Press.

Gosnell, T. R., A. J. Sievers, and C R. Pollock.1985. Continuous wave operation of the KBnCN-solid state vibration laser in the 5/xm region.Optics Letters 10:125-27.

Guillen, M. A., and R. L. Liboff (1984.) Unifiedkinetic theory of plasma correlations. Journal ofPlasma Physics 32(l):81-98.

Hagfors, T. 1985. The Arecibo observatory: Pastachievements and future prospects in the ex-

ploration of the ionosphere and the solar system.Paper read at Electrical Engineering CentennialCelebration, 17-18 April 1985, in St. Louis, MO.

It oh, T, T. Griem, G. W. Wicks, and L. F.Eastman. 1985. Sheet electron concentration atthe hetero-interface Alo.48lno.52As/Gao.47Ino.53Asmodulation doped structures. Electronics Letters21(9):373-74.

Itoh, T, G. W. Wicks, and L. F. Eastman. 1985.Progress toward InSb FET's on semi-insulatingsubstrates. Paper read at Workshop on Com-pound Semiconductors for Microwave Materialsand Devices, 11-13 February 1985, in FortLauderdale, FL.

Krusius, J. P. 1985a. Process integration for 1/4micrometer MOS technologies. Invited paperread at IEEE Electron Devices Section Meeting,5 March 1985, in Rochester, NY.

. 19856. Toward gigabit logic with silicon.Invited paper read at General Motors ResearchLaboratories, 26 February 1985, in Warren, ML

Krusius, J. P., J. Nulman, and A. Per era. 1985.Self-aligned dual surface lithography. Paper readat 29th International Symposium on Electron,Ion, and Photon Beams, 28-31 May 1985, inPortland, OR.

Lee, T.-A., and C. Heegard. 1985. An inversiontechnique for the design of binary convolutionalcodes for the 1-DN channel. Paper read at 1985Conference on Information Sciences and Systems,27-29 March 1985, in Baltimore, MD.

Li, J. Z., I. Adesida, and E. D. Wolf. 1985. Profilecontrol for submicron structures in GaAs byreactive ion etching using S1CI4. Journal ofVacuum Science and Technology B3(l):406-09.

Liboff, R. L. (1984a.) An elementary deviation ofa group-theoretic property of many-particle spinstates. American Journal of Physics 52:561.

. (19846.) The correspondence principlerevisted. Physics Today 37:50-55.

. (1984c.) Criteria for physical domains inlaboratory and solid-state plasmas. Journal ofApplied Physics 56:3530-35.

. 1985a. Generalized Bogoliukov hypo-thesis for dense fluids. Physical Review31:1883-89.

. 19856. Geometrical properties of theFermi energy. Foundations of Physics 15:339-52.

. 1985c. Plasma domains in extrinsic GaAsand InP. Journal of Physics and Chemistry ofSolids 46:103-05.

Luk, F. T. 1985a. On the minres method of factoranalysis. SI AM Journal on Scientific andStatistical Computing 6:562-72.

. 19856. A parallel method for computingthe generalized singular value decomposition. InProceedings, 7th Symposium on Computer

Arithmetic, ed. K. Hwang, pp. 260-65. NY:Institute of Electrical and Electronics Engineers.

Lunardi, L. M., P. M. Enquist, P. J. Tasker, andL. F. Eastman. 1985. Microwave characteristicsof an (AlGa)As/GaAs heterojunction bopolartransistor. Paper read at Workshop on Com-pound Semiconductors for Microwave Materialsand Devices, 11-13 Februrary 1985, in FortLauderdale, FL.

McCombe, B. D., B. V. Shanabrook, J. Comas,J. Ralston, and G. Wicks. 1985. Binding ofshallow donor impurities in quantum-wellstructures. Physical Review Letters 54( 12): 1283-86.

Mukherjee, S. D., and D. W. Woodard. 1985.Etching and surface preparation of GaAs fordevice fabrication. New York: Wiley.

Nastasi, M., R. Fastow, J. Gyulai, / . W. Mayer,S. J. Plimpton, and E. D. Wolf. (1984.) Ioninduced reactions in Fe/As bilayers by pulsedbeam ion irradiation and Xe implantation. Paperread at 1984 Conference on Ion Beam Modi-fication of Materials, 16-20 July 1984, at CornellUniversity, Ithaca, NY.

Nulman, J., J. P. Krusius, and A. Gat. 1985.Rapid thermal processing of thin gate dielectrics:Oxidation of silicon. IEEE Electron DeviceUtters EDL-6:205-07.

Pollock, C. R., J. F. Pinto, and L. W. St rat ton.1985. Stable color center laser in K-doped NaCltunable from 1.41 to 1.76 fim. Paper read atOptical Society of America Conference onTunable Solid State Lasers, 15-16 May 1985, inArlington, VA.

Rosker, M., and C. L. Tang. 1985. Widely tunableoptical parametric oscillator using urea. Journalof the Optical Society of America B2:691-96.

Set hares, W. A., D. A. Lawrence, C. R. Johnson,Jr., and R. R. Bitmead. 1985. On the existence ofunbounded parameters in adaptive identificaiton.In Proceedings, 19th Conference on InformationSciences and Systems, pp. 38-43. Baltimore, MD:The Johns Hopkins University Press.

Sonek, G. J., and J. M. Ballantyne. (1984.)Reactive ion etching of GaAs using BCI3. Journalof Vacuum Science and Technology B2(4):653.

Tang, C. L. (1984.) Femtosecond solid statemeasurements. Invited paper read at AnnualMeeting, Optical Society of America, November1984, in San Diego, CA.

Tang, C. L., M. Rosker, and K. Cheng. 1985. Abroadly tunable urea optical parametric oscillator.Invited paper read at Conference on Lasers andElectro-Optics, 21-24 May 1985, in Baltimore,MD.

Taylor, A. J., D. J. Erskine, and C. L. Tang.1985. Ultrafast relaxation dynamics of photo-excited carriers in GaAs and related compounds.Journal of the Optical Society of AmericaB2:663-73.

von Lehmen, A., and / . M. Ballantyne. (1984.)Picosecond luminescence measurements on fastGaAs Schottky diodes under changing circuitconditions. Applied Physics Letters 45:767-69.

. 1985. Investigation of the nonlinearity inthe luminescence of GaAs under high densitypicosecond photoexcitation. Journal of AppliedPhysics 58:958.

Welch, D. F, G. W. Wicks, and L. F. Eastman.1985. Luminescence lineshape broadening mech-anisms in GalnAs/AlInAs quantum wells.Applied Physics Letters 46(10):991-93.

Wolf, E. D. (1984a.) Microfabrication research atthe National Submicron Facility. Invited papersread at 31st National Symposium of the AmericanVacuum Society, 4-7 December 1984, in Reno,NV.

. (19846.) Microminiaturization: Fanningthe microelectronics revolution. 10th AnnualMohler Lecture, 23 October 1984, at McPhersonCollege, McPherson, KS.

. 1985a. Chemistry and physics of micro-structures fabrication. Invited lecture given atChemistry Colloquium Series, 21 February 1985,at University of North Carolina, Chapel Hill, NC.

. 19856. Research at the National Sub-micron Facility. Invited lecture, DistinguishedSpeaker Series, Microelectronics Center of NorthCarolina, 22 February 1985, in Raleigh, NC.

. 1985c. Submicron electronics. Invitedpaper read at 1984-85 Grumman-UniversityTechnology Forum, 11-12 February 1985, inBethpage, NY.

Wong, S., and W. Oldham. 1985. Anodicnitridation of silicon and silicon dioxide. IEEETransactions on Electron Devices ED-32:978.

Zhu, L. D., K. T. Chan, D. K Wagner, and / . M.Ballantyne. 1985. Photoluminescence study of thegrowth of indium phosphide by MOCVD.Journal of Applied Physics 57:5486.

Zhu, L. D., P. Sulewski, K. T. Chan, and J. M.Ballantyne. 1985. 2DEG in Ino.53Gap.47As/InPheterostructures grown by atmospheric pressureMOCVD. Paper read at March Meeting,American Physical Society, 25-29 March 1985, inBaltimore, MD.

• GEOLOGICAL SCIENCESAllegre, C. J., and D. L. Turcotte. 1985.Geodynamic mixing in the mesosphere boundarylayer and the origin of oceanic islands. GeophysicsResearch Letters 12:207-10.

Allmendinger, R. W., and T. E. Jordan. (1984.)Mesozoic structure of the NewfoundlandMountains, Utah: Horizontal shortening andsubsequent extension in the hinterland of theSevier belt. Bulletin of the Geological Society ofAmerica 95:1280-92.

Arnow, J., K. D. Nelson, J. McBride, J. Oliver,L. Brown, and S. Kaufman. 1985. Location andcharacter of the late Paleozoic suture beneath thesoutheastern U.S. coastal plain: Evidence fromnew COCORP profiling. Paper read at meetingof American Geophysical Union, 27 May-1 June1985, in Baltimore, MD. Abstract in £0566:358.

Bassett, W. A. 1985. High pressure-temperaturex-ray diffraction using synchrotron radiation.Nuclear Instruments and Methods in PhysicsResearch BIO/11:309-12.

Bassett, W. A., M. D. Furnish, and E. Huang.1985. Applications of synchrotron radiation inhigh pressure-temperature mineralogy. In Solidstate physics under pressure, ed. S. Minomura,pp.335-41. Tokyo: Terra Scientific.

Brown, L. D. 1985. Vertical crustal motion andthe North American vertical datum. In Pro-ceedings, 3rd International Symposium on theNorth American Vertical Datum, ed. D. B.Zilkoski, pp. 207-16. Rockville, MD: NationalGeodetic Survey.

Cimino, J. B., A. Bloom, J. Rabassa, and S. Wall.1985. Multiple incidence angle SIR-B imagery ofthe Chubut Province of southern Argentina.Paper read at International Symposium onRemote Sensing of Environment, 1-4 April 1985,in San Francisco, CA.

Kay, R. W. 1985. Island arc processes relevant tocrustal and mantle evolution. Tectonophysics112:1-15.

Kay, R. W., and S. M. Kay. 1985. Eclogite modeland primary magmas of the Aleutian arc. Paperread at meeting of American Geopysical Union,27 May-1 June 1985, in Baltimore, MD. Abstractin EOS 66:422.

Kay, S., V. Maksaev, and C. Gordillo. 1985.Middle-late Tertiary volcanism over a section ofthe modern shallowly-dipping Andean Benioffzone (29-32° S). Paper read at American Geo-physical Union Meeting, 27 May-1 June 1985, inBaltimore, MD. Abstract in EOS 66:422.

Klemperer, S., and L. Brown. 1985. Simulationsof noise rejection and mantissa-only recording:An experiment in high-amplitude noise reductionwith COCORP data. Geophysics 50:709-14.

Klemperer, S. L., L. Brown, J. Oliver, C. Ando,B. Czuchra, and S. Kaufman. 1985. Some resultsof COCORP seismic reflection profiling in theGrenville-age Adirondack Mountains, New YorkState. Canadian Journal of Earth Sciences22:141-53.

McBride, J., K. D. Nelson, J. Arnow, J. Oliver,L. Brown, and S. Kaufman. 1985. New COCORPprofiling in the southeastern U.S. coastal plain:Late Paleozoic suture and Mesozoic rift basin.Paper read at meeting of American GeopysicalUnion, 27 May-1 June 1985, in Baltimore, MD.Abstract in EOS 66:358.

Nelson, K. D. 1985. Suture and rift basin evident

from new COCORP profiles on the southeasternU.S. coastal plain. Paper read at GeologicalSociety of America, Penrose Conference, 27May-3 June 1985, in Liscombe Mills, NovaScotia.

Nelson, K. D., T. F. Zhu, A. Gibbs, R. Harris, J.Oliver, S. Kaufman, and L. Brown. (1984.)COCORP deep seismic reflection profiling in thenorthern Sierra Nevada Mountains, California.Paper read at annual meeting, Geological Societyof America, 5-8 November 1984, in Reno, NV.

Ni, J., and M. Barazangi. 1985. Active tectonicsof the western Tethyan Himalaya above theunderthrusting Indian plate: The upper Sutlejriver basin as a pull-apart structure. Tectono-physics 112:277-95.

Ockendon, J. R., A. B. Taylor, S. H. Emerman,and D. Turcotte. 1985. Geodynamic thermalrunaway with melting. Journal of FluidMechanics 152:301-14.

Schweller, W. J., P. H. Roth, D. E Karig, and S.B. Bachman. (1984.) Sedimentation history andbiostratigraphy of ophiolite-related Tertiarysediments, Luzon, Philippines. Geological Societyof America Bulletin 95:1333-42.

Taylor, F. W., C. Jouannic, and A. L. Bloom.1985. Quaternary uplift of the Torres Islands,northern New Hebrides frontal arc: Comparisonwith Santo and Malekula Islands, central NewHebrides frontal arc. Journal of Geology93:419-38.

Turcotte, D. L. 1985. Fractals, fragmentation, anda renormalization group determination of thefrequency-mass distribution of meteorites andasteroids. Paper read at 16th Lunar and PlanetaryScience Conference, 11-15 March 1985, inHouston, TX.

Turcotte, D. L., and J. C. Pflugrath. 1985.Thermal structure of the accreting earth. Journalof Geophysical Research 90:C541-C544.

• MATERIALS SCIENCEAND ENGINEERING

Ast, D. G. (1984.) a-Si: H FET-addressed LCDpanel. In Semiconductors and semimetals, vol.21, pt. d, pp. 115-38. New York: Academic Press.

Baik, S., D. E. Fowler, J. M. Blakely, and R. Raj.1985. Segregation of Mg to the (0001) surface ofdoped sapphire. Journal of the American CeramicSociety 68:281-86.

Baik, S., and R. Raj. 1985. Effect of siliconactivity on liquid phase sintering of nitrogenceramics. Journal of the American CeramicSociety 78:124-26.

Barbour, J. C, F. W. Saris, M. Nastasi, and J.W. Mayer. 1985. Amorphous Ni-Zr alloys asbarriers for self-diffusion. Physical Review B32:1363-65. 5 4

Birecki, H., S. Naberhuis, T. Anthony, and D. G.Ast. 1985. Magnetooptic quadrilayer reliabilityand performance. In Optical mass data storage,p. 19. Proceedings, Society of Photo-OpticalInstrumentation Engineers, vol. 529. Bellingham,WA: SPIE.

Bordia, R. K, and R. Raj. 1985. Sinteringbehavior of ceramic films constrained by a rigidsubstrate. Journal of the American CeramicSociety 68:287-92.

Brister, K. E, Y. H. Vohra, and A. L. Ruoff.1985. High-pressure phase transition in CsCl atV/Vo = .53. Physical Review B 31:4657-58.

Carter, C. B. (1984.) What's new in dislocationdissociation. In Comptes rendus du colloqueinternational du CNRS dislocations: Structure decoeur et proprieties physiques. Paris, France:Editions du CNRS.

Chen, S. H, J. C. Barbour, L R. Zheng, C. B.Carter, and J. W. Mayer. 1985. Structure analysisof Ni-silicides formed in lateral diffusion couples.In Proceedings, Materials Research SocietySymposia, vol. 37, pp. 635-40. Pittsburgh, PA:MRS.

Chiang, S.-W., and D. L Kohlstedt. 1985. Loadrelaxation studies in germanium. Journal ofMaterials Science 20:736-55.

Christensen, T. M. 1985a. Annotated bibliographyof ellipsometry and optical properties of solids.Materials Science Center Report no. 5615. Ithaca,NY: Cornell Unversity.

. 19856. Annotated bibliography of metaloxidation. Materials Science Center Report no.5616. Ithaca, NY: Cornell University.

Cooper, R. F., and D. L. Kohlstedt. (1984a.)Sintering of olivine and olivine-basalt aggregates.Physics and Chemistry of Minerals 11:5-16.

. (19846.) Solution-precipitation creep inolivine-basalt aggregates. Tectonophysics107:207-33.DeMott, G. J., and D. L Kohlstedt. 1985a. Sol-gel synthesis of fayalite. Paper read at springmeeting. American Chemical Society, 6-10 May1985, in Cincinnati, OH.

. 19856. Surface modification of aluminaby sol-gel technique. Paper read at spring meeting,American Chemical Society, 6-10 May 1985, inCincinnati, OH.

Dimos, D., D. L Kohlstedt, and H. Schmalzried.1985. Kinetic demixing in a stress gradient. Paperread at spring meeting, American ChemicalSociety, 6-10 May 1985, in Cincinnati, OH.

Durham, W. B., and D. L Kohlstedt. (1984.)Observations of shape change parameters in singlecrystal olivine with application to dislocationclimb. Paper read at fall meeting, AmericanGeophysical Union, 2-8 December 1984, in San

55 Francisco, CA.

Galvin, G. L, J. W. Mayer, and P. S. Peercy.1985. Solidification kinetics of pulsed laser meltedsilicon based on thermodynamic considerations.Applied Physics Letters 46:644-46.

Gleichmann, R., B. Cunningham, and D. G. Ast.1985. Process-induced defects in solar cell silicon.Journal of Applied Physics 58:223-29.

Gleichmann, R., J. P. Kalejs, and D. G. Ast. 1985.EBIC evidence for carbon-based gettering in EFGsilicon. In Proceedings, Materials ResearchSociety Symposia, vol. 36, pp. 181-86. Pittsburgh,PA: Materials Research Society.

Gleichmann, R., M. D. Vaudin, and D. G. Ast.1985. Recovery of edge-defined film-fed grownsilicon: Dislocation/twin boundary interactionand mechanisms for twin-induced grain boundaryformation. Philosophical Magazine A 51:449-67.

Green, P. F., P. J. Mills, C. J. Palmstrom, J. W.Mayer, and E. J. Kramer. 1985. Ion beam analysisof diffusion in polymer melts. In Electronicpackaging materials science, ed. E. A. Giess, K.-N.Tu, and D. R. Uhlmann, pp. 265-70. Pittsburg,PA: Materials Research Society.

Green, P. F., C. J. Palmstrom, J. W. Mayer, andE. J. Kramer. 1985. Marker displacementmeasurements of polymer-polymer interdiffusion.Macromolecules 18:501-07.

Grubb, D. T. (1984a.) On shrinkage andmolecular extension. Journal of Materials ScienceLetters 3:499-502.

. (19846.) Radiation damage of organicmaterials in the transmission electron microscope.Ultramicroscopy 12:279-80.

Grubb, D. T., and /. J.-H. Liu. (1984.) Real timesmall-angle x-ray scattering during annealing ofpolymer single crystals. Journal of PolymerScience 22:367-78.

Hannula, S.-P., D. Stone, and C.-Y. Li. 1985.The use of indentation techniques in evaluatingmechanical properties of thin film metallizations.In Proceedings, 35th Electronic ComponentsConference, p. 424. New York: Institute ofElectrical and Electronics Engineers.

Herschitz, R., and D. N. Seidman. 1985.Radiation-induced precipitation in fast-neutronirradiated tungsten-rhenium alloys: An atom-probe field-ion microscope study. NuclearInstruments and Methods in Physics ResearchB718:137-42.

Huang, T.-L, and A. L Ruoff 1985. High-pressure-induced phase transitions of mercurychalcogenides. Physical Review B 31:5976-83.

Hung, L. S., and J. W. Mayer. 1985. Markerexperiments in growth studies of Ni^Si, Pd2Si,and CrSi2 formed by thermal annealing and byion mixing. Journal of Applied Physics58:1527-36.

Kavanagh, K, S. H. Chen, C. Palmstrom, C. B.Carter, and S. D. Mukherjee. (1984.) RBS and

TEM analysis of Ta silicides of GaAs. InProceedings, Materials Research Society Sym-posia, vol. 25, pp. 143-48. Pittsburgh, PA: MRS.

Kohlstedt, D. L 1985a. Electron diffraction andweak-beam electron micrscopy. Invited paperread at Mineralogical Association of Canada 1985Short Course on Applications of ElectronMicroscopy in the Earth Sciences, 12-14 May1985, in Fredericton, New Brunswick, Canada.

. 19856. Structure and rheology of partiallymolten rocks. Invited seminar given at Conferenceon Melt and the Mantle, 29-30 April 1985, atWoods Hole Oceanographic Institute, WoodsHole, MA.

Kohlstedt, D. L, and R. F Cooper. (1984.)Rheology and structure of olivine-basalt partialmelts. Invited seminar given at U.S.-Japan JointSeminar on Partial Melting, 4-8 September 1984,in Eugene, OR.

. 1985. Flow of olivine-basalt partial melts.Invited paper read at spring meeting, AmericanGeophysical Union, 27-31 May 1985, in Bal-timore, MD.Kohlstedt, D. L, and D. L Ricoult. (1984.)High-temperature creep of silicate olivines. InDeformation of ceramic materials: II, ed. R. Radtand R. Tressler, pp. 251-80. New York: Plenum.

Kramer, E. J. 1985. Polymer-polymer inter-diffusion. In Electronic packaging materialsscience, ed. E. A. Giess, K.-N. Tu, and D. R.Uhlmann, pp. 227-37. Pittsburgh, PA: MaterialsResearch Society.

Kuester, K.-H., B. C. De Cooman, and C. B.Carter. 1985. Dislocation motion in GaAs andAlGaAs/GaAs devices. In Proceedings, 13thInternational Conference on Defects in Semi-conductors, ed. L. C. Kimerling and J. M. Parsey,pp. 351-57. New York: American Institute ofMining, Metallurgical and Petroleum Engineers.

Kuo, C. C, S. L. Phoenix, and E. J. Kramer.1985. Geometrically necessary entanglement lossduring crazing of polymers. Journal of MaterialsScience Letters 4:459-62.

List, F. A., and J. M. Blakely. 1985. Kinetics ofCO formation on singular and stepped Nisurfaces. Surface Science 152/153:463-70.

Mackwell, S. J., D. L. Kohlstedt, and M. S.Paterson. 1985. Water weakening of olivine singlecrystals. Paper read at spring meeting, AmericanGeophysical Union, 27-31 May 1985, inBaltimore, MD.

Milkove, K. R. 1985. Theoretical considerationof the Volmer-Weber growth mechanism for thinepitaxial films. In Proceedings, MaterialsResearch Society Symposia, vol. 37, pp. 89-98.Pittsburgh, PA: MRS.

Milkove, K. R., P. A. Lamarre, F. Schmuckle,M. D. Vaudin, and 5. L. Sass. 1985. Diffractionstudies of the atomic structure of grain boundar-

ies. In Proceedings, Materials Research SocietySymposia, vol. 41, 195-206. Pittsburgh, PA:MRS.

Milkove, K. R., and S. L. Sass. 1985. Exper-imental observations on the growth of epitaxialfilms by the Volmer-Weber mechanism. InProceedings, Materials Research Society Sym-posia, vol. 37, pp. 83-88. Pittsburgh, PA: MRS.

Morel, D. E, and D. T. Grubb. (1984a.) Crazebehavior in isotactic polystyrene: 1. Craze-spherulite interaction. Polymer 25:417-29.

. (19846.) Staining of melt crystallizedisotactic polystyrene by RUO4. Polymer Com-munications 25:68-71.

Morrisey, K. J., and C. B. Carter. 1985.Characterization of grain boundaries in alumina.In Advances in materials characterization: II, ed.R. L Snyder, R. A. Condrate, and P. F. Johnson,pp. 179-87. New York: Plenum.

Morrissey, K. J., K. K. Czanderna, R. P. Merrill,and C. B. Carter. (1984.) Analysis of transitionalumina structures using HRTEM. In Pro-ceedings, 42nd Annual Meeting, Electron Micro-scopy Society of America, pp. 648-49. McLean,VA. EMSA.

Nastasi, M., L. S. Hung, H. H. Johnson, and J.W. Mayer. 1985. Phase transformation of N12AI3to NiAl: I. Ion irradiation induced. Journal ofApplied Physics 57:1050-54.

Palmstrom, C. J., and D. V. Morgan. 1985.Metallization for GaAs devices and circuits. InGallium arsenide, ed. M. J. Howes and D. V.Morgan, pp. 195-261. New York: Wiley.

Quinn, C. J., and D. L Kohlstedt. (1984a.)Reactive processing of titanium carbide withtitanium: I. Liquid phase sintering. Journal ofMaterials Science 19:1229-41.

. (19846.) Reactive processing of titaniumcarbide with titanium: II. Solid-state hot pressing.Journal of Materials Science 19:1242-50.

. (1984c.) The solid-state reaction betweentitanium carbide and titanium. Journal of theAmerican Ceramic Society 67:305-10.

Raj, R., and F. F. Lange. 1985. On the retentionof equiaxed grain structure after superplastic andother forms of high temperature deformation.Ada Metallurgica 33:699-703.

Ricoult, D. L, and D. L Kohlstedt. (1984.) Effectof chemical environment on high-temperaturecreep of olivine. Paper read at IOth AnnualMeeting, European Geophysical Society, 30July-3 August 1984, in Louvain-la-Neuve,Belgium.

Saris, F. W., L. S. Hung, M. Nastasi, J. W.Mayer, and B. Whitehead. 1985. Failure tem-perature of amorphous Cu-Ta alloys as diffusionbarriers in Al-Si contacts. Applied Physics Letters46:646-48.

Rathbun, B. C. De Cooman, and C. B. Carter.1985. The effect of doping on the interfacebetween GaAs and AlGaAs. In Proceedings,Materials Research Society Symposia, vol. 37, pp.15-21. Pittsburgh, PA: MRS.

Sickafus, K, and S. L. Sass. 1985. Grainboundary structural transformations induced bysolute segregation. In Proceedings, MaterialsResearch Society Symposia, vol. 41, pp. 207-12.Pittsburgh, PA: MRS.

Skrotski, W., H. Wendt, C. B. Carter, and D. L.Kohlstedt. (1984a.) Structural changes of a 2 = 51tilt boundary in Ge during high-temperaturecreep. Paper read at fall meeting, MaterialsResearch Society, November 1984, in Boston,MA.

. (19846.) Structure and dissociation of a15° <110> tilt boundary in Ge. In Proceedings,Materials Research Society Symposium, vol. 25,pp. 299-304. Pittsburgh, PA: MRS.

Stone, D., S.-P. Hannula, and C.-Y. Li. 1985.The effects of service and material variables onthe fatigue behavior of solder joints during thethermal cycle. In Proceedings, 35th ElectronicComponents Conference, p. 46. New York:Institute of Electrical and Electronics Engineers.

Vaudin, M. D., F. Schmuckle, P. A. Lamarre,and S. L. Sass. 1985. Analysis of the structure ofgrain boundaries normal to the boundary planeusing diffraction techniques. In Proceedings,Materials Research Society Symposia, vol. 41, pp.221-26. Pittsburgh, PA: MRS.

Vohra, Y. K, S. J. Duclos, and A. L Ruoff.1985a. Instability of the CsCl structure in ionicsolids at high pressures. Physical Review Letters54:570-73.

. 19856. The Madelung constant for thetetragonal distortion of the CsCl lattice. Journalof Physics and Chemistry of Solids 46:515-17.

Whetten, T. J., and A. L Ruoff. 1985. Segregationof copper in aluminum-copper alloys during ionbeam etching. Nuclear Instruments and Methodsin Physics Research B7:836-39.

Widom, E, M. S. Weathers, W. A. Bassett, D. LKohlstedt, and A. F. Anderson. (1984.) Micro-analysis of glass inclusions in grain boundaries ofKilauea olivine aggregates. Paper read at fallmeeting, American Geophysical Union, 2-8December 1984, in San Francisco, CA.

Wolf ens tine, J., D. Dimos, and D. L. Kohlstedt.1985. Kinetic decomposition of Ni2SiO4. Paperread at spring meeting, American ChemicalSociety, 6-10 May 1985, in Cincinnati, OH.

Yamada, I., C. J. Palmstrom, E. Kennedy, J. W.Mayer, H. Inokawa, and T. Takagi. 1985. Epitaxyof aluminum films on semiconductors by ionizedcluster beam. In Layered structures, epitaxy andinterfaces, ed. J. M. Gibson and L. R. Dawson,pp. 3-21. Boston: D. Reidel.

Schaff, W. J., P. A. Maki, L F. Eastman, L Yang, A. C.-M., and E. J. Kramer. 1985. Craze

fibril structure and coalescence by low angleelectron diffraction. Journal of Polymer Science23:1353-67.

Zheng, L. R., L S. Hung, and J. W. Mayer. 1985.Redistribution of dopant arsenic during silicideformation. Journal of Applied Physics 58:1505-14.

• MECHANICAL ANDAEROSPACE ENGINEERING

Auer, P. L, M. Alonso, and J. Barkenbus. 1985.Prospects for commercial nuclear power andproliferation. In The nuclear connection, ed. A.Weinberg, M. Alonso, and J. N. Barkenbus, pp.19-47. New York: Paragon House.

Dawson, P. R. (1984.) A model for the hot orwarm working of metals with special use ofdeformation mechanism maps. InternationalJournal of Mechanical Sciences 26(4):227-44.

Dawson, P. R., J. Lipkin, and H. S. Lauson.1985. A state variable model for volumetric creepof clays. ASCE Journal of Engineering Mechanics111(1):42-61.

Dewhurst, T. B., and P. R. Dawson. (1984.)Analysis of large plastic deformations at elevatedtemperatures using state variable constitutivemodels. In Constitutive equations: Micro, macroand computational aspects, pp. 149-64. Pro-ceedings, annual winter meeting, AmericanSociety of Mechanical Engineers. New York:ASME.

Ettestadt, D., and J. L. Lumley. (1984.)Parameterization of turbulent transport inswirling flows: I. Theoretical considerations. InTurbulent shear flows: 4, ed. L. J. S. Bradbury,F. Durst, B. E. Launder, F. W. Schmidt, and J.H. Whitelaw, pp. 87-101. Berlin: Springer-Verlag.

Gates, R. S.t N. R. Scott, R. E. Pitt, and D. L.Bartel. (1984.) Biomechanics of teat/liner inter-actions. Paper no. 84-3535, read at annual wintermeeting, American Society of AgriculturalEngineers, 11-14 December 1984, in New Orleans,LA.

George, A. R., and S.-T. Chou. 1985a. Acomparative study of tail rotor noise mechanisms.Paper read at 41st Annual Forum, AmericanHelicopter Society, 15-17 May 1985, in FortWorth, TX.

. 19856. Broadband noise of propellers androtors. In Proceedings, NOISE-CON 85, pp.461-68. New York: The Noise ControlFoundation.

Gouldin, F. C, J. S. Depsky, and S.-L. Lee. 1985.Velocity field characteristics of a swirling flowcombustor. AIAA Journal 23:95-102.

Hollis, P., and D. Taylor. (1984.) Hopfbifurcation in multi-degree-of-freedom systemsusing MACSYMA. In Proceedings of MACSYMAUsers* Conference, pp. 169-85. Cambridge, MA:MIT Laboratory for Computer Science. 5 6

Kwon, T. H, D. Chu, and K. K. Wang. 1985.Pressure loss prediction in a runner-gate-cavitysystem including juncture loss. In Proceedings,ANTEC '85, pp. 809-13. Society of PlasticsEngineers Technical Papers, vol. 31. Stamford,CT:SPE.

Kwon, T. H, and S. F. Shen. (1984.) Applicationof recently proposed constitutive model forpolymeric liquids to stress relaxations aftervarious shear-deformation histories. In Pro-ceedings, 9th International Congress on Rheology,ed. B. Mena, A. Garcia-Rejon and C. Rangel-Nafaile, vol. 2, pp. 347-54. Mexico: UniversidadNacional Aut6noma de Mexico.

Leibovich, S. 1985. Dynamics of Langmuircirculations in a stratified ocean. In The oceansurface, ed. Y. Toba and H. Mitsuyasu, pp.457-64. Dordrecht, Netherlands: Reidel.

Leibovich, S., and S. Lele. 1985. The influence ofthe horizontal component of Earth's angularvelocity on the instability of the Ekman layer.Journal of Fluid Mechanics 150:41-87.

Leu, M. C. (1984.) Solid geometric modelingtowards robot intelligence. In NSF study onsupercomputers in mechanical systems research,pp. MSXVIIM-MSXVIII-4. Livermore, CA:Lawrence Livermore National Laboratory.

Leu, M. C, and M. Jirapongphan. 1985.Modeling and analysis of flow-induced vibrationsin circular saws. Journal of Vibration, Acoustics,Stress, and Reliability in Design 107:196-202.

Leu, M. C, and R. Mahajan. (1984.) Computergraphic simulation of robot kinematics anddynamics. In Proceedings, Robots 8 Conference,pp. 4.80-4.101. Dearborn, MI: Society of Manu-facturing Engineers.

Leu, M. C, and S. H. Park. (1984.) Applicationof PADL-2 solid modeler to robot simulation. InProceedings, 3rd Canadian CAD/CAM andRobotics Conference, pp. 10.13-10.19. Ancaster,Ontario: Canadian Institute of Metalworking.

Lin, G. C. I., and M. C. Leu. (1984.) The role ofdynamic computer graphics simulation in the useof robots. Paper read at National Conference andExhibition on Robotics, 20-24 August 1984, inMelbourne, Australia.

Lumley, J. L, and I. Van Cruyningen. 1985.Limitations of second order modeling of passivescalar diffusion. In Frontiers in fluid mechanics,ed. S. H. David and J. L. Lumley, pp. 199-218.Berlin: Springer-Verlag.

Moore, F. K., and E. M. Greitzer. 1985. A theoryof post-stall transients in axial compressionsystems: I. Development of equations; II.Application. Papers 85-GT-171 and 85-GT-172read at 30th International Gas Turbine Con-ference and Exhibit, American Society ofMechanical Engineers, 18-21 March 1985, inHouston, TX.

Calculation of transonic potential flow past wing-tail-fuselage configurations using the multi-gridmethod. In Proceedings, 9th InternationalConference on Numerical Methods in FluidDynamics, pp. 508-13. Lecture notes in physics,vol. 218. Berlin: Springer-Verlag.

Tseng, H. C, C. A. Hieber, K. K. Wang, H. H.Chiang, and G. E. Grant. 1985. Analysis ofrheological data from an automated-injection-molding capillary rheometer. In Proceedings,ANTEC 85, pp. 716-19. Society of PlasticsEngineers technical papers, vol. 31. Stamford, CT:SPE.

Wang, V. W., C. A. Hieber, and K. K. Wang.1985. An interactive simulation of cavity filling ininjection molding with color graphics. InProceedings of ANTEC 85, pp. 826-29. Societyof Plastics Engineers technical papers, vol. 31.Stamford, CT: SPE.Wright, T. M., and D. L. Bartel. (1984.) Surfacedamage in polyethylene total knee components.In Advances in bioengineering, pp. 102-03. NewYork: American Society of Mechanical Engineers.

• OPERATIONS RESEARCH ANDINDUSTRIAL ENGINEERING

Avram, F., and M. S. Taqqu. 1985. Generalizedpowers of strongly dependent random variables.In Seminar notes on multiple stochastic inte-gration, polynomial chaos and their applications,ed. W. A. Woyczynski. Cleveland, OH: CaseWestern Reserve University.

Bechhofer, R. E. and A. C. Tamhane. 1985.Tables of admissible and optimal balancedtreatment incomplete block designs. Selectedtables in mathematical statistics 8:41-139.

Bechhofer, R. E., and D. M. Goldsman. 1985a.On the Ramey-Alam seqeuntial procedure forselecting the multinomial event which has thelargest probability. Communications in Statis-tics—Simulation and Computation 14(2):263-82.

. 19856. Truncation of the Bechhofer-Kiefer-Sobel sequential procedure for selectingthe multinomial event which has the largestprobability. Communications in Statistics—Simulation and Computation 14(2):283-315.

Boudouris, J., and B. W. Turnbull 1985. Shockprobation in Iowa. Journal of Offender Coun-seling, Services, and Rehabilitation 9:53-67.

Fox, R., and M. S. Taqqu. 1985. Non-centrallimit theorems for quadratic forms in randomvariables having long-range dependence. Annalsof Probability 13:428-46.

Jackson, P. L. (1984.) Debt vs. equity in a simplemodel with transaction costs: I. Form of theoptimal policy. Operations Research Letters3(5):251-56.

57 Shmilovich, A., and D. A. Caughey. 1985. Jackson, P. L, W. L. Maxwell, and J. A.

Muckstadt. 1985. The joint replenishment pro-blem with a powers-of-two restriction. HETransactions 17(l):25-32.

Prabhu, N. U. (1984.) Wiener-Hopf factorizationof Markov semigroups: I. The countable statespace case. In Proceedings, 7th Conference onProbability Theory, ed. M. Iosifescu, pp. 315-24.Bucharest: Editura Academiei Republicii Social-iste Romania.

Prabhu, N. U., and P. K. Reeser. 1985. A randomfamily of queuing systems with a dynamic prioritydiscipline. Mathematics of Operations Research10:24-32.

Taqqu, M. S. 1985. Orthogonal processes. InEncyclopedia of statistical sciences, ed. S. Kotzand N. Johnson, pp. 536-37. New York: Wiley.

Taqqu, M. S., and C. Czado. 1985. A survey offunctional laws of the integrated logarithm forself-similar processes. Stochastic models 1:77-155.

Taqqu, M. S., and Fox, R. 1985. Non-centrallimit theorems for quadratic forms in randomvariables having long-range dependence. Annalsof Probability 13:428-46.

Todd, M. J. 1985. "Fat" triangulations, or solvingcertain non-convex matrix optimization problems.Mathematical Programming 31:123-36.

Weiss, L. 1985. Tests of independence ofcontinuous random variables which guard againstspecial alternatives. Naval Research LogisticsQuarterly 32:337-46.

• THEORETICAL ANDAPPLIED MECHANICS

Burns, J. A. (1984.) Planetary rings. In Advancesin space research, vol. 4, ed. G. Morfill, C. T.Russell, and M. S. Hanner, pp. 121-34. London:Pergamon.

Chandra, A., and S. Mukherjee. (1984.) A finiteelement analysis of metal forming processes withthermomechanical coupling. International Jour-nal of Mechanical Sciences 26:661-76.

Hart, E. W., and Y.-W. Chang. 1985. Materialrotation effects in tension-torsion testing: Exper-imental results. In Plasticity today: Modelling,methods, and applications, ed. A. Sawczuk andG. Bianchi, pp. 235-46. New York: Elsevier.

Holmes, P. J. 1985a. Dynamics of a nonlinearoscillator with feedback control: I. Local analysis.A SME Journal of Dynamic Systems, Measure-ment and Control 107:159-65.

. 19856. Review of The Lorenz equations:Bifurcations, chaos, and strange attractors, by C.Sparrow. SI A M Review 27:106-10.

Schaffer, L, and J. A. Burns. (1984.) Dust motionin Jupiter's tilted magnetic field. In Advances inspace research, vol. 4, ed. G. Morfill, C. T.Russell, and M. S. Hanner, pp. 107-10. London:Pergamon.

LETTERS

The Rise of Research

Editor: Julian C. Smith ["The Rise ofResearch: Fifty Years of Change in Cornell'sEngineering Program" in the Summer 1985issue of the Quarterly] should realize thatstudents in the 1930s were unaware of the"decline in reputation" of the College. Theywere acutely aware, however, that "theCollege was overwhelmingly a teachinginstitution, with emphasis on training youngmen for careers in the rough-and-readyworld of professional engineering practice."

The College of Engineering in the 1930swas certainly not worse off than otherprominent schools. In those early post-depression years, we students were fortunateto be at Cornell and worked hard to preparefor the "rough-and-ready" practice ofengineering. I was proud to receive atgraduation in 1935 a civil engineering degree(not a B.S. in C.E.) in recognition of thecaliber of the curriculum at that time. Ourreputation then, as perhaps now, as a topCollege of Engineering was freely acknow-ledged by our peers in professional en-gineering practice.

As for our teaching faculty in the 1930s,Professor Smith makes it abundantly clearthat our academic work was practical inorientation, taught by professors andassistant professors without Ph.D.s, who didlittle research and published even less....We

alumni remember them fondly and, over theyears, have appreciated more and more whatthey did to provide us with a first-classengineering education. [Professor Smithshould keep this in mind while] raising sohigh the banner for research and plotting onprobability paper the percent of professorswith Ph.D.s.

Just four years before Hitler's invasion ofPoland, the engineering graduates in 1935were unknowingly being trained to serve ourcountry in World War II. Those whosurvived performed outstandingly in theyears following, improving the welfare ofmankind....Today's College of Engineeringwill do well to...graduate students as wellprepared to tackle the real world ofengineering.Haywood G. Dewey, Jr. '35Sacramento, California

Reply from Julian C. Smith: In preparingmy article, I tried to chronicle the changesthat have occurred in the College ofEngineering over the past fifty years, es-pecially in attitudes toward research, but toavoid value judgements as much as I could.Certainly there was no intention of givingan uncharitable picture of the faculty andstudents of the 1930s. I was a Cornellstudent then myself, and I also was notaware of the long period of decline in the

College between 1910 and 1935. I tooadmired the many distinguished facultymembers and felt the training I received wasexcellent preparation for my work inindustry during World War II. And now, inmy fortieth year of teaching at Cornell, Iwouldn't say that our current engineeringstudents are any smarter or better preparedfor engineering practice than they were inthose days.

But engineering practice is different, andthe subject matter is different, and thefaculty's attitude toward research andpublication is very different. About a thirdof our engineering students are graduatestudents; about a third are women. Researchis big business in the College. The history ofthese changes, and their underlying causes,were the subjects of my article. I tried toreport them accurately, not to judge them.

As to the plot of the percentage ofdoctor's degrees in the engineering faculty, Ifound it amusing and rather surprising thatit made such a good straight line onprobability paper—almost as if some ex-ternal force were driving the percentageupward. Is it good that almost all the facultymembers—96.3 percent—now have doctor'sdegrees? I don't know. I don't have onemyself—my degree is Chemical Engineer. Adoctorate doesn't necessarily make a goodengineer, or make him or her unfit forengineering practice, but it is absolutelyessential to getting a teaching position inany leading engineering college. That's justthe way things are these days.

The Fear of Pollutants

Editor: Professor Neil Orloffs Commentaryin the Summer 1985 issue, "Is the Fear ofPollutants Overemphasized in Our Society?"focuses on people's perceptions of risks. Hestates that in the U.S. one of our greatestfears is of toxic chemicals (although thereare greater risks of mortality from othersources such as car accidents and mountainclimbing), and points out that people's focus 58

"reflects their view of moral and immoralconduct" and that dangers perceived "areexaggerated or minimized according to thesocial acceptability of the underlyingactivities." He then suggests three reasonswhy there is such widespread concern aboutchemicals: (1) the presence of chemicals in,for example, foods, provides a simple andplausible explanation for development of adreaded disease such as cancer—and thusabsolves the individual from responsibility;(2) it is simpler and [perversely?] morereassuring to blame man-made chemicalsrather than nature; and (3) a focus onchemicals provides an outlet for anti-business attitudes, such as the "power andperceived indifference of large corpora-tions." Dr. Orloff believes that because[regulatory?] "officials have failed to con-sider the[se] cultural factors underlyingpeople's fear of chemicals", they could notpossibly have properly approached environ-mental controversies, since all they have tooffer the fearful public is generalized riskstatements about, for example, only a one-in-a-million chance of cancer (a small risk).

Dr. Orloff short-changes his readers byfailing to offer any evidence supporting suchcolorful suggestions as being the basis ofwidespread public concern and by neglectingat least two other relevant aspects of thediscussion. First, he ignores what I andmany others believe to be one of the mostimportant characteristics of risk perception:its "voluntariness" (that is, is the riskassumed voluntarily, or is it imposed onone?). Second, his article omits any realconsideration of the "track record" of toxicchemicals and "high tech"—for example,how often and how repeatedly we have beenunpleasantly suprised, not only by a well-known chemical pesticide like DDT, butalso by such practices as the formerlyroutine x-raying of children's feet to see howtheir shoes fit, or the routine use of foodadditives such as dyes, which were once"generally regarded as safe" (GRAS) and

59 used without adequate testing.

I'm not at all sure (as one can infer Dr.Orloff to be) that an individual would refuseto take responsibility for his chemical-demanding/chemical-based lifestyle—if heknew about it. But there is no indication atthe federal administratiave level or nationalindustry level of any interest in helping theconsumer make educated, informed choices.In fact, there is no indication of any attemptto view things from the consumer's point ofview at all—for example, to require com-prehensive food and beverage and materiallabeling; to point out what is known andnot known; to support the Delaney clause;to forbid overseas sale of products bannedin the U.S.—in other words, to undertakehonest public education and to demonstratethat the consumer should believe whatregulatory agencies, government, and busi-ness tell him about risk. These major playerson the scene have lost the trust of the layperson and must earn it back. There is nosimple prescription for this—except to re-member that actions speak louder thanwords.

Thus, it is not so much that people areirrational to fear something they are toldhas a low level or risk as they are wise tohave learned from history that such state-ments have been wrong before. Thathistorical "knowledge" is reflected in theirattitudes toward accepting involuntary risk,whether chemical, nuclear, or otherwise.Dooley Kiefer, A.B. '57Ithaca, New York

Architectural History

Editor: I recognize that the future directionof the College is more important than thereal-estate history; however, I wish to offercorrections to several captions accompany-ing Kermit C. Parson's article on the historyof the engineering facilities at Cornell. Thisappeared in the summer 1985 issue,"Building for a New Era."

On page 20, the caption for a 1936 aerialphotograph of the main Cornell campus

indicates that the only building on the siteof the present engineering quadrangle wasan armory and gymnasium. Actually, thesite was occupied by faculty residences fromthe location of Kimball-Thurston throughthe locations of Upson and Phillips. Thesefaculty residences are readily visible in theoblique aerial view. Also, Kappa Alpha isbarely visible over the roof of MyronTaylor. The 1948 proposal on page 21indicates Kappa Alpha as K.A.

Faculty residences, and the armory andgymnasium are mentioned in the page 14caption pertaining to the 1902 proposalshown on page 15. However, there are twoother buildings on the map. The buildingsouthwest of the armory is Kappa Alpha.The building southeast of the armory is aformer central heating plant. The armoryand gymnasium, which are the samebuilding, stood until 1956; the projection tothe south enclosed a swimming pool. KappaAlpha was occupied at this location at leastuntil 1957.Richard P. Spiro, BCE '59Bronx, New York

Editor's Note: Another error in the Summerissue (on page 25) is a misspelling of thename of the architect for Snee Hall. He isMario L. Schack, who was then in theWashington office of Perkins & Will. Beforejoining that firm, Schack was chairman ofCornell's architecture department, and hehas now returned to the University as aprofessor of architecture in the College ofArchitecture, Art, and Planning.

K. C. Parsons: I've just read your "Buildingfor Engineering at Cornell" in the Quarterly.It's a fine history, and of interest to collegeand university planners generally. Also, theP&W staff will enjoy seeing the goodcoverage of Snee Hall.Bill Brubaker, Senior PartnerPerkins & WillChicago, Illinois

An Editor's Testimonial

Computer science affects the working methods of practically everyone these days,and we are no exception. The ways in which publications are written, edited, andproduced have changed dramatically in the past few years. We are always glad totell about what has been happening to Engineering: Cornell Quarterly and otherCollege publications, and this issue on computer science provides a goodopportunity.

As recently as the beginning of 1982, the Quarterly was edited in the red-pencilmode, with instructions for typesetting written in the margins of the copy. Proofswere received in long galleys, corrections were written in, and the galleys werereturned to the typesetter along with a dummy layout. Next the printer prepared amechanical, which was photographed to make plates for the actual printing. All thistook about two months from the time the copy was ready.

The first change in our office was the introduction of a word processor, whichfacilitated writing and editing. (We also use it to maintain our subscription files andto print mailing labels.) Then, using a modem, we began to transmit copy over thetelephone lines to our printer in Massachusetts; carefully-worked-out codes replacedhand-written "specs" and the copy was set automatically without having to beretyped. For the issue before this one, we began to use a local typesetter who couldsupply proofs the next day, and to prepare the mechanicals ourselves. Small changescould be taken care of right away, simply by transmitting a few new lines andpasting in the resulting patches on the mechanical. Weeks of "turn-around" timewere saved and production costs were reduced by about $10,000 a year.

We began editing in the days when type was set in lead on huge clanking Linotypemachines. Innovations in printing techniques changed that and much more, butuntil quite recently, editors still worked with the traditional sequence of typed copy,galley proofs, page proofs, and bluelines. Now computer science and its sisterdisciplines provide new tools almost faster than we can keep up with them. Forinstance, in the article in this issue by Tim Teitelbaum and Thomas Reps, we readabout a WYSIWYG system that eliminates visible coding from word-processoroutput so that What You See Is What You Get; with this system, we would be ableto code manuscripts as we input them and still be able to print out readable copiesfor authors' approval. With improved interfacing, we could eliminate some retypingby copying an author's diskette and making editing changes directly on it. Maybesome day soon we can simplify mechanical preparation by formatting right on thescreen.

Computerized publication doesn't improve content, of course, but it enables aneditor to be more productive and decrease costs. Here's a vote of confidence forcomputer technology from a happy user.—GMcC

•a t

•ifit

ENGINEERINGCornell Quarterly

Published by the College of Engineering,Cornell University

Editor: Gladys McConkey

Associate Editor: David Price

Editorial Assistant: Lindy Costello

Graphic Art Work: Francis Russell

Typesetting: Davis Graphic ServicesLansing, New York

Printing: Davis Press, Inc.Worcester, Massachusetts

Photography credits:

Jon Reis: 1 (top), 44 (top), 47 (left), 48, 49 (right)David Ruether: inside front cover, 1 (except top),

10, 11, 17, 22, 32,40,43,45,47 (right), 49 (left)

Please address any correspondence, includingnoti f icat ion of change of address, toENGINEERING: Cornell Quarterly, CarpenterHall, Ithaca, New York 14853-2201. 60