<<

'CGTM 13A Septemb€'r 1972

A~ A~~CTATEr BIELIOGRAPHY MASTER COP~ ~ 50F;WAR£ ~RCHltECTURE ,DO_NOT REMOVE "illiam E. Fiddle Stanford Iin€ar Accelerat6r Center Cowputaticn Group starford, California

A1:stract. In the last fivE years research has been actively carried cut in an attempt to find structuring principles for large scftwat€ systems, d~si9n principles and methodologi~s fel such systems, and tecbniqups and mecha~isms for their efficient and economical irrplpmp.ntrttion. 1his interest has been generated by the hope of overcoming the protlEls stemming fre. the in~erent ccmflp.xity of large soft~at:e systems. This report proposes the name "" for this research area, ;ustifies net using the name "softw~re enginepcing" which i~ currently in vogue, overviews the .-...... content of the area, and presents a keyvorded and annot~t~d hibliography of the literature CD software architectur0. problems and their solution.

I. Intro0uction

architecture: the art Ot science of building; specif: the art or practice of designing and building structures, esp. habitable structures, in accordance with ~rinciples determined by aesth~tic dnd practical or material consider at ions.

We~ster's Third New International Dictionary, Unabridged. "erriam Conrany, Springfield, Mass., 1964

During thE.' threp decade history of digital computers, there has heen a natural and grad ua 1 generalization of the research interests of computpr scientists. Initial software research was directed ~)rimarily toward the deterll'ination of fast, accurate alqorithms for Idlmt"'rical cornputati.on and efficient heuristics for non-numerical I

This work was supported ty the Atc~ic Energy Comaission, Ptoject S u- 126P 23.

The author's current a~d~ess is: Depart_ent cf computer and r.ommunicaticn Sciences, Ur.iversity of "ichigan, 2076 F rie ze Building. Ann Arbor, Michigan. 2

processing. The need for a "friendly" envi~onment in which the ~ users could carry out their wcrk led to a shift of software research eaphasis to the .ore geceral ao.ain of sy_bol .anipulation, in particular th~ areas of language proc~ssing and operating systeas. Paralleling this research in software, the attention of hardware specialists was initially turnEd to the increase of computing machinery capabilities, Falticulatly speed and size, and the use of the n0wly developed transistor and integrated circuit technologies. It then gradually switched to the development of new machine architectures and organi2ations which were more clcsely allied to the special processing needs encountered in language processing and operatinq systeas. within the area of language pEocessing, the particular topics of progra ••ing languagee and their traDalators haye be•• al.oat fully alienable to soluticn. ~cause of the reasonably .all ~evelo~ed theoretical fccndatioDs prowided by linguistics and automata theory and the easily understood nature of symbol manipulation, a vide range of techniques was developed for the translation of programming languagEs close to natural languag~ and standard matheaatical nctaticn. Additionally, most of the techniques require~ processing facilities which were either already provided by the logical Fxccessing capabilities of co.paters or vere merely a natural extensicn of thea. Hardware specialists did not exp~rience any unsolvable plobless . in producing a stack-oriented computer architecture which n~turally facilitated compilation by provio ing a hospitable e'nvilcnment for both the and the object code produced ry the.. Pioa1ly, even though the language translators were embodied in programs larger tha.n those pr'eviously encountered, the well understood theoretical basis for the translation process led to a modularity which permitted one person to undprstand fully their organ ization and oFeratioo and eventually allowed the develop.ent of translator writing tools which partially automat~d the impIe.entation of translator systems. Tvo other topics within the area of lanquaqe processing information retrieval systeas and information management sJsteas have not been as fully developed. The large size of the data bases worked on by these syste.s is still a stumblinq to the develop.ent of other than experi.ental systeas -- production systems are either unecono.ical cr do not ~rovide acceptable response times. The problem is a coal:ination of an inability to produce an economical, large, randol-access storage unit and an inability to find data structures which provide efficient acces·sing when the information is stored in ctlrrent storage devices. Finally, the modularity of the infor.ation .aDi~ulation sfste.s which have been produceo has been very clcse to the detailed specification level and no general hierarchical structurE for an information manipulation system has been developed. !his has created a situation in vhieh it is difficult for one pErson or a .anagable nu.her of people to comprebend the total design of the system and carry out its implementation. Additionally, the lack of a general model has hampered the development of auto.atic tools to help in the making of ~ .. the many design decisions ar.d in tie implementation of the system.

Wher~ds the problems of scale within the area of language processing have pertained to the yclu.e of data being manipulated, in the area of operating sJstems the proble.s of scale have beEn 3

manifested in the large amotn~ of Frccessing which aust be done when allowing the sharing cf resources and the concurrency inherent in systems which have a large nuater of both independent and int er- dependent processi ng streams acti ve simu ltaneously. The problems stemming from thE concurrency have received the most technical attention and algorithas and aechaaisas have beEn developed which ~re sufficient to assure the appropriate. w~11-orchestrate1 oppraticr. of the system. Hardware has been produced which facilitates the sharing of resources. inclurling the central processor, but much morE needs to be done to provide a general computing utilitj which is econo.ical and reliable. The ~eemingly unsolvable protleas in operating syste.s have been associated with the sheer si2e of the progra.s which embody thea and the inability to find general .ca_ls which allow the description of their organization and oIeratioD in fact, their general org ani 7ati.on and operation is very poorly understood in the abstract terms necessary for the develop.ent of a model which would facilitate their description and design specification and allow the develoFment of powerful actomatic i.ple.entation tools. The large size of the programs has lee to a cc~respondingly lacge expen~iture of man-years for rJesiqn and i.pIe.entation -- the Chinese-aray ~pproach has b~en a general failure, so.~ti.es lea~ing to negative nroqress, anc1 few generally afplicable management principles have he0n developed tc hp.lp the fituation.

The t(_~rU'! "softwdre engineering" has been introduced in order to provide a namr~ for the stuoy of protleas of large-scale. comple.x .joftware systpms and tii th the deliberate intent of indicating the qeneral nature of their solution. 1he suggestion was that only through t he a pplica tion cf fO und engineering principles cou 1 d large, correctly-operating softwa~e systems te econcmically produced. But the term has turned out tc te scaevhat of a misnomer since the ~nqineering of complex systEms Fresupposes a knowledge of the mat erial available and its general properties and the ways in which it can and should be used to prcducE the final systeL Most of the work that has been carried cut in this area, however, has been directed toward the identification of the basic aaterial (the huilding hlocKs) and its Fro~erties and the determination of structuring principles fer large software systems. particularly operating systeas, and mEthodclcgies for th~ir design. "Software drchitectur~" is a more affIopriate term. reflecting as it does the ~mphasis upon the deaarcaticn of pri.itive aaterial an~ its prop~rties. the determinaticn of structuring princi~les which take into account practical and material considerations, the development of appropriate ~esign principles and methodologies, the orientation toward the production cf a hospitable end-product, and the involvement of aesthetic cODsideEatioDs.

It is the intent of this r~port to provid~ an annota t@d hihliography of the literature covering sriftvare architecture. Preliminary to the bitlicgrap~y, the next sections provide an nverview. in outline form. cf the field. It serves the dual purpose of structuring the field's content and providing definitions for the terms which are used to cla~sify the items in the bibliography.

Th; bihlicqraphy is not s:lf-cractices may speed thE desi~1l and i.ple.entation of software systems, they sometimes have a disastrously negative effect upon the clarity and maintainatllity of tte system and the ease with which it may be modernized.

The author is aware that some material say veIl have been overlooked and hop~s that rEaders viII hring any omissions, maior or minor, to his attention.

II. coaplexity Coaplex systeas haYE been studied in social and biological con texts as well as in the technical areas of which coaputer software is a part. ~he focus of this stady has been upon the inherent attributes of cOlplex systeas, the benefits to be deriyed frol the appropriate and judicious use of these inherent attributes, the evolution of complex systels, scheaes fer their succinct clescription, methods for their for.al analYSis, and lIetrics for measuring the a.aunt of coaplexity. Kuch of this work OD coaplex systems in general is directly applicable to software architecture. A. General attributes of complex systems.

1. Modularitv -- thEre are natural units which form the building blocts for construction of. the systel. 2. Hierarchical strccture -- the base building blocks may be grouped inte subsystems which .ay, in turn be grouped into "highEr ft sutsfste.s, etc. Most usually, but not necessarily al.ays, the hierarchical structure exhibits strict nEsting of thE suhsyste.s.

3. Abstractions -- Each Eutsystem iD the hierarchical structure provi~es a point at which an abstraction aay be 5 .ade of either the systE.'S organization or behayior in that the internal aspectE of the subsystea aay be suhsa.ed within a .OIE CJrcs. description of the sabsystea in teras of its interaction. with otber sUbsysteas. E. coaplexity Metrics. 1. General -- there are sEveral metrics which .af be used to mp.dsure the cc.plelitJ of qeneral syste.s.

a. Size -- the Icst cbvicus a.tric. h. connectivity -- this .easure accounts for the .80unt and ccst of interactions 811OB9 the subsfsteas with tue at' •• tio. ~.1.9 pata to the systea's hierarchical structure. 2. Software systems -- acre specific aetrics arise when attention is focussed upon . software systeas in .,. particula r. a. Large-scale ratber than haye a specific definition, thE USE of this tee. is rather intuitive. the ether metrics serye to specify this one more concretEly. b. Understandability the rather .ushy test here would be the length of tiae for one person to gain a working knowledge cf the aetailed operation of the entiIe sIster. c. cost -- always a factor, this can be aeasar9d in dollars, .an-lfIletia, or liDes of code. d. Infor.a tien proc••• lDg co.ples software systeas do not geDerel1y carry out Ba.erical computations ana th. Dature ana structure of·the symbols aanipulaied b) the sJste. can proyide so.e insight into the s1st,.'s coaplexity. e. Perpetually erroneous this attribute is all-to-vell kncvr. by users and can lead to .eaSQres ~ of complexity such as the nu.her of errors which must always be preseDt or the difficalty of "getting around" the residual errors. c. Description techniques -- the aodularity aDd hierachical structure of compleJ !Jste.s leads to an ability to aake ahstractions as notEd atOYE. These abstractioD' can bo usefully e.ployed when tIJinq to descrihe the Bfstea's design or its behavior. A secoad QS' of abstract 4•• crlptions is to allcv the for.al analysia or EYDtbesis of sy.teas.

1. Documentation ~- this is the .ost used aad least effective means of descritiD9 a coaplex software s1stea. It is generally verbcse and aabiguous and is certainly not a basis for for.al ana1y.is of the syste.. • 6 2. state descripticI1s -- these describ.e the systea as an entity which moves freB onE state to aDother and generally pertain lore to the syste.'s beha_lor than to its structure.

a. state descrittion£ of structure vlun1 t.he system is net capable of any concurrent actiYity, it's state corr€E~onds directly to sOle point in the cODnitional, sequential flow of control aaonq ~lements in the {hysical structure of the s,stea. Almost alvay~ these descriptions take the fora of directed graphs. 1. PlovchartE the traditional a.aos for describing a sequential progr••• 2. Progra. schElata the exteasioD' of to situations iD which parallel activity may take place. h. state descripticns of behavior the.e describe the lcgical steps carried cut by the system during its operation and there is little or no attempt to relate this to the pbysical .truc~ure of the system. . 1. Direct€o grapts -- the Dedes represent various states ana the arcs represent state transitioDE. a. StatE transition diagra.s used mostly as a leans of describing finite sta te au toma ta. h. Petri nets -- developed to a ••cribe the states achieved br iDt.~.ctiDq automata.

c. OccurrenCE and marked graphs a modification cf Petri nets developed to pprmit the description of the inberent concurreDY cf cyclic seqa.Btial prograllE which is .asked by a flo.aut (lef;cr i Ft ion. d. Hierarchical directed graphs -- an extensicr. of normal directed graphs developec to .ireor the hleraEcklcal nature cf the sJstea's beha.ior. 2. "Algetraic" equations -- these describe the behavior of the systea in ter.s of a trace of the systems activity during its operation.

a. Regtlar expressions used to describe th~ input accepted byfiDlte state automata. 7

h. ~essage tIansfer expressions an extension of rEgular expressions which give a tra.ce of the inter-.odule communication taking place in a slste. of conculrently operating .odules. 1. Process descriItions these focus upon the structure of the SystEI ty exhibiting tbe process by which the system may be ccnstructed. a. syntactic definition the syntax of a languaqe specifies thE ways in which sentences of the language .ay be ccnstructed. In a s1.ilar way, the alphabet of 8 syste. ftbe basic boildiDg blocks for its construction) .ay be specified aDd a syntax given to descritE the structure of the slste. in terms of how it may be put together fro. ele.ents of the alpbatEt. h. Vienna definition language -- the latest in a series of atte.pts to provide a for.al process description of tte SElantics as well as the syntas~ of programming languages. The scheme proyides for the description cf thE' tnterpretation that is to be associated with any Eentence produced by the syntactic definition.

III. Us~r requirements The software systems eJist in order to satisfy the needs of a usp.r co.munity. Aside froa the users' processiD9 reguire.ents, the re are three basic reg-uire.ents levied which crea te specific proble.s for the designers, iaple.entors and service personnel. A. Usability and evolution -- the users require a sJste. wbich satisfies their needs (tte usatility require.ent) and siDce these cannot always be full, specified in advance, the syste. must be easy to modify (the syste. evoluticn prohl•• ). 1. The usability reguirElent.

a. ComFl~teness provision of a full 'set of sorvices.

h. Adaptatility -- the ability to have the ~ys~e. changed so as to frcvide a previously a1ss1ng feature. the changes in this category are permanent, glotal changES which the users expect to he accomFlished in a reasonable a.ount of tiae. c. Extensitility the ability to change a rrivate version of thE systea sc as to particularize it to a user's specific needs. These changes are tevForary, local ones which the user expects to be acco.plished alaost i •• ediately upon requ~st. 8

2. !he system evclution Frcblem. a. static evolution -- performed by maintenance personnel and rEEults in a per.anent change to the system.

1. Modification -- additions and deletions caused ty (rangEs in the needs of the users or in the hOft-machine configuration.

2. transportaion (~cItability) -- using or producing ~XfortatlE or importable systems or subsysteas ,hich can be easily inserted into a (perhaps r2dicallYl different en.iroD.ent.

a. GenE~alitJ -- independence cf the systel from its environ.ent. b. localized eDYiron.ent dependency. c. stancarizaticn -- imposition of a uniformity upen the host environ.ents.

~. Un i versa] i ntermed ia rv the prov1s1or of a universally accepted inteLmediate deEcription scheme so that only a minilul amount of translation need be done, hopefully -automatically. h. Dynamic evcluticn te ..porary. reversible changes which arE, for the mdst part, performed automatically.

1. Extensilility the system may be specifically designEd so that priYate versions of it maJ be tuned to the particular needs of a sutsEt of the user co •• unity. 2. Auaptaticn -- the sJstea .a1 be designed to adjust its behavior to the dynaaically changing loaf induced by the users. 3. Reconfigtration the systea aay be ~8signed tc tolerate the dynamic deletion and recovery of ~iEces cf host-aachine hardware.

B. E f f ic i e nc y a n (1 eva 1 u at ion -- th e us er s r eq u ir easy s te a which does not waste their tiae or money (the el£lc!ency requirement) and thus it aust te possible to obtain valid m~asurements of the syste.'s ~erforaance (the syste. evaluation pro blem) •

1. The efficiency rEquirE.EDt.

a. Efficiency -- measures of efficiency and their applicability. 9 h. Optimality -- can it te achieved and is the effort really jUftified in a dynamic system?

'", . ~he system evalucticn ~[cb]em. a. Evaluation -- the leasure.ent of the actual F~rformance of th~ s~stem.

1. analysis -- a p~ic[i deterlinaticn of the system's performancE characteristics. a. Modeling -- the use of matheaatical models.

~. simulation -- the use of stochastic simulaticn mocels.

2. Monitcring 1etermination of the performance characteristics ~uring the operation of the system. Monitors ate used to collp.ct ~tatistics which are subsequently analyzed.

a. Fa [d til are monitors hard" are ~evicee tsed to collect the statistics.

b. Software Icnitors Fieces of software insertec into the system, ~ithe[ during its implementation or dynamicaJly while it is running, to collect the statistics.

h. Testing the cC-Farison cf the system's pprformance agairst scme Established criteria. 1. Criteria -- the development of meaningful acceptance, quality or performance criteria.

2. ~est caSES -- the develop.ent of test loans for Eutrission to the system.

1. worst case analysis the special consi~eraticrs concerning test case develcpment wh~n critical perfcrmance limit.s may he delineated. c. Int~qrity and validation -- the users require a sJstea which consistently prcducEs valid results (the integrity rp.quirement) and thUE the validity of the systel lust b@ amenahle to analysis an~ it lust be possible to correct errors (th~ systArn validation ~Ioblell.

1. The integrity Ie~uire.ent.

rt. Availatilitv -- thE users want a systes which is available whEt the) watt to use it. b. Reliabilit} -- the users want a systea that. is 10

not S\l b jec t tc t ra n sien t , erratic behavior. c. CorrectnEsS -- thE users want a slste. that conforms to SO~E generally accepted ex~ectations. They ha ve a va Iiable tolerance level, however, being atle to live with some errors (such as in program compilation) as long as there is a r~asonably easy way tc ~~t around them.

2. Thp. software validaticn ~roblem. a. Formal validation the use of effective procedures to aralyze a systea's correctness or the determination of structuring techniques, .echanis.s or principles \hich ,,111 preclude iDYalia behaylor by the syst~DI.

1. Axioma tic a ~proach~s met hods of analysis which depend on established or ~pecially ~EVEIOPEd axiol systems.

a. Mcrlels of computation -- the use of directed graphs or progra. sche.eta to

b. Fr E die ate ca lculus the expectations atout the sJste.-s behavicr are stated as pre~icates over the valUES of thE variables .ani~ula.ted by the IIcgra ••

c. ~Essage transfer expression analysis -- thE Expectations abeut the system's beha,ior are stated as traces of the communication which takes ~lace among the concurrently operating parts of the systE1I.

2. ~on-axiclatic aFptoaches -- the analysis is carried out with the aid of a process description cf thE syste. rather than a state descripticn.

a. Gen~rativ' apfrOachas •• gen@ratif@ definiticns of thE structure (syntax) or beha\ior (semantics) of the system are used as tte process descripticns.

b. Eottom-up approaches the hierarchical decomposition of the system is Elplcyed to guide the analy~is, with the validity of the base modules teing proven first and then the 11 validity of the next higher leyel of aodules tein~ ~royen with the base .oaule~ being Also.ed correct. etc. h. Error detection -- tEchniques for the detection of the presence 2nd lccation of errors. Special problems which .u~t be considered are the genp.ration of t€st cases, the detecticn of errors which are global in their effect, irreproducibility of errors in ar asytcbrcnous environment, and the validity of using environaent siaulators so that a perhaps faulty sYStE. need not be run in a dedicated, actual environaent. c. Tolerance -- the dESigD of systeae so that errors will not affect tte operatioD of the syste. or will affect it onl} within a saall seq.ent of the total system.

d. Debugging -- ~echniquEs and system ~xtensions which facilitate the Ie.oval of errors.

IV. Design

The design process can h~ viewed as the translation of a rough specification of the functicral characteristics of the system into a ietailed ~escription of thE syste. in teras which are executable ty the host environment. This cverall translation breaks down into a series of suh-translaticn~ which reflect the traditional design cycle. Several principles tave teEn delineated which tend to ease the t.rans la ticn process and S~ ve tal aethodologies h 89. been advanced as efficient paths througt the sEries of translatioas. So.e tools hflV€ been c1eveloped to a utclate FaJ:ts of the oyerall translation.

A. Oesign cycle -- the tra~itional desigD cycle aay be stated in terms of a series of successively .ore elaborate and detailed descriptions~ 1. Functional level -- the descriptions at this level specify the external rEquireaents and the general functional organi2ation of the syste•• 2. Process level the descriptions at this level exhibit the structure cf the syste. in ter.s of the interconnections amo~g aSJDchronous, concurrent modules and the behavior of tbe syste. in ter.s of inter-communication among the aodules.

a. OnrestrictEd resources -- the descriptions at this level are dEVEloped without regard for limitations a~ tc the nuaber or capabilities of the physical resources ayailable in the host environment e~cept as these liaitations mar be rpquired by the functicns to be parfor.ed. b. Restricted resources at this leye!, the descriptions still are couched in ter.s of 12 intpr-communicaticn along concurrent modules, hut extra modules O~ communication paths are incorporated in order to effect re~trictions r~guired by efficiency considerations or limitations of thE host-environment. The restrictions mal be necessitated, in part, by a limited number of processcrs, processors which have only limited cafabilities, the required use of re-entrant or IE-usatle code, cr cc ••unication handling mechanisms which have a bounded queue lengt h.

3. Sequential prcqramming level -- at this level, the description~ Fresent the detailed internal logic of each module, in terms of a sequEDtial progra., which the mO{1111e must carry out in order to perfor. the aessage har1l1l1na required. in its cCII.unication with other JDoouIes.

a. Procc~ure oriented thigh-level) specifications t.he tlescripticn is in a high-level (roqraalling languag~_

h. Machine ori€tt€1 flew-level) specifications th(~ descript.ion is in a low-level troqra.aing lanquage for ECIE (FeIhaps only virtual) aachine •

...-.... 4. computer orga niza tion level -- the descriptions at this level specify tte lo~ic and organization of aachines which carry out thp primitive operations used in stating the machine oriented s~ecifications. these descriptions need not specify hardware logic but aay rather define a virtual "machine" which provides an environ.eDt for the execution of the s}stell s~ecified in the description at the sequential pro9rammin~ lEVEl. B. Design principles.

1. Mo{lularity -- the systells should be seq.ented so that there are modules which Elbcdy one logical subpart of the syst~m. The segmentation may be determined, in part, by the functIons t.o IE caz:riEd out or in crde't to isolate design decisicn~.

2. Convent.ions anc st.andards rules should be established as to tEchniques and mechanisms to he used in performing certain standard operations.

3. Late-binding -- cetails about the exact form and operation of parts of thE system should te delayed as long as possible.

4. Restricted inforlaticn distribution -- the external ~pecjfication of a Jrodule should specify only enough of 1tS oppration to al1cw successful interaction on the part of other mo~ules.

5. Intpgrated simulation the feedback cbtained by 13 simulatina parts of the system should be available while the design is bein9 eartied out. Waiting until the design is complete doel Dot allow the feedback to have maximal effect.

6. Itp.ration thE CEsi9n process shculd be so fcrmulated as to allow iteration back through previous steps with a minimum of Effert. c. D~sign methodclogieE. 1. Bottom-up -- in this .ethodology, primitive building hlocKs are used to construct .odules and then these are used te const~uct ether .cdules, etc., until the final sYBtem is arrived at.

~ TOF-down this mEttodology fellows a path of decomposition rather than the path of composition fol1owp.d in the tottcm-up aEthodology. A design is produced ~y fCIming succesively aore detailed oescriptiors of the systEB ty a series cf elaborations of ~revious nescripticnf.

3. O+hers nEither the top-down or bottom-up methodologies are ~trictly used in practice since it is fruitful to emfloy the information known about bot.h en<1s (the functional spEcification Qf the sys~e. and the capabilities of the host environment in which it will run). other methcdclogiEs ate a mixture cf top-~own and bcttcm-up inside-out, outside-in, top-down with look-ahea~, tottom-u~ witt lock-ahead. D. Design tools -- tcclE have teen developed to help and partially automate the design of software s1s1: ••s. Since the design process is tasically CDe of elaboration cr abstraction of descript.ions, the teols are oriented toward the autoaatic translation of oescripticns. 1. Near-decompositllity analysis this is a graph theoretical analysiE technique which uses connectivity measuceme.nts to d~liDit tbe sutsyste.s vithir a system of modules.

2. Concurrent activity ccnstructs these are mechani.sms and constructs for allowing the expression cf parallel ac1:ivity and the synchronization anc cowmunication a.ong concurrently operating modules ~ithin the framework of a sequential program.

3. Sequencing anallsis these are prccedures for automatically uncovering the parallel activity which can he carried out by thE modulES in a system which has been described by a segcertial prograa. 4. Automatic flowctartErs programs which produce flowcharts for systems which have been described in some programming langu~ge. 14

5. systems programming languages -- special programming languag~s develcFed for the i.ple.entation of large software systems, usually c~Erating systems. 6. Translators anc translator writing systems compilers, assemblers and interprepreters and systems which aid in their inplem€ntation.

7. Decompilation -- systEmE which pe~for. the reverse translation from that performed by coapilers.

8. Sysgen systems systels designed to allow the hinding of a systEw, whicb bas been designed to operate in a multitu~e of hOEt envitonaents, to one particular h03t environment.

v. system design an~ impleIentaticn languages

Since the emphasis ir. cesign, ilplementatioD and aaintenance is on thp nescriFtio.n of the s}stem, particular attention bas been paid to ways of stating the descripticn succinctly and uuaabiguously_

,~. nesi I'a blp at t L ibu tes -­ thE descriptions cbyiously must reflect the behavior cf the sJ~tems but should also reflect the structure of ~he systEm. Therefere there are attributes of la nguaqp s for desc [i bing the design or implementation of a system which reflect the structuring and deeign principles relateo ahove.

P. structured programmirg tarticular attention bas been paiJ to the design cf prcgra.ming languagee so that the implementation of a system may be carried out in a natural, top-down plaboration precEss. 1. Go-to-less progtams -- CVEruse of the goto state.ent can d~stroy the structure and clarity of a prograa.

2. control constructs -- new const~ucts havE been added to programming languages, such as the case cCDstruct, to reduce or eliminate thE need for using the goto st.atement.

r. System prcgramming lcngua~es -- special languages have been devEloped for thp implementation of syste.s. "ost have been extensions of generally availatle program.tng languages, but new and radically different oces are starting to appear.

rye ~ranslator writing syste.s -- if new languages are levelopR~ then compilers must tE ~rEpared to translate prograas in the languages inte executable code. It is the role of translator writing systems to partially auto.ate the preFaration of compileI~, assemblers and interpreters.

VI. Ccmfu~er organi2aticn 15 This term is used to dEscritE the logical organization of a computing facility it is what the user "sees" when he uses the machine -- an~ is in opposition tc co.puter architecture which p~rtains to the physical c~ganization. Very seldo. does the logical structure directly reflect thE ~hysical structure, although it is il€finitely influenced by it. iithin this part of software architecture is the research carriEd out with the aim of providing computer orqanizaticns ~hich are the natural ones needed for the implementation of software systEIS.

A. Language oriented machine dEsign -- this ~hEase has been coined to ~escIibe thE development of co.puter architectures which facilitate logical organizations required for software system implementation, particularly the iaple.entation of lanquag~ translators.

I3. Nlicroprogramming microprogra.s are "(usually nnchanqf!able) progtam~ which control the gatinq and iIlter-register informaticr transfEr so as to produce a specific c r <1 ani z a tic n •

1. Emulation -- thi~ is the use of aicroproqra•• iog wit_h in one mach in E so t tat it .iaics the oEera tion of a mac~line cf a (~ifferent.: architecture.

2. Lanouaae machinEs -- thE USE of microprcgramming so that a-ma~hine may 21most directly execute !tateaents in scme programming language.

1. control constructs -- mic~oprogra.ming may be used to provide a wi~e variety of centrol constructs not only for sequential p[oce~~i[g but also for processing which involvefi parall~l activity_

VIr. ~anag€'ment

The ~esign ana imFlementation of larqe scftware systeas rcquirer; moro than one perscn and this creates a management prohlem.

A. Plannina.

1. Language choiCE -- thE language in which the systea will he implemented Itst te chosen. 2. Programmer assigtlent -- proqra•• ers must be assigned to tasks which they ere capatle of co.pleting.

3. ne s p 0 n sib iIi t Y h i ~ [ arc hy -- a hi@ ra rt! h y at responsibi1ity must he established so that the progress of the project may tE monitcred.

4. COEt. p.stimaticr: -- teforE starting the project it must be dpcided whether or not sufficient aonetar, and hu~an rpsources are ~vailatlE.

~. Scheduling -- a !chEdulE aust be established which sr-ecifies the time! at which check-points vill be made 16

and milestones shoul~ te ~Eeched.

B. C entrol.

1. ~ocumentation standards -- a uniform vocabulary and syntax must. tE €statlished so tha t effee ti ve communication can ta~e place aaong the iapleaentors and desiqners aft,l so ttat tt.~ wOlkings of the fi na 1 prod uc t may be easily discerT.ed b} the users.

7e Progress monitering the progress of the implementation must te monitcred.

3. Quality control -- the final product must 11Ye up to some absolute standards and interaediate checks .ost be m,-1,lp as t.o whethEr ttis will tE achieyed.

4. Chang~ control indiscriminate changes to a partially imFlemented system can cause serious probleas.

c. Pricing­ a price fer the final p~oduct must be (Ie t.er min e r1.

TITII. Miscpl1aneous

Therp are two topics ~ithin thE software architecture field which ~o not fit into the c~tline ~resente~ above.

A. Education -- computer sciEntists must be educated in the Frinciples and techniquEs of succesfully designing and implementing large scftwale EjEtems. This pertains to the general knowlelige lIhict must te conveY,ed rather than the tp.cnnical specifics of Farticular systeas such as operating ~v5tems. The knowledgE may tE conveyed by a traditionally organized course or by means of a software labor atory course.

R. and i1lpleBentation laboratories these ar(~ facilitip.s i.n which the tools, aechanisas, and metho~o16gies of software architecture are made ayailable for the design an1 implewfntaticn of software systeas and the ~xp€rimp.ntation ~ith the S}stemE.

TX. Ackncwl~Jgpments Acknowledgement should be given to William Y. Miller and Victor R. Lesser whose association and cODveIsations with the aut hor havf~ direct.ly and indirect! J contributed to this r~port. Tha ~uthor woul~ also like to acknowledgE the conscienticus efforts of J orgp. B rl.1gu~ra which ha VE made the Stanford University computer scipnce.Department Iltrary.cne Of. thE .ost co.plete and vell-managed collect1ons of computer ~C1Ence I1terature. 17 x. Bi bliography

A bra68 "arshall D. Abra.E. A ccaparatiye sa.p1i89 of the .,sta.s for producing cOIlFuter-dtavnflovcharts. Proc. 1q68 ACI! Natn. Conf •• pp. iq3-7~O. Topics: Sequential programming level Keyworns: automatic flcwchart production

A dam68 Duane A. Adams. A computation Model With Data Flow sequencing. Tech. Fep. CS-l11 (Ph.D. Thesis), Co.p. Sci. Dept., 5 tanford Uni \., Calif., December 196 e. Topics: Descripticn tecbnigues

K0ywords: cOJl~utation Radel, parallel computation, directed graph, profErtiEs of computation, hierarchical

A computation i~ modeled by a directed graph built hi~rarchical1y ftem a set of nodes with pre-defined int-~rpretations. 'I ~€ arcs 1:Etveen the nodes represent PIFO ~ata queues and all sequencing of the nodes in a graph model is eff~cted by tte flow ·of data among the nodes. It is shown that any cCDl{:ctable function may be represented and that any computatlcn rEfr~sented hy a graph model is cletermina tee

A k i v71 Fumio Akiyama. An example of software systea debu 99in9. Froc. IFIF CongrESS 71, Ljubljana, August 1971, pp. ~A-1- 37 - TA- 3-Q,.

lopics! Validatict, ~anagement

Keywords: debu99ir<;, ccst Esti.atioD

' ••• by carefully studying a general flow chart during the detailed designing cf soft.are, we can predict the Dumber of tugs in the system, end cEcide on the number of checkpoints to be made during the process, and. consequently, the man -hours necessary.' (aut I:or)

Alex64 Christopher AlexandEr. Rotes on the synthesis of For•• Harvard University Ftess, Cambridqe, 1964.

!opics: Design lethodologies

Keywords: bottom-uF, hiErarchical deco.position

Proposes bottom-up eesigD after obtaining a general tree-structure of the interdependencies among the parts of thp, system.

Altm69 S. M. Altman and A. i. Le. Syste.atic desigD for .odular 18 realization of centrol functions. Proc. AFIPS 1969 SJCC, Vol. 34, pp. 5ei-!9~.

Topics: Desigr ~ethcdoloqies

Keywords: primitive 8odules, bottom-up, asynchronous digital systems

This paper preEerts a sJstematic procedure for the design of the logical st~ucture of a set of asynchronous control mo~ules which may SErve as the tasic builditg blocks for the construction of tbe ccntl:ol structure of an asynchronous rligital system.

Amda64 G. M. Amdahl, G. A. Elaaus, and F. P. Brocke. Architecture cf the IBM system 3EO. IEP. J. Res. and Develop.ent, 8, (1964), 87-101. TopicR: computer crganization

Keywords: machine language design

Argues in favcI of a traditional machine language (opcol.l+:"\, inoex I€gistEr, and indirect addressing) and against using Polish notation - see criticisa of Rarton in "Ideas for computer syste. organi'Zaticn".

Anne65 J. P. Anderson. PrcgIa .. structures fer parallel processing. C om m• 1\ eM, 8, 1 2 ( De c em be r 1 965), 186 -18 8.

Topics: Seguentia] prcgram level

KeywoI~S: progralming languages, concuxrent processes, mul ti programming

A set of supposedly necessary co •• ands are proposed as an extension to Algel in order to permit the speCification of the possirle cOtCUrrEnt operation of subparts of a rroce~nr~. 1he ccmmands are intended to allow easy translation of thE scurCE prograa for a 8ultiprogra.aing environment.

Arde6G B. Arden and D. Bcettner. ~easure.ent and perforaance of a multiprogramming systea. Proc. SIGOPS Second sy.p. on Operating Systems Frinciples, Princeton, october 1969, pp. 1]0-146. Topics: Evaluatior. Keywords: monitcring, Etatistics

Ard~71 R. W. Arden, L. K. Flanigan and B. A. Galler. An advancea syst~m programming course. Proc. IPIP Conqress 71, ljubljana, August 1~71, ~p. TA-7-11S - Tl-7-119 •

• 19

!opics: Educaticn

Keywor~s:syst€m fesign, system ilplementation

This article giVES a description and evaluation of a system design and impleaentation laboratory course for ddvanced graduate studEnts.

~Lon70 J. D. Aron. Workin~ paper: EstiiatiD9 rescurces for large ~rogram.ing syste.s. In Euxton and Randell (eds.), Software Engineering Tecbniques, IATO Scientific Affairs Div., ?rllssels, 1970, t:P. eE-i9.

1opics: Management Keywords: estimating ccst

~he paper presents a silple guideline for esti.ating the manpower requiremerts for large scale software production efforts. The quideline is in the forI of a quantitative nethod and the Faper Ie.ievs (quickly) soae alternatives. It is ~onclu~ed that the mEthod offers aid when attacking systems in unfamiliar areas and verification of estimatEs obtaine~ hy other mEthcd~, tut the method is. Dot as good as reliance on prior eJFerience.

A. s c h f) '? R. A. Asc h e nh re nne r , ~. J. FI yn n an d G. A. tI 0 bi ns 0 n. Intrinsic .ultiprocE5sin~. Proc. APIPS 1967 SJCC, fo1. 30, Fp. A 1-86. Topics: Computer crganization

Keywords: parallel Co.~utErs, multi~le functional units, concurrent proceSSES

7he author~ indicate how a coaputer architecture which more directly maF~ the conceptual orqani2ation i.plied ty con current- process€~ can Enhance the system throu

Ashe?1 Edward Ashcroft and Zohar Manna. The translation of "go to" t:rograms to "while" Frograas. Proc. IPIP COngress 71, Ljubljana, August 1~71, ~p. Tl-2-147 - TA-2-152. Topics: Sequential pro9ra •• ing level

Keywords: go-tc-lefs progra•• ing languaqes

'In this paper ~E she. that every program can be written withcut go to state.ents by using while statements. !he main idea is to introduce new yariables to preserve the valUES of cErtain yariables at particular Foints in the prcgras; Ot alternately, to intro4uce special boolean variables to keE~ infor.atioD ahcut the course of the COli puta tion.' (a uth 0 IS) 20

AsIa?1 R. Aslanian and e. Bennett. Evolutive .odelling and evaluation of opEr~ting and comput~r sYEtems. Research Feport CA-016, Comlagnie International pour l'Inforaatigue, France, 1~71.

~opics: Desigr methodologies

Keywords: top-dc.n elaboration, integrated siaulation, iterative

Dack!)9 J. W. Backus. ThE syntax aDd se~aDtics cf the proposed international algebIaic language of the Zurich left-GAft" conference. Frec. lCIP Congress, Paris, 1959, pp. 125-132.

1opics: Descri~ticr. techniques Keywords: formal cefinition of syntax, EN'

9iier69a ~J. I. Raer and D. F. Ecvet. Compilation of arithllletic pxpressions for par211el cc.~utation. Proc. IrIP Congress 6R, Edinburgh, Augu~t 1968, pp. B4-B10. Topics: seguential programming level --) Frocess level

Keywor~s: desequEIcing, algorith.

Ha~r6Bb J. F.. Daer. GraFh models of computations for co.puter systems. Report Ne. e€-4f fPh.D. Thesis). Dept. of Eng., nCLA, calif., Oc tobEr 19 Ee. !opics: Descrifticn techniques Keyworns: graphs, co.putation

B~]171 Alan Ballard and tennis Isichritzis. Transfor.ations of programs. Proc. !FIP Ccn~ress 71, Ljubljana, August 1971, P p. TA - 3- 89 - 'I A - ~ - 9 ~. Topics: ValidatioI, Optiai2ation Keywords: equivalEnce FrESErYing transformations

D~lz6q n. M. Balzer. EJDA!S - EXtendable Debugging And Konitoring system. Proc. AFIP5 19655JCC. Vol. 34, p~. 567-580. Topics: Validaticn

Keyworns: deb uggi ng, extensible syste., high-leyel languages 21

Balz71a R. ft. Balzer. Cn the future of Coaputer Prograll Specification and CrganizatioD. 1-622-18PA, Rand Corp., santa Monica. calif., Aug-ust 1911.

Topics: De sc riI tioD techniques, Seqllen:tial progra •• i ng level, Process level

Keywords: proceduxe concEpt, i.plied ~rocessing, process specification, 0YDaaic .edification of process specification

Ralz71b R. M. Balzer. PCBT~ - A ••thod for dJDaaic interproqraa communication and jet centrol. Proc. APIPS 1971 SJCC, Vol. 38, pp. 485-489. !opics: Process lEvel Keyworos: delaYEc binding, co ••unicaticD; aodularity, semaphores, conditicnal P-operation, concurrent processes

Jars71 H. Barsamiam and A. DeCegarna. Evalua tion of hardvare-firmware-scftware ,t~ade-offs with lIatheaatical modeling. Proc. AF1PS 1911 SJCC, Vol. 38, I=p. 151-161.

Topics: Ev alu at io Il Keywords: hardwarE/software interface, analytical

Rart61 R. S. Harton. A critical review of the state of the programming art. FlOC. APItS 1963 PJeC, '01. 23, pp. 16<)-171.

Topics: sequential pro9ra •• ing level Keywords: languagE design

The a uthor a Ig ue ~ tha t program.lng lanqu ages should not be influenceo ty the cba~acteristics of a aachine, but rather by the ease cf teaching it, the need to haye progra. libraries, the nEEd for tEpresentation of structure in the data and the algcrithm, and the need to produce translators and systems.

Bart70 R. s. Earton. IdEas for cc.~uter systels erqaJliu tiD!l! A Fersonal survey. If. ~ou (ed.), Software Engineering. Voluae 1, Academic Press, I. Y•• 1970, pp. 7-16.

Topics: Co.puter crganization

Keywords: sequencing, storage partitioning, machine language design, data deEcriptors, structured progra•• l~9 In this cogent articlE, Barton reviews his philosophy of 22

ccm~uter orqani7ation wticb has been embodied in the Burrough's computin9 machine~y. In discussing the areas of storage space partitionirg and processing tiae partitioning, h~ arques that nat~ral boundaries can be used beneficiall,. The viability and DEEd fcr natural expressicn of processing within the machine's language are argued tJ reviewing the henefits of polish notaticn, seconding the arguments of nijkstra for ~tluctuIed progra ••ing and noting the structured programning as~€cts of polish notation, and reviewing the pc~~ibility of eliminating specialized sequence control t2rdwarE ty extending the order code to ~tructnred operancls. An a1:guaent for machine qenerality is ~~p.t forth by a ciscussion of using data descriptors as parameters to data ItoCe~sing routines~

Ra~k7/ H. D. Raskin, B. F. Borgerson an·j R. Boberts. PRI"E A mo~ular architecturE for tE1:linal-oriented systems. Proc. 1\FIPS 1972 SJCC, Vel. 4(.

10pics! Ccmputer crgani2ation

K0yword~: modulcrity, {:aralle 1 fault tol~rrtnce, integrity

iJane:1 F. 1,. Dauer. Softwcre EnginEEring. Proc. IPIP Congress 71, ,~ L j 11 11 1 ja na, A u q us t 1 c: 7 1, F P • I 267 - I 27 4.

'IoFics: Genera 1

Kevwor(1.s: hiErarchy, structured progra•• ing, mot1 ul ~r i zation, top-cown, bot tom- up., portabl Ii t y, anapt.ability Tn the author's cpinicn, it is difficult to achieve the aim of software EnginEEring 'to obtain econoaically software that is reliable and works efficiently on real machines' t~caUSE thErE is no physical object being manipulated and theIe is tremendous pressure to "pioduce something." Pauer then cites three .ajcr technigu9s-­ ~ivision of labor by hierarchical deco.position of the systo.m, iteration alcng leVEls during the elaboration of the nesign, and co~~uteIi2ed sarveillence of the course and E'roqr~ss of t. he des i gn. Fe argues the a pplicabili ty of strllct nr(~rl prog Ia mling in facili ta ting the use of these t~chni1ues and concludes ty indicating that the priaary ~rohlem is the d~ter.ir.ation of layers within the syste.'s structur~.

Rt-~l a71 L. f... l1p.la(ly and M. M. LEhllan. Programming System Dynamics or the Meta-Dynamicf of Systems in Maintenance and Growth. Fe 11)40, TAM ReSEarch Lat:, Yorktown Heights., N. Y • ., S e pta mIJ(~ r 1 q 7 1.

Topics: Cescripticn tEchniques, Co.plexity 23 Kewyor:ls: maint€rance, growth of systels, complexi ty lIetrics

'A wacro-model of the growth of large programming system projects is 1evelc£ed. Tte model reflects the consequences of continuous r~Fai[ and functional enhance.ent activities always associate~ .ith scch systeas. It is shown that these activitieF become incr~asingly fragmented as the number of system rel~ases ir:cleaS€E. !he resultant stratification of the maintenance effcrt is locelled by an ex~licit complexity term that ~ris~~ from the communication needs of hoth the maintenance organizction and thE proqram.inq system. The t.prm in<1icates the inevitability of ultiaate exponential increase in the tctal Effert (men, machines, time and 'lcllars) reqtired tc maintain and grow the systea. 'The consequenC€f of increasing complexity represented ty th~ m~cro-mo~el arE strorgly rElated to the spread of change l'inti of faults ever the s)stelll. A micro-model that, in turn, rplates the spr€adir~ tc system structure, is.also outlined.

'Thp rno~€ls SUg9E~t cb~ngEs in programming methodology, I:roic.~ct management and system structure so as to delay the (.:~lXponent.ial qrowtt: Effcrt required for lail!tenance. Their dpvelo~ap~t is laIgely independent of specific proqra •• inq contr"!nt. Hence the arodels apply equally to other large syst~ms.' (authcrE)

RellC7C c. Gordon H~11 and Allen ~ewell. The PMS and IPS Jpscriptlve sy~tEms for ccmFuter stIuctures. ~roc. AFIPS 1Q70 SJCC, vol. ~E, pp. ~~'-314.

Topics: DeRcriftic[ technique~

Keywor1lr;: infortra tion flew, register transfer level

This article overviews the Pl1S and IPS syste.s which providp Jescripticns of the infor.ation flow and r~gi3ter-transfer lE~els of co.puting sfste.s.

R~11D71 P. 1\. P(.lll an(l R. A. iichmann. An Algol-like assembly lan(Jlla(}~ for d comfutEr. Software Practice and fxpf"lrl.E:lncp.. 1, (1q71). 61-72.

Topic~: Sequential preqramming level

K~ywords: struct ured t'regralllinq, asa~lhl~r lanquaqfs, ~yst~m implementaticn languagEs

'In a classic fafer _lIth describes a language which comhinps the [ed~ahility of Algol 60 with the flexibility' an~l up.gree of contrcl of a ccnventional as~e.hly language. Th1S paper gives an cutline of a similar language for a ~mdll '~-hit COlrutEr the Honeywell DDP-516. Imfl~mentiny the cClpiler in its own language hy recoding an Algol vp.rsion 0 f thE co. fi 1 er has shown tha t the language is 24 suit.ahl@. for large ::ystelf!:.' (authors)

Remet1A R. w. ~emer and A. I. Ellison. Soft.ware instrument at. ion systpms for optireum p€[fcrlance. Proc. IFIP Congress 68, Fdinhurgh, August EE, pp. ~~O-~24.

'Topics: Eva]uaticr

K@ywords: softw~rE monitcrs, inefficiencies

This paper discusses thE Froblem of software performance roeasurpment and, by example, indicates soae of the inefficiencies whict may tE detected only by appropriate instrumentation. ~ case is made for software measure.ent mechanisms and implicaticns for the ~esi9n cf hardware and software are sUmla[i2ed.

Deme6g(t :-.• W. Berner, A. G. Fraser, A. E. Glennie, ·A. Opler and H. R. wiehle. Working ~aIEI: Classifica tieD of subject matter. In NaUI and Fande11 (eds.), Software Engineering. NA7C sciantific Affsirs tiv •• Brussels. 1969, pp. 160-164.

?opics: ~an~gem€nt

Kpywcrns: ~roducticn, impl~mentation tools

~his article gives an outline for the area of software .implementation m~thoa~, inclu

Bemefi9t R. ~. Remer. ~erking paper: Checklist for planning software ~ystem preiucticn. In laur and Randell (eds.), Software Engineering, JAIC Scientific Affairs Div., 'P r u 5S E' 1 s, 1 q 6 9. P P • 16 5 -1 80 •

~opics: Manag€ment

Keywords: implementation, design methodologies, system organization

This article lists sc.~ 250 questions which indicate <1.esi rablo pract ic€s to te fcllowed in the prod uction of market.able !:oftware systells. The questions pertain mostly to record keeping aId managElent practices but a few pertain to design methodolcgies and systea organization.

Peme~qc Robert W. Remer. rcsitien paper for panel discussion on Software Transferatility: program transferabili ty. Proc. ~FIPS 1q6q SJCC. Vel. 34, pp. 606-6C1.

7opic~: rortabilit}

Keywords: program transfErability 25 Presents an outline of thE principles to be followed in cruer to achieve ttansfe~abilitJ, the inforaation required to transfer a pro~ra.. and aecb•• ical tools .bleh can Frovide aid.

Berk?1 Edmund C. Herkelp.J. Computer-assisted docoaentation of working binary computer trcgra.s with unknown docuaentation. In Tou (ed.), Scftvare Engineering, Vol. II, leadeaie Press, 1971, pp. 1-17. Topics: sequential prograaaing 1e.e1 Keywords: auto •• tic aachine language frograas

R er nfi6 A. ,1. Rernstein. ~nalJsis of pr ogr a.s for parallEl processinq. IE!! Trans. cn Elec. Ccap •• EC-15. (OCtober 1Q66), 15'7-163.

10pics: Sequential progra •• ing leyel --> ~rocess 1e.e1

Keywords: concurrEnt ~rocesses, sequencing analysis

Conditions are dEvelo~ef sueh that if tvo contiquous pcrticns of a seqoEttial Ercgraa satisfy the conditions then the program seg.erts lay be executed in parallel without destroying the deter.ioae, cf the coapataticn. The author points out that the ~arallelis. is a property of the algorithm and may 1:E prEcludEd by so.e progta. realizations of it. He alsc a~dresses co•• utiyity of. two progra. segments. Finally, hE Ercyes tbat it is i.possible to determine, in genEral, the concurrency of two progra. segments. qernh9 A. J. Rernstein. G. t. DEtlefsen and R. H. Kerr. Process control and communicatior.. ~roc. SIGOPS Secoad Sy_p. on Cperating Syste.s PrinciplEs, Princeton. October 1969. pp. 60-66.

Keywor(ls: procEss crEat ion. ~roces~ destruction, inter-process co.muticatioD, 1e.e1s of cODt~ol

8eto70 C. Betourne, et. al. Process laDaq.elent ADa Iesource shariD9 in thp. multiacceEE systea "ESOPE". Co... lCft. 13, 12 (DecemhAr 1970), 127-733.

Topics: Process lEvel, A~aptation

Keywords: resource-sharing, adaptiye scbeduling, se_phore File: 273

'This pape~ descrites the •• ia aeslgn principles of the 26 multiaccess system ESOFE. ••• The maiD features of the ~ systea include the ahilit! given to any user to schedule his own parallel procEss, using .yste. pel.itl•• opecatto••• aDd the al1oca~ion/scheduling.~olicy, which dynaaically takes into account recEnt information about user behavior.' (authors)

Beto71 c. netourne, J. FErrie, C. Kaiser, s. Kraboviak and J. Mossiere. System design and i.pIe.entation using parallel processEs. PIOC. IPIP Congress 71, Ljubljana, August 1971, pp. ~1-3-31 - TA-3-36.

Topics: Process 1 Evel

K~yvords: concurrEnt proceEses, system deeign

Rlai?1 Jim Rlair. ExtencallE nen-interactiYe debugging. In Rustin fed.), Debugging Techniques in Large Syste.s, .Prentice-Hall, 1Q71, pp. 93-115. Topics: Validatict

Keyworns: debugqirg syste.s; extensible

.~ 81at72 ,1. Platny, s. B. Clark ana T. A. Rourke. On the optilllization of perforaaDce of ti •• -shariag syst.as ty siaulation. Co... AC ... 1~, e (June 1972), 1111-420. Topics: EvaluatioD

Keywords: t icn, tiae-sh arin 9. opt i.izat ion

Corrado Roh. and GiUsepPE Jacopini. Flow aiagra.s, Turill9 .achines and languagEs with only tvo foraatioD rales. Co ••• ACPI. q, 5 (l1ay 1966), 366-371. Topics: Descripticn techniques Keywords: flow charts, autoaatic si.plification

Brad68 Faul T. Arady. writing en omlin. aebugging proqra. for the experipnced user. Cca.. ACP.. 11, 6 (June 1968), 423-427. Topics: Validation

Keywords: debu99irg. orlinE

~ Rrat6? H. Dratlltin, H. G. Partin and E. C. Persteln. Proqr •• composition and Editing with aD on-line displ~J. Froc. AF!PS 1q68 fJ(C, Vel. 3 3, P p. 13" 9- 1360. TOpics: Sequential progra ••ing leyel 27

Koywcrn~! comFcsition aid r editing

:irec170a '7. ::. PrA('1t an(l E ••J. MCCluskey. A Model for Parallel ComFuter systems. ,; No. Sr Digital Systea Lab., stanford Electronics L~b., Starfcrd University, Calif., April 1970.

Topics: [escripticn techniques

Keywords: flo'W tatle r tinary signals, finite queues.

iJred70b T. R. Bredt. Analysis aDd Syntbesis of Concurrent Sequential PrcgrallE. 'IF 10. 6, Digital Syste.s Lab., stanford F-lectronics Lat. r Stanford University, Calif. r ftay 197 O.

'10 pies: Va 1 ina tic t. F recess level

fC'~~VWOl .15: 3 equ € r.t i a 1 FrCCEsses, concurreD t process es, flow tahie m01el

~r-e(170c ":'. H. Predt. AnalYEis of Pa-rallel Systems. TR Mo. 7, DiGital ~vst .. 'T'lS IClb, stanford Electronics Lab., Stanford universit~, calif •• M~y 1970.

Topics! Va]i~atict. PreCESS level

Keywor~s: flow table model, finite delays, concurrent FrocgsseS, s+ate transition

Bred70d 'I. H. tredt. A SUtley of !odels for Parallel Co.puting. TR No.8, Digital Systems Lat.. Stanford Electronics Lab •• stanfcrd Universit), Calif., August 1910.

Topics: DeSc[i~ticr techniques

Keywor~s: Adams graph. KarF and ~iller. Luconi. Rodriquez, control ~tructur€s, propErties of coaFutaticD

Bren62 J. L. Brenner. A SEt cf latrices for testing co.pater Frograms. Comm. AC~, 5, 8 (loquat 1962), q43-4 __ •

'IoFics: ~valuaticr

KeyworJfi: testin~, genErating test data, aatrix inversion

Rrin6q Per Briner Han~pn .ed.). FC4000 Software: Multipro- ~ gramming Syst€re. RE~ort RCSL No. 55-D17, A/S Pegnocpntralen, CCf€rhag€n, April 1969. Topics: Ccmpllter crganization --) Sequential proqra •• inq level, Sequential Frogra •• iDq level 28

Keywords: concurrent processes, hierarchical sys1:eas,. tarnal, coaaunicaticn This presents a detailEd description of the sJste. designed under the (hilosophy explained in BriDch Hansen's article "~h~ nucl€u~ of a lultiprogra ••ed sJste •• "

Prin70 Per Brinch Hansen. The nucleus of a aultiprogra.med 5Y5te •• Com •• AC~, 13, 4 (A~ril 19'~, 238-2_1, 250. Topics: Coapute[ crgani2atioD --) sequential proqra •• ing level, Sequential plogra.aiDg le.e1 Keywords: concurrEnt processes, hierarchical k~rnal, communicaticn 1he kernal proposed in this paper provides services for process creation and dEstruction and. inter-process synchronization and co •• unication.

~ri n72 T'er Brinch Hansen. A coaFarison of tvo synchronizing concepts. Acta lnfcrmatica,,' 1,. (1912), 190-199. Topics: Process lEvel t<:eyworns: synchrcni2ation, seaaphores. conditional critical sections, lalidation

Rrow70 W. S. Brown. iOIkinq ~aper: Software portability. In Puxton and RandEll feds.),. Scftvare EngiDeexing Techniques. NATO Scientific Affairs til., Brussels, 197C. pp. 80-84. Topics: Portability t<:eywords: oeneral

A g~np.ral Jiscus~ion cf scftvare portability precedes a report on the AL~EA'-P systea's design as a portable systea. ~tTPAN is a symtolic algEtta language built upon Fortran and th? system gainf its Fortabl1ity through the use of primitives and .acres vh1cb coatain the a.chiDe dependencies and the use of a .alti-layerea boot-.trappiDg process.

Bryan69 G. E. Bryan and J. i. Shalar. The urs timg-sharinq syst@l: Performance evaluaticn atd instru.eDtation. Proc. SIGOPS Second Symp. cn CperatiDg Systeas Principles, Princeton, October 1969, pp. 1q7-158.

'topiCS: Evaluation, Adaptation

Keywords: analytic lodEl, lonitoring, dfDaaic tuning to systea load 29

~- Bryant66 Peter Bryant. lEVEls cf co.puter systeas. Co... ICft, 9, 12 (December 1966), E1~-f1f.

~opics: np.sigr frinci~leE

I{p.yvor~s: levels cf ccrtrol, levels of co •• unication

Burg~6 william H. Aurge. A reprogra •• inq machine. eo... ACft, 9, 2 (February 1966), eO-66.

~opics: Sequential pro~ra •• ing level

K~ywords: co•• on Icdules, reorganization

iJurk6C:; W. H. Rurkhardt. P!Etalan~uage and syntax specifica tion. Com m. ACM. R, 5 ("a J 1965), 304-305.

Topics: D~seriFticr. techniques K0.YW04ds: formal c€finiticn of syntax, ER'

~hi~> article givES a specification of ALGOL 60 and rO:'''''R~N in a tabtlar lIetalanguage based on BNY, but which has adoitional metacperators to denote liaited repetition an <"1 car d f i € 1 ris •

lurr70 Burroughs Corp. 'EE~OO Infcrllation Precessing System: ESPOr. Pefer~nce Manual. Form 1042144, Burroughs Corp., Detroit, Michigan, January 1~70. Topics: Sequential progra •• ing level, Process level

Keywords: syste.~ progra.aing language

Ruxt70 J. N. Ruxton and B. BaDdEll. Software Engineering 7echniyues, Report cn a Conference Sponsored by the RlTO sci~nce Co •• itteE, RO.E, Italy, 27th to 31st October, 1969. NATO Scientific Affairs Division, Brnssels, Eelqiua, 1970.

'Io pies: Gene ra 1

Kevwords: descripticn, specification, evalu at ion, large-scale syste.s, educaticn

A report on the seccnd NATO sponsored conference on software en9ineerir,g in which the e.phasis was on techniques ~oth their thecrEtical fcundatioDS aad their applieation in the world cf fractical sJste. de~elop.ent. The first part of the rEpolt ccllects together ce ••ants on the subjects of thecry versus practice, description and ~pecification, quality aEsorance, flezibility, the probleas 1ntrotluced by large-scale systeas and the education of software designers and i8FI ••eators. !he working papers 30

repro~uce~ in thi~ refort are presented elsewh~re in this bibliography.

Ca11.::.7 r. ralinoaert. System pErformance evaluaticn: Survey and appraisal. Carom. ~C~. 10, 1 (January 1967). 12-1A.

1o[>ics: Ev.-tllJaticr

KeyworUfi: gene~al, critEria, tools

Carnp6Q ~. J. Campbell and i. J. Heffner. Measurement and analysis of large operating systEls during system de~elop.ent. Proc. ArIPS 'Q6A FJCC, Vel. 33, pp. 901-914.

~OplC5: Evaluat ic[

C:arr70 C. S. C'lrr, S. D. Crockel and V. G. Cerf. HOST-HOST ~O!limUnicdtion pcot.el in thE 'RPA netvcrk. Proc. AFIPS 1970 S.1CC. Vol. 16, rr. SSq-597.

~opic~: Process lEvel

i(~'ywor:ls: 'communication, n-:tvorlts

r:lt!i.m"a D. n. Ch(lmherlin. ParallEl Ilplelettaticn of a Single A s ~ i (.1 n men t L.:i n 9 u age. T. F Nc • 1 .! (P h • D • 'I h es is 1, Dig ita 1 Syst.ems Lab., sta r:ford Electronics Lab., st anfor d Unlv • ., stanford. Calif., Jlnuary 1~11.

"'ories: Sequential pro~ra.lling level --> Process level, se f ]11ential Ftcgramllling level

Keyworos: proqral.ing languages, sequencing analysis

:ham71h Donal~ D. Chambellir. the "single-assignment" approach to oaral101 processing. Prcc. A!IPS 191' FJCC, Vol. 39, pp. 2('')-~6Q.

r: 0 piC!3: s~.! (J ue n t i alp reg r a II min g 1 e va 1 - -> Pr 0 ces s level, ~equential program~jn9 lEVEl

K~yvcr~~: programriog languages, sequencing analysis

(" ha pF r, Neil C ha f i I!. Logical design to improve software debugginq '" profosa l. comt:. and ~utomation, (february 1966). 22-24. Topic;.: Evaluatic[

K~ywords: detu9girg

Cha p"'O Neu Chapin. Flowctarting with the ANS1 stan(lard: A 31

tutorial. Comp. ~t:rveys. 2, 2 (June 1970). 119-146.

Topics: tescriptic~ techniques Keywords: flow cherts

C~e~71 T. E. Cheatham. !t.e rEcEnt evolution of proqra •• inq languages. Proc. TrIP Ccngtess 71. Ljubljana, August 1971, pp. I11A-I1J4.

Topics: sequential pro~r8 •• in9 level

Keywords: validation, .easure.eD~, description, sJste. program.ing languages, structured proqra •• iD9, abstractions Cheathaa predictE that the topics which will influence the future design cf prcgIa •• inq languages include the need to easily ilple.ent large sJsteas, the need to analyze and validate large sIstErs, and the need to describe ~hstractions of laIge sy~te. organization and behavior.

~hea72 1. F. Cheatham and fen WEgbreit. A laboratory for the stud, of automating prcgra •• in~. . 'roc. APIPS 1912 SJCC, Vol. 40, pp. 11-21. Topics: Sequential frcgra •• ing level Keywords: cOJlposi tion tools, validation tools, measure.ent tools This article di!ctSsEE thE design Qf a syste. for the computer-aided CC_IcsitioD, Yalldation, aDd aeasureaent of computer programs.

Chur70 Charles C. Church. COllputEr instruction r:e~ertoire -- tilDe for a change. PIce. APIts 1910 SJCC, Vol. 36, pp. 343-349. Topics: Sequential pro9ra •• ing level Keywords: lachine instruction set

Cla F72 J. A. Clapp. AnnctatEo .icroprograa.ing biblioqraph f. SIGKICRO Hewsletter. 3, 2 (July 1972), 3-38.

Topic~: Co.puter crqanizatioD Keywords: microprcgraslicg. bibliography clarE61 Ellen R. Clark. Ct the autoa.tic siaplification of source-language prc~ra.s. Ae!, 10. 3 ("arch 1961). 160-165. CO,.. 32

To~ics: sequential prcgramming level Keywords: siaplificaticn. i.proTe.ent

ClarW67 Wesley A. Clark. ~acrc.odular co.pater sJste.s. Proc. AfIPS lq67 ~J(C. Vel. 30, pp. 335-336. !opics: Co.puter crganization

Keywords: botto.-up dESi~D, priaitive modules This chair.an's introauction to a session at the 1967 SJCC sets forth the genetal EeaSODS for apFEcacbing hardware system organization frci a bui14iBg block point of Yie •• Basically, the Yie.~cint peraits a botto.-up syste. design which per.its. Experi.entation and facilitates syste. evolution and aodeItization.

;:lin72 M. Clint and C. A. i. Hoare. Prograa proving: Juaps and fun c t. ion 5 • Act a In form a tic a , 1. ( 1 97 2), 2 111- 224 •

~opics: Validation

KAywords: Frogram~ with jumps and simple functions, formal Froofs

~oh~~R Dan Cohen. A Faral1el Frocess definition and control s y~ t (~m. Pr oc. A F I P 5 196 E FJ CC , Vol. 33, P ~ • 10" 1- 10 " q.

Topics: Process lEvel, DEscription technigues Keywords: algebraic 'The purpose of this wOIk is to supply a s1aple aethod for the definitiot and Efficient control ofa network for asynchronous parallel precessing. The systea is able to compile a definition cf a network of ~rccesses which run partially in parallel and Fattially sequentiall,. into a set of control instructions for soae aonitoring ~rocess. to be executed at run tiaE.' (author)

Conr70 Kenneth Conrow and ~oDala G. Saith. IElt!B2: A PL/1 source state.ent reformattcr. COil. AeM. 13. 11 ,Ioye.ber 1910), 669-675.

topics: sequential prcgraaming level

Keywor~s: logical analysis, reforutting

Consfi7 Larry L. Constantice ted.). concepts in Prograll Design. Paragon Press. "ass., 1967. 'ropics: General 33

Keyvo~ds: dEsi~n IEthodologies, generalization, .odularitJ, hie~a~chical s,steas, conventions, yalidatioD, optimization This 5.a11 collEction of papers cowers a basic set of program and data FrocEssing syste. design concepts, as innicateo by the titles cf the articles: Towards a Theory of Prograa Design, The Design of Pregra.s, Generalization: Key to Successful Electrcnic Data Processing, ftodular Data Processinq Systems WrittED in COBOL, The Philosophy of Conventions, 50.e Ce••• ats on the Design of a 51ste., Design tl'nd t he Reduct ion 0 f Bu g8, Syat.a LawaI 0 Fti.iza t.ioD, The Future of PEogra •• itg and lrogr... era.

Cons68 Larry L. ConstantinE. Centrol of seguence and parallelis. in modular syste.s. Proc. lPIPS 1968 SJCC, '01. 32, pp. 409 -4 14. 10pics: Sequential progra •• ing leYe1, Process leyel Keywords: concutrent ptocesses, progra•• iD9 languages

~his paper propcses a set of high-level progra•• ing language constructs whicb generalizes the normally subordinate relationship between program modules. The s~nding and receiving Ccf both data and control) are separated and 8 natural expression of interaodule constraints on paxalleli~. ensues.

Conw63 ~. E. Conway. A .ulti-p~oc.ssor sJste. desl,.. Proc. tPIPS 196 3 F J C C, Vo 1. 211, P P • 139-146. TOpics: sequential 1egel, co.pater orqanization Keywords: concurrEnt ptOCeEses, programming languages This article COVErs tbe tasic architecture of a multiple processor computing facility, and introduces the lov-leYel instructions POB~ and JOII for the specification of the initiation and teI.inatioD of concurrent actiYity. coop66 David C. cooper. co.puter Pr09raas and Graph Transformations. Carnegie lnst. of !ach •• Pittsburgh, Pa., September 1966.

1opics: Descri~ticD techniques

leyvords: directet gra~hl • r.oop68 D. C. Cooper. Some transfor.ations and standard foras of graphs, with applicetions to eo.puter progra.s. In Dale and Michie (eas.), flachine Intelligence 2,' I.. BlseYier, I. 34 .

Topics: DescripticD tech.1gu••

Keywords: directed gra~hs, transforaations

COOp70 j). c. Cooper. Prcglall.s for f!echanical Progra. Verification. Memorandua No. 13, CO.Iuters and Logic aesearch Group, Uniy. of Swansea, Wales, July 1910. Topics: 'alid.tior. Keywords: asserticns, USE cf proqr•• structure

Corba6E F. J. Corbatc and J. H. Salzer. So.e considerations of supervisor prograll cEsi9D for aultiplexed ccaputer systeas. Proc. IPIP CongreEs 68, Edinburgh, lugus~ 1968, pp • .315-]21.

~opics: Process lEvel Keywords: li.ited resources, concurrent processes The authorE distinguish complexity arising fro. non-interdependent shariDg of resources (au1tiplexing) and interdependent sharing of resources (sharing). They then suggest various • iewp'oints Osuch as re.ersibili ty of binding) and .echani!.! (such as seg.entation) which facilitate insight ir:to the operation of the system as a whole."

Corba69 F. J. Corbato. PI/' as a tool for sJste. progra ••inq. Datamation. 15, 5 (Pay 1Cl6Cl). topics: Segoentia1 prograaaing level

Keywords: syste.s ~ro9ra.aing languages

Corbi71 K. Corhin, et. a1. 1 Software Laboratory Preliainary Report. Report C~O-CS-"-10q. Dept. of Coap. Sci., Carnegie Mellon Unit., tittsburgh, Pa., August 1971. Topics: Process 1ele1, Co.pater orgulzatlon --> sequential progra •• ing 1EYE1, laueatioD Keywords: lilited reSoUrCES, software labcratory, systal

Keywords: bibliograph), general proqra•• in9, system tarnal, bottoa-up ccnstraction, concurrent processes, message switching, loundea .allbozes

This report dlsccsses the kernal for a aaltiproqra •• inq system designed tc allo. the construction of experi.ental systeas for educaticnal an~ research purposes. The ternal 35

provides an ~nviIcnment in which asynchronously operating aodules aay be flezitly intErconnected thtouqh a aailbox ,--.. bufferin

Cosi11 Cosine Task Force VII. Fe~ort on An Undergraduate Course OD Operating S!ste.s PrinciFIEs. coaaissioD on Education, National Aead. cf Engineering, 2101 constitution Ave., Washington., D. e. , 1971.

Topics: Educat iOD

Keywords: CODCutteat pEocesses, design aethodologies, reliabili ty. perforaaace ao.itoriD9, bibliography Provides an excEllEnt, quiet oyeryiev and .hows the place of software enginEe~ing conCErns within the general area of cperating systeae.

Cour11 P. J. courtois, F. Hey.ans and D. t. Parnas. Concurrent control with "rEadEls" and "writers". CO... Ie!, 14, 10 (October 1911), fE1-E6S.

Topics: ProceSE lElel • Keywords: types cf concurrEnt processes, synchron ization, semaphores

cumm11 C. B. Cumaing. Monitorin9 the operation of syste. software. Software -- PractiCE and !Iperienee. 1, (1911), 383-389. Topics: !valuaticr Keywords: softwarE aoniter

nah166 Ole-Johan Dahl and '~lst.D .Jgaard. SIROLA - An ALGOt-hased si.alation languagE. Ce.8. IC!, 9, 9 (Septa.ber 1966), 611-678.

~OpiC5: De5cri~ticD techD~ques

Keywords: simulaticn, ~rccEsses, dYDaaic eDyironaent

nani64 Almon E. Daniels. Soae ohserYatioDS concerning large proqra•• ing efforts. Prcc. lPIPS 1964 SJCC, Vol. 25, pp. 231-239. Topics: DesigD methodology Keywords: principlES

Amon~ others, tbe author de.elop~ the following conclus~ons: the osers .ust be involved with tbe design, construct.ion and testiDg: a full 4e81gn is aesirable, but an

/ 36 implementaticn coUtEe shculd be followed which produces a usable sub-system E2rly; changes and aodifications should be planned for: docu.. ntatioa should ao~ be sparse; an environ.ent siaulatcr will tE needed to fully exercise the syst~ ••

ryavji2 P. M. Davies. Readings in aicroprogra•• ing. IB~ Systems J •• 11, 1 (1972), 16-40. Topics: Coaputer crganization

Keywords: .icto~rc9ra.aiDg. suryet, annotated bibliography

1eRr67 N. G. deBruijn. AediticDll coa.ents on a problea in concurrent Froqra •• ing centrol. CO ••• Ie", 10. 3 ("arch 1967), 137-138.

Topics: Process l£vel Keywords: synchrcr.i2ation, se.aphores

Denni ngf)Aa Petp.r J. Denning. ThE "orting set .odel for prograa tehavior. COllm. ACP!. 11, 5 ("ay 1968). 323-333.

!opics: Descri~ticn techniqoes

Keywords: paging lehavior, ~rocess

nenning6Eb Peter J. Denning. A statistical .04el for console behavior in aultiuser ccaputers. CO ••• Ie", 11, 9 (September 1968), fC5-E14.

!opics: Evaluatic[

Keywords: .odElin~, statistical, external events

n en n in 972 Peter J. DenniDg. Cn .04e1inq progra. behayior. Proc. AFIPS 1972 SJCC, Vol. QC. pp. 931-9q4.

Topics: Descripticn techDiques

Keywords: beha~icl, vOlking set aodel 'This is a p.per about the history of the workinq set model for progral tcha,ler. It traeta hritfl, th. origins ano bases for the idea ard 80ae of the results subseguently obt ained.' (author)

~ Dnnnis66 ,..lack B. Dennis anc Earl C. vanHorn. Prograaainq seaantics for multiprogra •• ed c08putations. Coa.. Ie". 9, 3 ("arch 1966), 143-155. 37

'!opics: P~OCeSE lE1el KeJwords: CODcurreat processes, sharing, capabilities, ~rotection

nennis68 Jack B. Dennis. Frograaaing generality, Earallelis., and comput~r architectuIe. trec. IPIP Congress 68, Edinburgh, August 1968, pp. It E4-4CJ2. Topics: Coaputer crganizetion, Process leyel, Description techniques Keywords: eo.,utat ieD 104e1, directed graph, structured data, hierarchical, Ero,x •• geDeralit!

In this pa~eI an interpretea graph aescription of algorithms is deyelepea whicb facilitates progra. generality (independence of tbe algoritba description fro. the environ.eDt in .hieb it is to be used) and the description of deter.inistic asyncbrcDous behayior. The i.plieations of the descriFticn Eche.e for co.pater organization are discussed.

Deut71 P. Deutsch. A fle~ible measure.ent tool for software systems. Proc. IflP CODgtesS 11, Ljubljana, August 1971, pp. TA-3-7 - TA-~-'~.

~opics: E9aluatic~ Keywords: software aonitcrs

'Our vort will aisc".. • partic.lar ••• ar•••• t tool, called the infexaeE, .0. being used to .....~. tbe tiae-sharia, operatin, .,st•• of tile 8DS-9'0 at Berkeley_ The infora.r proyia•• aD ••• iroa•• at In .hie" ...r· progA •• a.y serve ae aeasar... nt routines. Beasure ••at root iDes .ay be inserted aYDa.ically to tE called when centrol reaches arbitrary loea ticDs vi thin the .easured progra.. An i.portant guality of this leasure ••nt facility is that DO errcr in its use call ceG •• a sfst•• failure. Also. syst •• degradation due to IEaSGEe.ent progra.s can be auto.aticall! controlled.' (authol)

Dijk65 E. W. Dijkstra. SclaticD of • probl.. iD CODcurrent proqraa.in9 control. Co ••• ICI, 8, .9 (Sept. 1965). 569. Topics: Process lEyel Keywords: synchtoEizatioD

Dijkstra proposel a solution to the autoal exclusion problea and verifies that it is ~orrect.

Oijk68a E. i. Dijk.tra. Letter to the editor: Go to state.eat

./ 39 considered harmful. Ae". 1 1, 3 (!larch 1968) , 1"7-1"8.

!opics: Sequential progra •• ing le~el

Keyworos: go-to-1ESS la D guage s , control constructs, program clarity

Dijk68b E. w. nijkstra. ThE structure of the "TH!" .ultiprogramming s!ste.. CO ••• Ie p. 11, 5 (lla J 1968). 341 - 3116.

!opics: Design Frinciples, ~rocess level

Keywords: concur~Ent Freeesses, se.aphcres, levels of abstraction

Dijk68c E. W. Dijkstra. A constructive approach to the proble. of frogram cotrectness. BI1. 8. (19681, 17"-186. Topics: Verification Keywords: bottom-up, a pricri proofs

Dijk68d E. W. Dijkstra. Ccoperating Sequential Processes. In Genuys (ed.), programmin~ languages, lcadeaic Press, London, 196A, pp. 43-112. !opics: Process lEvel Keywords: synchronization, se.aphores A treat.ent of the frotlems of synchronization a.on9 asynchronously o~erating sequential processes and their solution br the USE of SE.8pbore variables and operations.

nijk69 B. W. Dijkstra. Working papEr: co.pl~xitJ controlled by hierarchical c~de[irg of function and variability. In Maur and Randell (eds.), Software Engineering, IATO scientific Affairs Div., 'BrUSSEls, 1QE9, pp. 181-185.

TOfics: Design Frinciples Keywords: hiexaIchical, tcttoa-up

!hi~ article reFortf cn soae of the reasons for structuring the T.H.E. syste. as vas dcne -- it doesn't offer any princi~les for deteraining the layers ("levels of abstraction") l:ut rathEr indicates SOH of the (hand-)ana17Eis cf interdependencies which led to the final layer organlzation.

Dijk70a E. W. Dijkstra. Notes or structured prcqra•• ing. Report 70-WSK-03. Dept. of "ath •• 1echnological ODly., EindhoYen, 39 The Netherlands, AFlil 1Q70.

Topics: Sequential pro~ra •• in9 level

Keyvor~s: structured pIc~ramming

Diik70b F. W. Dijkstra. worl

In this article, Dijk~tra reForts cn some experience and insight gained free plogra •• ing ex~erimentE with s.all to ~odest sized s!~tems and hypothesizes about their applicability to lars€ scale system· problems. The conclusions which he relates all pertain to the relationship b~twe~n program structurE an~ the possibility and ease of demonstrating Frcgla. correctness. Pirst, since the number of instances in a falily of computations carried out by a Frogram is generally very large, validation by sampling is impossible and any Iroof cf correctness must rely wholly upon the text cf the rrcgram. This coupled with the high prohahility that Froof aifficult! will explode with ,~ increasing progra. size i.plies that prograa structuring mechanisms must te USEe which allcw validation without tremendous effort. Second, is required in order tc imfosE sequencing disciplines which facilitate the statement of assertions cOReering possible computations. Finally, thE result of a design is not only a single program but lather a "string-of-pearls". where each pearl embodies t.hE CctsEquences of a single (independent) design decision (~hich jcintly refines the specification of program behavior and data structure) an1 which is a natural element for change dUting program modification or adaptat.ion.

ni j k 11 E. W. Di j k st r a. f i er arc hie a I c r de r in 9 of se que n tia 1 processes. Acta Informatica. 1, 2 (1971). 115-138.

!opics: Sequential programming level

K~ywords: concurrEnt frccesses, hierarchical, bottom-up val iilat. ion

The paper initially discusses aspect rUIl of synchronization FIcbleas and proves the correctness of the proposed solutions. This initial discussion is motivated by a aesire to provide a ba~e layer in a hierarchical system which "does away witt interruFts" and provides an envirc~.en~ for s}[chroni2ation of concurrent processes. Then 1t 1~ ?oted ~hat 1) in illFle.enting this layer, processes v1th1n the1r critical sections should receive 40

preferential schp4tling treatment, 2) reproducahi~ity of external timing (which is CDE factor in acccunting) 1S not guaranteed because cf the critical section conflict, and 3) the common s~maphorE variatlEs cause confusion in trying to delimit the state space of a process. To solve these probleas it is frcfosEd that all critical sections be grouped into a "secretary" process which the other processes, now called "directors," can call upon for services. It is ~cinted out that a hierarchy of directors, secretaries, SUbSEC[E~ariEs, etc., impose an ordering which precludes deadlock as fal as is concerned.

Duke71 K. A. Duke, H. D. Schnur.ann and t. I. Wilson. Systea validation by three-levEl lodeling synthesis. IB" J. Res. Develop.. (ftarch 1CJj 1), 1EE-"". Topics: validatior.

Keyworas: hard~aIE, lelels of description-

'The experimEntal three-level modeling technique discussed in this faper can be used during the design stage of a system fer identifying .isaatches among ~he architectural, miclopro~raDllring, and hardware logic leve1s. Ccm~atihle Ewitching bet1ieen modeling levels is emphasized. Execution of an apFlication ~rogra. by the architectural and microprogramming lelel models with switching between levels is illustrated.' CauthorE)

F.ar169 Douglas B. Earl and Faitl: L. Bugely. Basic time-sharing: A syste. of coaputinq principles. Proc. SIGOPS Second Sy.p. on Operating SYEte.s triociples, Princeton, October 1969, pp. 75-7q.

Topics: Design F~inciples Keywords: operatirg systems 'Basic Time-sharing is an attempt to systematize the computing principlEs which should underlie the design of operating systeas. 1hese principles eaphasize the fun~amental separatEness cf vork and resources and the Farallelism inhelert in the compoting process. ••• Bts provi~es a vocatulary of system desiqn, not a design t.empla te.' (a uthc Ie)

Earle70 Jay Earley and HCliald sturgis. A for.a,lisl for transltt tor interactions. Co... ACP., 13, 10 (October 1970), 607-617. Topics: Descripticn techniques

Keywords: pictorial, intEractions, analysis

Bekh71 Bichard B. EckhouSE, Jr. A High-Level Microproqra •• ing 41

Language (MPL). tEpt. BE~ort 1-11-PlU (Ph.D. The sis) , Dept. of Computet Science, State Uniy. of Nelf Yor k, Buffalo, Juo"e 1971.

Topics: Computer crgani2ation Keywords: miClcftcgram.ing languages

Elae71 W. R. Elmendorf. Disciplined software testing. In Rustin (ed.), Debugging Techniques in Large Systeas, Prentice-Hall, 1971, pp. 137-139. Topics: Validation Keywords: error dEtection, testing

Ersh71 A. P. Ershov. Tbecry cf frogram scheaata. Proc. TFIP congress 71, Ljubljana, August 1971, pp. I1~4-I163.

Topics: Descri~ticn techniques

Keywords: models of cOI~utation, schemata, validation, equivalEncE, titlio9rapby

An excellent I:e~iew of the work in Dlotieling and analysis of sequential cOI~utation.

fabr72 R. S. Fabry. DJna.ic Verification of Operating Syste. Decisions. P-14.0/CSRP, Cc.~uter Systems Research Projec t, Univ. of Calif., Berkeley, Calif., Pebruary 1972.

~opics: Validation Keywords: fault tcleratcE, verification 'Dynamic verification of a decision illplies that every time the decisicn is made there is a consistency check performed on the decisicr using independent hardware and software. This technigue, properly applied, allows the construction of an cperatin9 syste. which can be guaranteed not to mak~ certain deci!ions i.properly eyen in the presence of a singlE hatOWltE cr software failure.' (autho~

Falk64 A. D. Falkoff. E. F. IVErsen and E. H. Sussenguth. A formal description of Sy~tE./360. left Systeas J., l, 3 (1 964) , 19A-261. Topics: tescripticn techniques Keywords: co.putet hardware, APL language

Falk70 A. D. Palkoff. Wor king ~a~Er": Criteria for a system design language. In l!uJ.ton and Randell (eds.), Software Fnqinepring TechniquEs, NATO Scientific Affairs DiY., Brussels, 1910, ~~. 88-93. 'Iopics: Descripticl1 techlligues Keywords: programling languages

From the ~Ielis~ that a system is a collection of Froqrams, Palkoff proFoses that a for.al programaing language is the appropriatE ,ediua fox the s~ecification of a system design. He then disCQsses, with respect to Iyerson's APL languagE, eight aore concrete criteria: easy to use, pet.its fU9gestiye for.ulations, allows for.al manipulation, leads to aesthetic criteria for guality judge.ents, cODYenient fer docuaentation, non-specific as to technology and ~rctle. area, applicable to systeas of any co.ple~ity and esecttable on the aachine. In the thinking of this reviewer, soa, of the criteria in this list are questionable (esEecially the last. one) and the list is incomplete. Two rissit9 criteria are the.ability to make and elaborate abstlacticns and the ability to descrite asvnchronous behavior these would not be satisfied to sufficient degree by .cst current for.al proqra.aing languages. FalJccff SEems to confuse desiqn and implementation whicb are distinct activities (with distinct description schemE requiresEnts) eVEn though they progress simultanecuEly fCl the mcst part.

Feld68 J. Feldman and D. Gries. Translator writing systems. Com m. AeM, 11, 2 f., E tru a IY 1(68), 17- 113. Topics: Sequential prc9ra •• ing leye}

Keywords: transla tor vIi tinq syste.s, bibliography

An· excellent EUlvey of the pre-1968 develop.ants in systeas for the writing cf progra.aiag language translators. contains an extenEilE titliography.

F~ni6'J Robert n. Fenichel and Adrian J. Grossman. An analytic model of multipIcgla ••ed cc.putinq. Proc. APIPS 1969 SJCC, Vol. 34, pp. 717-721.

Topics: Evaluation, DEscxiption techniques Keywords: analytic .odel. .ultiproqraaaed sJste.s, throughput

FergR6e H. Earl Ferguson and E. feIoer. Debugqing systeas at the source language lEVEl. CO'_. AC!, 6, e (A ugust 1968) , 430-432.

Topics: Validaticn

Keywords: debuggirg, ctaracteristic data collection, flow 43 tracp., vdriatle tracE

PergW71 W. A. Ferguson and (. J. Lipo.ski. 1 geDe~alized asseably language using ~egular eJ~ressions. Proc. Syap. on Data structures in Prcgra •• ing languages, Gains.ille, Pla., SIGFLAN Notices, 6, ~ (FEtruary 1911), 211- 236.

Topics: Seguential ~Icgraaming leyel

K~ywords: asseltlEr languages, regular expr e5S ions, structured progra •• iog 'A generalized asseatler language with possible applications in the areas .of co.puter networks and software support. packages is dEveloped and discussed. ••• The use of regular ex~resEicns fer branching bas interesting effects on the structurE cf Fro9~a.s. the .ost notable effect is that it reguires Irogtaas to be seg.ented into subprograas which consist Entirely of sequentially processed instructions. 1his lends to easier doom.entation of assembler languagEs and to si.pler prcgra.ming of lookahead machi nes. t (a uthc [E)

Ferr70 D. Ferrari. A bitliog~aFhy on performance ev alu at ion. Computer Systems ReSEarct Ioc. p-1. 0 leS B. Un i v. of Ca lif., Berkel~y, Decembet 1910.

~opics: Evaluaticr

Keywords: bitlic~xapby i'is h70 Dav id A. Fisher. ContYol St.ructures for Progra •• ing Languages. Report 1B70-E, Burroughs Corp., Defense Space and Special Systels Grou~, Faoli, Pa., Ray 1910. Topics: sequential prcgraaming level Keywords: control structurES

Floy67 R. W. Floyd. ASEigning meaning to ~rogr aa5. Proc. of symposia in AppliEd Math., AI. Math. Soc., 19, (1967), 19-12. Topics: Validation Keywords: asserticDs, {redicate calculus

Floy71 F. W. Floyd. Tovar~ interactiVE design of correct proqraas. Froc. IFIP Congress 71, ljubljana, August 1971, pp. I1-I4. !opics! Validation Keywords: interactiVE, itErative, asserticns This paper presEnts an i.agined dialogue between a user and a co.puter it Ihich the coaputer checks for syntax errors in the prcgram tEing developed and checks for incon~istency of the operation of the program with respect to stated ~xpectaticns.

'!:'ole67 James D. Polev. A ~arkovian Jlodel of the University of Michiga n executi ~e ~Jstell. Comm. ACM, 1 0 ., 9 ( 5 e p t € mt: er 1967), 584-588.

Topics: Ev alu at Ie r. Keyvords: analytical .odel

Post68 J. M. Poster. ISEErticn~: Programs written without specifying unneceEEary crder. In Michie Ced.,. "achine Intelligence 3, Am. ElsEvier. N. Y., 196R,· pp. 381-391.

~opics: Process lEvel

Keywcrds: FrograBving languages

Fox67 D. Fox ano J. L. Kessler. Ex~eriments in software modeling. Proc. AFIPS 1967 FJCC, Vel. 31, pp. 429-436.

Topics: !v alu at ion Keywords: prediction, Evaluating alternatives, performance

FreeD64 D. N. Free.an. lrrcr corrEction in COBC the Cornell computing languagE. Proc JPIPS 1964 PJCC, vol. 26. pp. 15- 34. Topics: Validation Keywords: autcmatic error detecion, automatic error correction, prograa!

Prep.F71 F. rreeman and A. Ne~ell. A Model for Functional Reasoning in Design. CMU-CS-i1-1C1, Dept. of Camp. Sci., carnegie-M~11on Unit •• Fittsburgh. Pa., May 1911.

!Ofics: Desigr methodologies

Keywords: general. modEl, bottom-up. tOF-down

'A model of thE design process is developed in two stages, corresponding to the task enyiron.ent of design and the activity of posing ar.d sclving de~ign problems. Use of, the model with tcp-dcwn and bottom-up disciplines is discussed. An Exa.fle of thE design of an object using a seal-auto8lted deliqn EJste. based OD the .odel is ~resenteJ. Several iSSUES raised by the model's qualitative aspects, its suitability to autoaated design, and lines for further de't'elop.ent are discussed.' (authors,

Pre 169 B. A. FreiburghousE. thE lfultics PL/1 co.piler. Proc. AFIPS 1969 FJCC, Vcl. 35, pp. 181-19q. Topics: sequential programming level

Keywor~s: systEI Irograa.ing languages, translators

Fuch69 K. Fuchi, H. tanaka, 1. P.anago and T. Yuba. A progra. si.ulator by partial iDtfr~r.tatioD. Proc. SIGOPS Second Symp. on Ope~ati[g sJ~te.s Principles, Princeton, October 1Q 69, pp. 97-10~. Topics: Integrated simulation

Keywords: mechanis., u~e in debugging, use in progra. expansion

Gal n71 F. stockton Gaines. CoaFilEt construction for debugging. In Fustin (ed.), DEbugging Techniques in Large Systems, Prentice-Hall, 1971, pp. 147-148. Topics: Validation Keywords: debu99itg techniques A very brief review of the actual presentation, co.posed of the abstract of EaineE' ~cctoral thesis.

Gain 72 B. stockton Gaines. An cperating systea based Oft the ccncept of a supervisor} ccaputer. ec... ACB. 15, 3 (March 1 q7 2), , S 0-15 6.

Topics: computer crganizaticn Keywords: concu'IIent processes, levels of control, supervisory service!

GantS9 W. T. Gant. Flc~ outlining A substitute for flow charting. Coma. ACM,~, 11 (NOvember 1QS9), 17. Topics: Descripticn tEchniques Keywords: hierarchical decomposition, progra. structure

Garw61 J. V. G4rwick. The progra •• ing of large lcgical problems. B.I.T., 1, (1961),21-26.

topics: Design ~rinciples 46

Keywords: plannin~. testing. documentation

Gent11 w. M. ~entle.an. ~ portatle coroutine system. Proc. IFIP Cong4ess 71, Ljubljana. August 1971, pp. TA-3-94 - TA-3-98.

lopics: Sequertial prograa.inq lanquaqes Keywords: corootirE ccnstxucts

~ han 71 tavern Chan. BetteI techniques for deyelopinq larqe sacle FGRTRAN programs. Prec. 1911 ICII Natm. Conf. , pp. ~20- 537.

Topics: Desi9n principlEs, Isple8entaticn tools

Keywords: systeRf FregIa ••ing languages, interproqra. communication cotventions, programming conYentions, precompilers

r;il b7 1 Philip Gilbert and W. J. Chandler. Interference between communicating parallel processes. Coma. Ae". 15. 6 (June 1972), 427-437.

Topics: Descripticn tEchniques, Validation, Process Level Keywords: concurrEnt pIocesses, state transition

the beha vior of a system of asynchronous processes is aodeled as a sequEncE of traDsitioDS fro. cne state (set of data values and ~rccess condifuratioas) to another. A aechanical proceduEE is proYided for deriving, fro. tbe individual steps in the sequential program for each process, transition rules for the state change behavior of the entire system. ~h@ transition rules .ay then be used to generate state change sequEtceS so that the existence of a desirable state change or the absence of an undesirable state a.1 te mechanically verifiEd.

Gil169 stanley Gill. Working papEr: Thoughts OD the sequence of vriting software. In laUI and Bandell (eds.). Software Enqineering, HA'rC SciEntific lffairs Diy., Brussels, 1CJ69, pp. 186-188.

topics: Desigr lethodologies

Keywords: top-dove, tottc.-u~, others

~ill argues th2t. in practice, strict top-down or hottoD-UP aethodclcgies are never used -- rather the process starts at both ends and ••ets in the aiddle. This results from the need to assure that aspects introduced at either end (s1ste. features, hardware capabilities) do not propaqate too fa~ tc.ard the other end: that aabiqaity can 41 he tolerated in prcgressing top-down but not bottom-up; that commonality can be discerned during a top-down design but only quessed at durinq a tctto.-up design; and variabili ty cf the target en,iroDlent cannot be incorporated with a bottom-up approact whEreas variability cf the produced system cannot be hardled in a top-down approach. This last point leads the auther to aistingui~h a middle-out methodology -- hasEd on the definition of a universal intermediate systEI -- fer use in designit9 a system which has multiple sets cf features (aultipl~ intents) and which is to run in severa] diffexing enyironments.

Glas71 E. t. Glaser, et. ale The LOGOS Project. Jennings COlputinq center Feport, Case WesterD Reserve uni v., Cleveland, Ohio, Cctober 1971. Topics: SoftwarE E[gineering laboratory Keywords: description techniques, validation, hardware and ~oftvare, data ba~e manage.ent This is a collection of papers concerning the design aDd implemp.ntation cf a ccaputer-aided deeign syste. for integrated hardware ~nd ~oftware systeas.

D. r. Good. Toward a man-machine system for proving prograa correctness. Ph.C. The2is, UniY. of TeXd!, 1910. Topics: Validation r,ornS9 S. Gorn, P. Z. Inger.an and s. B. Crozier. On the construction of .lcro-flowcharts. eol.. left, 2, 10 (Cctober 195Q), 21-31.

~opics: Descripticn tech~igues

Keywords: inst~uction logic, aicrnprogralS, au tOlBa tic generation, flovchalts

Gosd66 J. A. Gosden. E~Flicit Farallel processing description and control in programs tor Iulti- and uni-prccessor computers. Proc. AFIPS 1966 FJCC, Vel. ~9, pp. 651-660. Topics: Sequential progra•• ing level, Computer organization, Sequertial prc9ra •• ing level --> Process level

Kevwords: concurrEnt processes, progralaing languages, sequencing C1nc11y~i~

This paper reviEWS the evclution of parallel processing anJ constructs for aeDotift9 farallelisa within an algorith •• 1he author then ~rofOSe! a si.pl~ set of co •• ands which facilitate solutic[s to the prcbleas of locating specifying, and segtencing concurrent processes. ' 48

Gosd69 John 1. Goaden. ~csitio~ paper for a panel discussion on Software Transferati.1ity: Software compatibility. Proc. AFIPS 1q69 SJCC~ Vel. 34, pp. 607-608.

~opics: portabilit~

Keywords: iata ExchangE

An outline of thE protlEas of data exchange.

Got.110 c. C. Gotlieb and f. H. Beelven. Working paper: syste. eyaIuatioD teols. In Bu,tOD and Randell Ceds.), Software Fnqineerinq Techniques, IATO Scientific Affairs DiY., Erussels, 1910, pp. 93-~9.

Topics: Evaluaticr Keywords: general The authors orgarize the area of software eyaluatioD tools into 1) modeling (cc.~osed of analytic and simulation techniques) which i! use~ mainly durinq +-he design and implementation pbases and has the intent of predicting system performance and selecting quantites to . be aonitored and 2) (hardware and scftvare) lIeni tcring which is used .ainly doring the iaple.entation, optiaization and maintenance phasEs and t.as the intent of aeasuring syste. performance and SElecting design parameters for modeling. In tabular form, the} compare the various types of tools and review some currently USEd .enitors.

Gott69 "alcol. H. Gotterer. l'Ianage.ent of cOlputer programmers. Proc. !PIPS 1969 SJCC, Vel. 34, pp. 419-424.

!opics: ~anaqe.ent

Keywords: personnEl, Fro~rammers 'The problems of lanagim9 programmers have been groving rapid ly in recen t ]ea,:[s. The specific issues referred to are the increasing costs of Flogra •• ing and the failure to complete project! when scheduled or needed. This paper proposes more effective SUleIYision of progIa.mers together with imFroved management policies and procedures.' (aut hor)

Grah71 R. H. Grahal, et ale A software design and evaluation. system. Proc. ACH SIGOPS Workshop cn System Performance Evaluation, Harvard Unly., April 1911, pp. 200-213.

!opics: Design ~rinci~les Keywords: integratEd si.ulation 49 This is a preli.inarl design report on a system to facilitate the dEEigD and evaluation cf software systems oriented around the a.bedding in PL/1 of oons~r.cts for 51.alation.

Gri e71 D. Gr ies. CompilEI Construction fer 'I Oigital computers. Wiley, N. Y., 1971.

!opics: Seguential proqra.ming level

Keywords: co.~ilErs, translator writing sJste.s, validatioIl, error dEtection, error correcticn,. bibliography

1 coapiete treat.ent of tbe area of co.piler i.ple.entation.

Gris70 Ralph Grishaan. !hE debug9in9 system AIIS. Proc. APIPS 1970 SJCC, Vol. ~€,. pp. ~9-64.

Topics: Validatiot Keywords: debuggirq

Gris71 Ralph Grisbaan. cIiteria for a de buqgin 9 I angu aqe. In Rustin (ed.), IEtUggl~~ TEchniques in Larg~ Systems, Prentice-Hall, 1971, pp. ~i-i5.

~opics: ValidaticD Keywords: debu99it9 syst •• s, interactive

This article discusses the facilitie2 needed in a debugging systea for a hiqh-Ieyel language and sose techniques for tbeiE efficiemt i.ple.entaticn. A specific sJste., lIDS,. is used fOI exa.ples.

Habe71 A. N. Habermann. Ar operating system modeled as a set of interacting proceSSES. Prcc. Fifth lnnual Princeton Conf. on Info. Sciences and SJste.s, Princeton UniY., "arch 1971, pp. 444·448. Topics: Descripticr. tEchniques Keywords: sequential proceSSES, concurrency, sharing

Habe72 A. Nico Baber.ann. synchronization of co•• unicating Frocesses. Co ••• left, 15, 3 (ftarch 1972), 171-176. Topics: Valida tier.

Keywords: concurrEnt proCEsses,. sea.phoreE,. bottom-up

, Poraalization of a we11- def ined synchroniza tion 50 mechanism can be used to prove that concurrently running processes of a S}stEI cOlaunicate correctly. 'his is c1e.onstrated for a sJatea consisting of .any sending processes which dEFosit lessages in a buffer and aaDY receiving prOCeSE€E ~hicb remove messages fro. that buffer. The formal descri~tion cf the synchrcnization aechanisa makes it very eaEY to preve tbat the buffer viII neither overflow nor undErflow, that senders and receivers viII never o~erate on the sa.e message fraae in tbe buffer and that they will not run ir.tc a dEadlock.' (a uthor)

HaibSq lois". Haitt. 1 progral to draw multilevel flov charts. Proc. 1959 western Jee, Vol. 15, pp. 131-131. !opics: DescriFticn techniques Keywords: flowcharts, autcaatic generation This article dEscrites a program for. the automatic generation of flew chart£ fro. IBM 704 asse.tl, 'code. The value of a seriE2 of flew charts at different levels of detail was reali2ed and the Froduction of ~he series vas incorporated into tte prcgxal.

Hara65 Frank Rarary. BotErt Z. Merman and Derwin Cartwriqh t. structural Models: An Introduction to the Theory of ~irected Graphs. Wiley. H. t •• 1965.

Topics: Dp.scri~ticn techniques

Keywords: directed gra~hs

Hart67 Phillip H. Hart.an and Da vid 8. Owens. Hov to write software specifications. Prcc. lPIPS 1967 PJCC, Vol. 31. FF. 779-790.

'Iopics: F uncticna 1 le yel Keywords: descriFtion, syste. externals, yalidation Discusses, in thE context of a Portran co.piler, what ne~ds to be specified concerning the external characteristics of a piece of software aDd the tests whicb "ill be applied to check its yaliaity.

Harn71 James H. Haynes. resigning a COlputgr! Thg EclQctric Information Ptocessinq SJstem. CEP Report, Vol. 4, No.1, Applied Sciences, U. C. Santa Cruz, Calif•• January 1971. Topics: Co.puter erganizltion

Keywords: scftware design, hardware/software coapatibility, sJste. prcgxa •• ing languages 51

~his paper explores scmE cf the methods and implications of a software design viEv~oint which holds that 1) software should be iapleaentEd in a conceptually rich high-level ~rogra •• ing langtage and~) machines should be designed so as to reduce the awcunt and difficulty of translating the programs.

Head6] F. V. Head. Real-t i.e Ircgra.ming spec if ications. Coma. ACM, 6, 7 (July 1'16;), ;j6-~e3.

!opics: Descri~ticn techniques, Functional leyel Keywords: functicral stecification, file specifications. flow charts, coaplesity 'Problems in the ilpleaentation of large real-ti.e applications are treated, and suggested guidelines for both program and file spEcificaticn are developed. The problems delineated also ccctr in s}stems program.ing~' (author)

~{ear7C F. E. Heart, eta a1. 'Ihe interface messaqe processor for the ARPA computEr nftwork. Proc. APIPS '97C SJCC, Vol. 36, ~p. Sf11-567.

Topics: P~oceSf lE1el Keywords: communication, nEtworks

Hel166 H. Hellermann. Farallel processing of algetraic equations. IEEE Trans. on flEe. COlp., EC-15, 1 (l'ebruary 1966), A2- q,. !opics: Sequential program.ing level --) Frocess level

Keyword~: algorithm, sequencing analysis

~en~72 P. Henderson and F. Snowdon. An experiment in structured programming. B.l.T., 12, (1912), 38-53.

Topics: Sequential prc~raaling level, Validation Kpyworns: structtred progra •• ing, assertions, top-down val idation

The top-down dEYElo~.Ent cf a siaple program is traced. Then an error in thE progre. is locatad by an 4ft41,~i! vAi~k is guid8d by the successive descriptions of the program. ~he authors point out SEveral difficulties with the top-down approach: since thE elements being worked with are not fully specified, there is a problem in cODveying their meaning for.ally:' the data structures aust te elaborated in conjunction with the Elatcration of the Froqraas and this concurrent ~labcration has pitfalls: the method is simple and its siaplicity lu11& the user into a false sense of 52 security.

Higq6P A. Higgins. Elte[ recovery through Frac. APIPS 1968 FJCC, Vel. 33, pp. 39-43. Topics: Reliability

K~yword5: errcr rEcovery This article discusse2 Fecoyery "anaqeaent Support for the IB" Syste. ;EO/E~ -- a Fiece of software which attempts to handle recover} fro. errOES due to hardware .alfunctions.

Hoar71 C. A. F. Hoare. ~rcof of a progra.: PIMD. co... left, 1', 1 ( ..J a n u ar y 1 97 1), 3 ~ - 45 • Topics: Validaticr

Keywords: invariants, top-down, proqra. structure, itp.ra tive 'This paper has illustrated a methcdology for systematic co~struction of plogral~Ioof5 together with the programs they prove. It useE a "top-down" aethod of analysis to split the prOCESS intc a number of staqes, each stage emho~ying more detail than the previous one; the proof of correctness of thE prcgra. at each stage leads to and

\'~ol t.6A A. W. Holt. Infcr.atioJ] Syste. 'theory Project. ~ADC-tR-68-30~. Bo.e Air Develop.ent Center, Griffiths Air Force Ease, N. Y•• SEptE.ber 1968. (ID-676-972)

Topic~: DescripticD tEchniques, Process level Keywords: concurrent processes, synch roniza tion. occurrence graph~, tetri net5

Hopk7C K. E. Hopkins. wOlking paper: Co.pater aided software design. In Euxton and RandEll (eds.), Software E~gineering !echniques, BATO Scientific Affairs Diy., Brassels, 1970, pp. QQ-101.

Topics: Sequential level --> computer organization

Keywords: perfor.anc., binding, slste. generators After neveloping thE conclusion that lccal decisions .ade for improving perfoI.ance tend to increase the complexity of the system and actua~ly reduce the overall 5yste. performance, it iE prcEosed that aids be proyided in the form of 1) co.pllers aDd interpreters which allow several 53 iterations of design and implementation, concentrating on the completeness ~nd validity of the system, to be acco.plished befc~e the systea is tuned to a specific environment, and ~) systel generation Frocessors which facilitate the birding of the system to a particular environment in a way which e~hances the syste.·s rerfcrma nee.

Hopp69 G. M. Hopper. Fcsiticn paper for a panel on software Transferability~ Standarization of high- level languages. Proc. AFIPS 1969 SJCC, Vel. 34, pp. 60e-6C9.

!opics: Portability Keywords: standarcization This is an outlire cf a discussion of the aechanis., problems, and benefits of standardization.

Qorn6Q ,J. J. Herning and E. Fandell. structuring coaplex Processe~. RC 24SQ, IB~ Besearch Lab., Yorktown Heights, M. Y•• 1969.

~OpiC5: Descri~ticn techniques Keywords: concurrErt {recesses, levels cf description, cOllmunicat.ion

Horn? 2 J. J. Horning and E. R~ndell. Process structuring. Tech. Report Series 11, Ccmputing lab., Oniy. of" Newcastle Upon Tyne. England, 1972. Topics: Descriptier. techniques

Keywords: desigr principles, des ign aet hodologie 5, concurrent Frocesses

'The gener.al c (neE pte fa' F J:ocess' has become increasingly important tcth as a tool for qaining an understanding of ccaplex coaputer syste.s, and as a basis for organizing their design. This bas occurred despite the lack of gene~al agI€ement on a definition of the concept. 'The present FaFeI pIovides a framework for the 'lef in! tion an d Exten ce d discussion of proce sses and techniyues for structuring thea. It uses the concept to unify a variety of hardware and softvarg to~ls and lret hodologies.' (author!:)

Huss7 0 Samir S. Husson. Microprogramming: Frinciples and Practices. PrenticE-Hall, Englewood Cliffs, N.J., 1970. Topics: Microprogra •• iDg IaZE G. G. Iazeolla. ~cdeling and Deco.position of Infor.ation Systeas for PerforaaDce Eyaluation. IDstiteto di Automatica, UnivErsita di Be.a, Rose, n.d. Topics: Evaluatic[ Keywords: modeling, hierarchical, analysis A .odp-ling sche.e is Froposed to allow configuration independent perforlancE criteria to be established and a case study is given, introducing a aethod of analysis which is based on the hiErarcbical aeco.position cf the syste ••

I ve rf) 3 K. F.. Iverson. Progra •• ing notation for systeas design. IFM 5 !steas J., 2, ( J un E 1 9 (;~), 117.

!opics: De5cri~ticr. techniques

John6Qa John R. Johnston. structure of aultiple-activity algorithms. Proc. Thirc Annual Princetcn Conf. on Info. Sci~nces and SYEtemE, ~rinceton Univ., "ay 196Q, pp. 38-43

JohnfiQb Jchn B. Johnston. structure of multi~le activity algorithms. Prcc. SIGCES Secon~ Srmp. on Operating Systems Principles, Princeton, October 1969, pp. 80-83.

To~ics: Process lEvel 'In conjunction .ith an earlier paper, this step toward machine design based on the structure of nested-declaration pure-procedure multiple-activity algoritbas aescribes: the declaration, flcw-cf-ccntrol, and soae data-addressing mechanisJls of such algor it bas: the dfna.ic Saquaro-Garden data-access-pcovidit9 structure of their Records of Expcution; and i.pIEmentation in a seg.ented environment.' (author)

J oh n71 John B. Johnston. ~he centour model of block structurEd processes. Proc. Sy.p. cn ~ata structures in Progra •• iD

Keywords: sequential ~rc~raIS, semantic! 'There appears tc be a need for an intuitive impl.entable cell-based .odel cf the seaantics of algoritha execution. It is contended thct for tlcck structured ~rocesses, such a model must be based on the concepts of nested blocks, access environments, labels, and cell retention. A aodel so based, the contour modEl, is iatroduced by illustrating the execution of an 11gc1 60 progra. in teras of tbe .odel. The 55 model is informall} specifiec and some of its maior features are pointed out.' (allthoI)

JoneL72 L. H. Jones, K. Car~in. ~. Hauser, P. Hermann, F. Pehrson, H. Reksten and P. VcnNa.E. An annotated bibliography on lIicroprogramllling: LatE 196q Early 1972. SIGlIIICRO !fewsletter, 3, 2 (Jt:ly 1972), 39-55.

Topics: ComFutet crgani2ation Keywords: microFrcgra •• in9, bibliography

JoneP6e P. D. Jones. OFeratiDg sJste. structures. Proc. I1IP Congress 68, FdintuIgh, August 1968, pp. 525-530. Topics: Design principles

Keywcrds: hierarchj, structure

This article quickly reviews thref! existing systeas ( Supervisor, etc sJstea, and 05/360) and then culls some struct tring Frinciples pertaining to files, simplicity, dynamicity, frctEction, and hierarchy.

Jons68 S. I. Jonsson. On-line fIe gram debugging. B.I.T., 8, ( 1 q 6 8), 12 2- 1 21 •

'Iopics: Valida tioD Keywords: debu99ir:g, gIaFhic display, light pen

Just69 L. Just, et. al. A modular syste. for reactor calculations. Proc. AFIPS 1969 SJCC, Vel. 34, pp. 151-157.

Kahn71 Gilles Kahn. An apIroact tc systems corlectness. Proc. SIGOPS Third SY.~. on C~e[ating Systeas principles, Palo Alto, Calif., octotEI 1911, pp. 86-94.

Topics: Validaticr:

Keywords: asserticns, graph model, interpreted nodes

'F irst, the prcb 19l of profinq th@ corr@ctn@s5 of an operating system is dEfined. Then a simple .ode! is presented. Several elam~les are given to show how this model allows derivaticn of proofs about small systems.' (author)

K(lpj11 Uy. K. Kapitonova and A. A. tetichevskii. t~..sign problems of software special sYEteas. Proc. IPIP Congress 71,

1 ( 56

L j u b 1 j an a , Aug u st 1 ~ 11, I P • TA - ]- 2 1 - T A - 3 - 25. Topics: Co.plel s}!teas

Keywords: softwarE, ~rcblems

'In this article are considered some problems and difficulties ariser in the process cf developing a complex syst~. of prcgIals fer practical realization of computer-aided di9ital systEII design.' (author)

Kapl70 Donalt} ft. Kaplan. troYing things about ~rogra.s. Proc. Fourth Annual FIilceton Conf. on Info. Sciences and Systems, Princeton tni •• " P.aEch 1910, pp. 2'"'-251.

~opics: Validatior. Keywords: formal analysis" review, bibliography ' ••• we very briefly survey what results have been achieved in thE areas cf equivalence, termination and correctness.' (anther)

Karp66 R. M. Karp and R. E. Miller. Froperties of a model for parall~l computaticns: determinacy, termination" and queuing. SIAM J. AFpl. Math., 14, (NoveDlbe r 1966), 13q 0-1411.

Topics: tescripticr. techtiques

Keywords: cO_Fotation model" parallel compu ta tion, directed gra~h, ~rolerties of algorithas

A direct~d graph lodel is defined in crder to study termination, deterainacy, and queue boundedness properties of parallel com~utations. Since data dependent decisions" structured data anc procedures are not ~art of the modeling scheae, it is not easy to express prograas directly in the mo"eling schelle.

Karp67 R. M. Karp and R. E. ~illeI. Parallel progtaa scheaata: A ma~he.atical model fer faral1el coaputation. IEEE Cont. Record of 1967 Fight Annual 5Y-F. on switching and Autoaata Theory, October ,qEi, pp. ~~-6'. !opics: Descriftier. techniques

Keywords: cosputatiot lIodel, Farallel co.putation, properties of algorithas

A modeling schEme is introduced for the study and ~escripticn cf algolithmE containing concurrent activity. Results are giVEn ccncEIning: necessary and sufficient conditions for determinacy; decision procedures for deterainacy, termination, EtC.: and the unsclyability of the 57

gen era 1 equ iva lenee proble I.

Karu69 Arnold D. Karush. 1wo approaches for measuring the p~rform~nce of timE-sharin~ systems. Proc. SIGOPS Second Symp. on operatirg Systems Principles, Princeton, October lQ69, pp. lSQ-166.

fl'o pies : Eval u at i C I Keywords: "stimults" testing, monitors

Katzen70 Harry Katzen. OpErating system structure. Proc. AFIPS 1970 SJCC, Vol. 36, pp. 109-118.

~opics: Design principlES

Keywords: general, titlicgraphy, operating systems

'The purfoses ci this FapEr are threefold: (1) to present the basic FIoFerties with which operating syste.s can be grouped, classifiEd, and evaluated; (2) to identify th~ major categories into which operating systeas can te classe~ and to give concretE Examples of each: and (3) to discuss rescurce laDagement in operating systems with an emphasis on st.oragE allocaticn and I=roces~cr scheduling.' (authcr)

~~tzene71 Jacob KatzenelEcr. Dcccmentation and the management of a software project - J. caSE Etudy. Software -- Practice and Experience, 1, (1911), 1~1-1~1.

Topics: Manage.ent

Keywords: doculentaticn standards, docu.ent at ion techniques

Kay69 Fonala n. Kay. ThE manage lEnt and orga ni za ti on of la rge scale software deve]cp.ent projects. Proc. APIPS 1969 SJce, Vol. 14, pp. 425-q3J.

Topics: ManagemEnt

K~ywords: planning, FeIscnnel, programmers, evaluation

Keef68 o. D. Keefe. P.iertrehital control prograls for p.va lua tion. IBfI! S}ftems J., 7. 2 (1968), 123-133. Topics: Rvaluaticr

Keywords: softwarE monitcrs, integration into system

KingJ6~ J. King. A progrem vErifier. Ph. D. Thesis, carnegie S8

Me 110n Un i v., P it t s 1u r 9 h • ~ a • , 196 <) • Topics: 'ali4atiom Keywords: asserticns, checking logic during computation

KingJ71a James C. King. A {Iogram verifier. Proc. IPIP Congress 71. Ljubljana, Augu~t 1911, ~p. TA-2-142 - TA-2-146. Topics: Validatiot Keywords: auto.atic, aEsertions

KingJ71b Jaaes King. 1 vErifyiDg co.piler. In Bastin (ed.) , Debugging technique! in large Syste.s, Prentice-Hall, 1911, pp. 17 -40. Topics: Validaticr Keywords: asserticDs, formal correctness proofs A review article on ling's which incorporates predicate calculus procf techniques pro~csed by Ployd to check the consistency between the actual program behavior and assertions dEscrlting the Expected behavior in teras of relations a.ong the valUES of the program's variables.

KingN?1 N. J. King. Testit9 ccnversational syste.s. In Rustin (ed.), Debugging TEchniques in Large Systeas, Prentice-Hall, 1971, pp. 143-146.

Topics: Yalldatiom Keywords: testing This article gi'ES a 'EX! trief overview of a debugging tool, ayailable tc 155/360 systea prograa.ers, deyeloped for the testing of supErYisc~1 and syste. routines.

Klei70 t. Kleinrock. Analytic ana si.alation .ethcds in network design. troc. lIltS 1970 SJCC, '01. 569 -579. Topics: Evaluatior Keywords: network!, analJtie, silulation

Knut66 D. Knuth. Additionll co •• tnts on a ~roble. in concorrent Frogra •• ing contlcl. eClm. ICft. 9, 5 ("ay 1966), 321-322. Topics: Process lE,el Keywords: synchromizatioD, selaphores 59

Knuth points out that Dijkstra's solution to the autual exclusion froble. peraits the lockout of ODe of the concurrent processEs. BE ~[cposes the use of a queuein9 scheme with a fiIst-in-first-oat discipline as a solution which does not permit lockcot.

Knut71 D. E. Knuth and B. i. Pleyc. Notes on ayoiding "go to" statements. Infc. Frac. letters, 1, (1971), 23-31.

~opics: Sequential prcgraaaing leyel Keywords: go-to-lfSS pIograa.iog l.aguagee

Koto68 v. E. Kotoy and A. s. lacinyani. Cn transforaation of sequential prograas inte asynchronous parallel prograa •• Proc. IrIP Conglefs Ee, Edinburgh, August 1968, pp. 351--157. Topics: Sequential prcgra •• ing lewel --> Process leyel Keywords: sequEncing analysis 'A model "syste.-prcglamn for parallel coaputation is introduced in this report and a set of concepts and objects associated with it i~ considered. In the fla.evork of the .ode! the proble.~ of ttansfor.atioD of sequential progra.s into parallel aSYDchrcDcus progra.s is considered.' (authors)

Krid64 Lee Krider. A flcw analJsis algorith•• J. ACR, 11, II (October 1964), 429-436. Topics: Descriptien tEchniques Keywords: algebtaic, flowchart, auto.atic generation of - flowchart!:.

Kuls6Q H. E. Kulsru,d. HEltEI: An int.eractive est.nsibl. debugging system. Proc. SIGCPS SEccna Syap. on O~elatiaq Syateas Principles, Princetcn, Cctober 1969, pp. 105-111. Topics: Valida tier. Keywords: debuggir.g f( u1s71 H. F.. Kulsrud. Extending the interactiYe debagging systea HELFER. In Rus·tin fed. ), Debugging Tech Diq1l8s in Large Systems, Prentice-Hall, 19i1, pp. 77-91. Topics: Validatict leywords: debu99iE9 slstE.S, interactive, extensible 60

Land71 B. Landy and B. ft. leedh... Soft.are engin.. rla9 teehalques used in ~he deyelcp8ett cf the Caabriage aUlti-acce •• · syste _. sof t va re -- Practice and Exper ience, 1, (1971) , 167-173. Topics: Validation, tesigD principles Keywords: text IsriEulatioD, testiDg, fallback

'Testing and ae~elopa.ot of elaborate sfsteas requires the assistance of sophisticated t.c~Dlgae8 aDd 8oft.are aids at seyeral stages 1m the proc.... ~h ••• incl.a•• ,.te •• for aanaginq aDd ••• 1~.1.tJD' t.. .oere. teat, pr04aclD9 .aa testing new YeraiCDI in • realistic bat -••f.' ••• iron•• Dt and arranqingfor E lSY aid cc.patible fallback to Ii preyious version iD case of toforeseeo difficalties. - (aathors)

Lang69 C. 1. Lang. SAL - !Jsteas asseably lugaage. Proe. llIPS 196q SJCC, Vol. 34, pp. 543-555. Topics: sequential prcgraaaing le.81

Keywords: sJsteas p~ogtaa.ing languages

'The purpose cf this article is to explain t he thinking behind SAL rather thaa to expo.nel OD the finer details of the language itself. Ie feel that this tIP. of langoage which eoahines thE freedcI and flexibilty cf asse.bly code with .aDJ of the facilities nor.alll associatea with high-level languagEs, could be useful to Mny other workers.' (a othor)

Ldng70 C. A. Lang. working paper: languages for writing systeas prograas. In Euzton aDd Randell (eda.), Software Engineering ~echniques, IATO scientific Affairs Div., Srussels, 1970, RP. 101-106. Topics: Sequential proqraa.iD9 le•• l Keywords: syste. Irogra ••iog languages, attributes After reviewing the ad.antages (efflei.at coding, .achine dependency, flexitility, etc., and alsaawaDta,es (difficulty in co.prehension, poor cCDceptual fra.ework, aachine dependency) of aEse.blet languages as regards systeas i.pIe.entation, th~ authcr disea •••! "'0111 attributog which a viable alte~DatiYe .Qat possess: clarity of expression, efficiEDt co.~11atioD of efficient code, high pover-to-co8ple2itJ ratio of the CODstracts io the language, per.ission of aachimE dEFEadent prograa.ing if desired by the user, no ~uD-ti.e support package, instructions for which it is apparEDt bow thEJ are realized, and the ability to WOIk with Seyela] languages within ODe systea. 61

Lass69 Daniel J. Lasser. troductivity of aultiprogramaed computers ,-... - Progress in devEloping at analytic prediction .ethod. Comm. ACM, 12, ~ (teceaber 1969), 67e-684.

10pics: Evaluaticr. Keywords: analytic modEls

Lau e6A ~. E. Lauer. Fcrlal Definition of ALGOL 60. TR 25.08A. IBft Lab., Vienn a, Austria, CecE.ter 1968.

Topics: DescriFticn techniques

keywords: syntaJ, semantics, Vienna definition language

Leav69 B. M. Leavenworth. Frogram.er-defined control structures. Froc. Jrd Annu al Con f. CD Infc. Sci. a nd Systems, Princ~ton Univ., March 1~6S, pp. 30- ~q.

TOFics: Sequential programming level Kpywords: control Extensibility 'A proposal is made fcr dEfininq new control structures in a high level language. This is done by writing state transforming functions of the abstract aachine which interfrets the language. The paper describes the programming languaSE, its interpreter, and a primitive function which givef the programmer access to the current state of the machinE.' Cautbcr)

Less~1 V. R. Lesser. An iDtroducticD to the direct e.ulation of control structure~ ty a ~arallel aicrocomputer. IEEE Trans. on Comp., C-20, 1 (July 1911),751-812.

Topics: Computer crganizaticn

K~ywords: mic~oFrcgra.aing, emulation, control structures

v. R. Lesser. Djna.ic Ccntrol Structures and Their Use in El'ulaticn. Ph.D. 'thesis, Coap. Sci. Dept., Stanford Onlv •• Calif., August '912. Topics: COMFuter e[gani22tion

Keywords: micrcFrcgram.inq, concurrent processes, control data structure, Elu]aticr

This thesis develops a new co.putex organization which is ta5e~ on dynamic reconfiguability through the usa of a data structure for d~sc[ititg ccntrol and a set of control data structure .anipulaticn instructions. The power of the organization is shewn ty ~resenting an e.ulator for a 62 machine organizaticn based on Ada.s' graph .odel in which parallel activity ie thE DO~ •• the feaEibility of the organization is deaoDstrated by presentation of an architecture based en multiple, parallel .icroprograamable processors and hit-addressable memories connected by a bussing structure.

Lieb67 Hurt H. Lietovitz. the technical specification Key to management centrol cf co.puter programming. Proc. AFIPS 1q67 SJCC, Vol. ]0, pp. 51-59.

~opics: KanageaEnt Keywords: specifications

Llew69 A. J. Llewelyn and R. F. Wickens. Working paper: The tes ting of comp u te I sof t "a re. In Naur an d Bandell (eds. ) , Software Engineering, NA'IO Scientific· Affairs Div., Brussels, 1969, FP. ,e~-1~9.

Topic~: Evaluaticr Veywords: dcceptarc€ tEsting. performance, validation

Thp authors presEnt a 9En€r~1 approach tc the acceptance testinq of softwarE. Ihe problems of defining the scope of the test and the accEptancE criteria are Icinted out and four main aspectE of the testing process documentation, availability, detciled yerificaticn cf facilities, perfcrmance -- are delarcated. l.ock65 H. Lock. structuring programs for lIultiprogra. tille-sharing on-line application!. Proc. APIPS 1965 PJCC, Vol. 27, pp. 457-472.

!opics: sequertial prograllming level, Sequential programming level --) CClputEr organizaticn

K~yworos: structurEd program.ing, hierarcbical, sequencing

This paper pro~o!es that the internal for. of a user's (Algol) program te organized to directly reflect the source-level structure tuilt hierarchically fro. the statement as the basic unit. The benefits which accrue are cited to be incre.Ental c08pilatioD vithcut treaendously high overhead due to interpretation, sequencing controlled hy the structur~ of t~~ proqral, and £leilit3~ion ~t inter-user fcotecticn.

Lon(i70a Ralph L. London. Frcving programs correct: Soae techniques and exaaples. E.l.'I., lC, «1910), 168-182.

Topics: Validatior 63 Keywords: case analysis, assertions, mathem at leal induction, bottom-u~

LOll~70b ~. L. London. EikllograFhy cn Froving the correctness of comFuter programs. In ~€lt2er and ftichie (eds.). Machine Intelligence 5, Alii. ElsEViEI, N. Y. 1910, pp. 56Q-580. T.opics: Validaticr Keywords: biblicgtaphy

Lond70c R. L. London. Eitl109ra~bJ cn PrOYiD9 the Correctness of CO.Futer Prograas - ldd.iticn 10. 1. TB104, Coap. Sci. Dept., University of Wiscotsin, ftadison, Dece.ber 1970.

Topics: Valid at ic [

Keywcrds: frograrn~, bitlioqraphy

!.owe70 Thomas C. Lowe. Automatic sEq.entaticn cf cyclic progra. structures based en ccnnectivity and processor timinq. Com m. A eM, 13, 1 ~ Jan u a I Y 1 ~ i 0). 3- 6, q •

Topics: Sequential prc~ra.ming level Keywords: segmentation

LucaR71 Henrv c. Luc~s, Jr. Perfcrmance evaluaticn and monitoring. Comp: Surveys, 3, 3 CSefte.her 1971), 79-Q1.

~opics: Evaluatio~

Keywords: survey, titlio~raphy

LucaP6e P. Lucas, P. Lauer and H. 5tigleitner. ~ethod and Notation for the Formal tefiritien cf Programming Languages. IEM Lab •• Vienna, Au~tria, June 1968. 'Io.I:Jics: [escr ipt icn tEchniques Keywords: syntax, semantics, Vienna def!n tion language

LucaP71 P. Lucas. Pormal dEfiniticn of prog[am.in languages and systems. Proe. IFl! congre~s 71, Ljub11an, Augu~t 1971, pp. 110-117.

Topics: tescripticn tEchniques

Keywords: eel I ec t n e s s , non- axio lIa tic approach, bibliogra fhy

Lucas presents a reviEW of existiDg defin·tlonal systeas, E4

the Vi~nr.a Definiticn lanc;;uage in particular. He also ~iscusses the relevance cf formal definition to design and formal analysis.

Luco67 F. L. Luconi. Ccmpletely functional asynchronous computational structures. IEEE Conf. Record of 1961 Eight ArItual Symp. on switching and Automata Theory, October 1<)67, PF. 62-70. topics: ProceSE l€vel Keywords: concurr€nt FlocEsses, directed graph, simple data tYPES 'The "co.putaticl!al schema" is introduced as a .eans for oescribing aSJnc~rono~s aulti-process computations. Communication constraints which guarantee determinacy of schema execution arE developed, and an effective procedure for de~ermining the equivalefce of deterministic schemata is fresented. t (authcr)

1acGo7C J. M. MacGowen, Jr. werking pap~r: UNIVAC 1108 instrumentation. J[ Buxtc[ and Randell (eds.), Software Engineering TechniqUES, NATO Scientific Affairs Div., Brussels. 1910, Ff. 106-110.

topics: Evaluatiom Keywords: hardwarE monitcring Report on the bardwarE mechanisas for aonitorinq the operation of the 1108 o~eratinq systea. The technique used vas the counting of significant events and the presentation of graphical and statistical analyses after offline data re

MacNa6A P. C. "acNaughton and I. S. Lee. The virtual aultiprocessor - A new comruter architecture. Proc. IPIF Congress 68. Edinburgh, August 1 ~68, ~p. E39-E4J. Topics: ComputEr crganjzatien

Keywords: multifIccesscr, f'unctional units, communication

~ao n6q stuart E. ~adnick ard JosE~h w. Alsop. A .odular approach to filA system deEign. Iroc. AFIPS 1969 SJCC, Vol. 3U, pp. 1-11.

~opics: Software ~tructuIe, Design principles Keywords: hierarchical, .odular

nijkstra's "levels of abstraction" framework is applied to file systems. 65

P!ann68 Zohar Manna. Ter.itation of algorithas. Ph.D. Thesis. Camp. sci. Dept •• Carnegie eellon Oniv., Fitt s bu r 9' h. P a. , Apr il 1 t)68.

Topics: Validatict, Cescriftion techniques

Keywords: model cf com~utation, graphical, properties of algorithms, termination

Mann69a ~ohar Manna. properties of pro9caas and the first-order predicate calculus. J. Aeft. 16, 2 (April 1969), 244-255. TOFics: ValidaticI

Mann6qb Zohar Manna. The ccrrEctnEss of programs. J. Computer and System Sciences. 3, 2 (1'16

'Topi.cs: Validaticr

Mann/O Zohar Manna. 1erminaticn of prograas .represented as interpreted graphs. Proc. AfIPS 1970 SJCC, Vol. 36, pp. E1- 89.

!opics: 'alidatiom, Description techniques Keywords: model of comFutation, grafhical, properties of algorithms, termination

~ann71 Zohar Manna and Bjcharc J. Waldinger. !cvard auto.atic t:rogram synthesis. COllm. lePl, 14, 3 (Plarch 1911l, 151-165. '{opics: segue'ntial program.ing level, Descr ipt.ion techniques

Kevwords: autcD'atic ~ynthesis, input/output rela tions, mathema tiea 1 ind uc t ien

i r1art.n D. F. Martin and G. ~strin. Experiments on models of ' computa~ions and syste,s. If!! Trans. on Elec. Comp., EC-16, (February 19£1) ~ ~9-E~. 'Iopics: DescriFticD ~eChniques, Evaluation

! Keywords: dirEcted: 9ra~b, lIode 1 cf computation,

performance evaluation i

~ea169 George H. Mealy. 'Ite ~ystE. design cycle. Prac. SIGOPS Second Symp. on CFera iog Systeas Principles, Pr inceton, October 20-22, 1969, p. 1-1. 66

Keywords: managEmEnt. eEsigD cycle. pitfalls

Mp.aly reviews s€ver~l ccnsiderations which are managerial in nature but which be feels lead to an incompetent design if they are not ccn~iderEd. He breaks the design cycle into sevpral steps: determination of av~ilatle mdnpower and monptary resourCES, detEtmination cf the objectiv~s as warrented by the ~ccpe and demands of the community of potential users. sross dEsign including the functional and inter-module com.unicaticn specifications, the establishment of a plan for detailed dEsign which demarcates checkpoints and milestones, and the detailed design. The pitfalls which are present arE bElc to he, in part: unstated or ccntroversial objectives, design oversights, design decision procrastination, eesign decision prematurity, design decision reversal, infreguent review, and lack of control of the cresion process end tt.e sakinq of change~ in th~ system.

"1esa70 M. n. ;1psarovic, C. Macko and Y. Takahara. Theory of B if~ra rchica 1, Mtl tile ve 1, Systems. A cadellic Press, NE'W Yor r. , 1 g 7 0 •

'Topics: Complex it y

Keywords: hierarctical deccmpositio[

Mich68 S. Michap.Ison. How to succEed in software? Proc. IFIP Congress ~8, Edinburgh. August 1968, pp. 330-333.

Topics: ~anagement

Keywords: personnEl A personal view cf how to organize a gIcUp of systems programmers based cn ctservations about what is wrong with the softWare profucEd ty manufacturers and what is right about the soft~are {roouced by users, mainly those connected with a university.

Mil1p.63 Joan C. Miller and (liffcrc J. Maloney. Sy steaa tic mi sta ke analysis of digital co.~~ter programs. Co lilt. AC". 6, 2 (February 1963), 58-63.

Topi cs : Ev alu at ie [

Keywords: testing, generating test data

'il1~70 Harlan C. Mills. Syntax-dirEcted documentation for PL360. Comm. ACl1, 13, 4 (~pril 1970), 216-222. !opics: Descrifticr. techniques 61

Kevwor(~s :'locum~ntatior:, autoDl<'ltic control of generation

Mills71 Harlen Mills. Top fawn ~rcgIamming in la rge syste ms. In Rustin (ed.), Debrqging 'Iechni.ques in Large Systeas, Prp.nt.ice-Hall, 1971, ~p. 41-55.

Topics: Sequential ~rcgramming level. Validation

Kevwords: structurEd programming, debuggi no, error detection An introduction tc stIuctured programming and the ways in which it can redUCE thE tUltEr of errors by localizing thea and the help it car give in detecting errors by guiding tbe te~t.ing process.

More67 E. Morenoff and J. f. "cLean. Inter-FrogIal communications, frogram string stIucture~ and buffer files. Proc. AFIPS 1 96 7 S ~T C C , Vol. 3 0, P F • 175-1 8 3 •

Topics: Process lEvel

Keywords: limited Iesources, concurrent processes, commu nica ticn

The authors proFcsE a system organizaticn viewpoint in which all progra.s arE asynchronously operating data transformers, commnricating via data buffers which effect the necessary tralsmissicn coordination. 1hey discuss the advantages of th~ ccncomsitant late binding of inter-module communication paths.

Edward Morenoff and J. B. McLean. Prcgra. string structures and mcdular progra •• ing. troc. Nat. Symp. on nodular Programming, Infcrlatic[ and Systems Press, Junp 1968, pp. 176-186.

topics: PxoceSE lEvel

Keywords: concurrEnt FIOCEsses, co •• unication

~ore69 Edward Morenoff. Fcsiticn paper for panel discussion on ~oftvare Transferatility: Tbe transferability of computer Froqrams and the data on which they operate. Proc. lPIPS 196 q SJCC, Vol. ]q, pp. 609-610.

Topics: Portatility

feyvcrds: ~Iogram~, data exchange

Discusses the ~rcb1em and some possible solutions.

~org70a Hovard L. "organ. SFelling correction in systems programs. 68

Corom. ACM, 13, L (fel:ruary 1G10), 90-Q4. Topics: Validaticr

K~ywords: debuqgirg, aetection, autom~tic correction

~orq7Cb ~owa[~ Ice Morgan. An interrupt baseJ org an 1z n. t ion for management infcrmaticn systems. Cemm. ACM, 13, 12 (DeceDlher 1 <370), ; ~ 11-; 3 ~.

1opics: ProceSE IE1el Keywords: event-cEiveD rrogramming, intertupts

~orr?C D. Morris and G. D. Detlef~en. A virtual processor for real time operation. In Tau Ced.), Software Engineering, voluae 1, Academic Press, J. Y•• 1~70, pp. 17-28.

!opics: Computer crgani2ation, Process level Keywords: virtual FrccEsEor, concurrent processes, process creation, process activaticn, communicaticn

~he authc[s review the design of a virtual processor in which concurrently operating processes are the primitive elements. Specifically covered are the .echanisms for procp.ss creaticn and deletion and inter-process communication.

,cFa7Q Clay McFarland. A larguage-oriented cc.puter design. Proc. AFIPS 1970 FJCC, Vel. 31, pp. 62Q-6QO.

~opics: Computer crgani2ation Keywords: langua9,-oriEnteo .achine design Presents an Algol-likE language designed to be an 'aid to th~ prcgra.mer in thinking about his proble. and the processes he is using to solve the prcble.,· and a computer crganization de~ig[ed ~pecificall! to support the features of t.he language.

McGo?1 Clement McGowan anc PeteI iEgner. ~he equivalence of sequential and asscciative inforaation structure models. Proc. Syap. on [eta Structures in Progra ••ing Languages, Gainsville. PIa •• SIGl'tAN lotices. 6, 2 (P~.hru!rv 1971 J, 191-216. Topics: Validation Keywords: equivalence

'Interpreters fCI progra •• ing languages may be defined in teras of the infcr.ation structures (data structures) 69

g~n,orat~d during frogram '~xecution. This pa~)( r. develops a class of proof techr.iguEs fer proving ~quivalr~ce betwfo.n two classes of .F~cgramming languages interpretprs referred to ~s associative irterFret€IS and se~uential int~rp[et~rs.' (al1+:hcl:5)

M. f'. McTlroy. Tn~ited Fa:er: ~~S., p:-oJuc~\; software compon~nts. :n ~aur an -; :1andel: (eds.) • Softwar: F. n g i!l e (~r in g , l~ AT 0 5 c i € n t i fie Aft air S I i v., B r 11 <: ~ e 15 , 1 96 9 r p p • '3 q- 1 5 S •

'ropi C~: Design t E (h ni qu es

Keywords: modularity, .ocifiability, standarization

It is propos€~ tlat thE techniques of ~ass-pro1uction suhass~mhlies, interchangable parts, machine tools, standard parts have direct a~Flicatilit! to, the sollltion of the softwar~3 prcblell'. riSCUES€S the possible p.arametar scales along which the iraivifuel me~hers cf a family of software componpnts may vary -- fIecision. mode, robustness, size, interface characteristics, tiae-space hehavior, etc. Also notes that a com~cnents ~ufplier must possess techniques for generating +he cOllpcnerts and must han(lle testing, oistribution, occuroertation, etc.

:'1 cK e67 w. M. McKeeman. lan9uage directe~ computer design. Froc•. ~FIPS 1967 FJCC, Vel. 31, pp. 413-417.

~opic~: Computer crganjzaticn

Keywor~s: language-oriented machine design

'The obvious attack fer programmers and hardware people toqether is to dEVisE a language that reflects what we want to do and hew we de it (for instance, in parallel) and machine structures effective in handling that language. Let us call this method "language directed computer design."' (au t.hor)

'cr€~R w. M. McKeeman. ~. J. Horning, E. C. Nelson and n. R. wortman. Tbe XPL cOlfiler generatcr system. Proc. J\FIP5 1<)68 F.JCC, Vol. 33. pp. 617-635.

~opics: Sequential fre~ram~ing level

Keyworos: translatcr writing system, syst~1 structur~ i1cKe'70 w. M. McKeeman, J. J. HOlning and D. B. 'Wortman. A Compiler r,enerator. Prentice-Hall, Englewood Cliffs, N. J., 1970.

Topics.: Sequent.ial prcc;rallJring level, Pcrtability

• Keywords: t[aD~lator writing systeMS, localized environment dependercies, compiling techniques 70

N anu64 Burt Nanus and lecnard Parr. So.e COS~ con~ribu~ors to large-scale prograls. Pxoc. A PIP 5 1964 SJCC. Vol. 25, pp. 2 3q- 24A.

Keywords: cost Esti.aticn

Naur66 P. Maur. Proof of algorithas by general snapshots. B.I.T., 6, (1966), 310-31E.

Topics: Valldatiom Keywords: asserticns 'A constructivE approacb to the questicn of the proof of algorithms is tc consider proofs that an object resulting from the execution cf an algorith. possesEes certain static characteristics. The stepping stone of this approach is what is called GEteral Snapshots, i.e., expressions of the static Conditio[s existing whenever the execution of the algorihtm reaches Farticular points. Genelal Snapshots are further shewn to be useful for constructing algorithms.' (author)

Naur6Qa P. Naur. Programming ty acticn clusters, B.I.T., q, (19691, 250- 258. !opics: sequential program.ing level

\ Keywords: structuxEd pro9ra •• iug, yalidation

'The paper descrites a prcgra ••ing disci~line, ai.lng at the systematic ccrst~uction of prograas fro. giYen global requirements. the crucial step in the approach is the converstion of thE glctal require.ents intc sets of action clusters (sequences cf program statements), which are thEn used as building tlccks for the final Erogra.. The relation cf the approach tc ploof techniques aDd to progra •• ing Ian gu ages is discusEed briefly.' (a uthor)

Naur69b P. Naur and B. Randell teds.). Software Engineering, Report on a Conference spcrsore~ ty the 1110 Science Coa.ittee, Garmisch, GeImanJ. 7th to 11th Octoter, 1968, NATO Scientific Affairs [iv., Bruss4!la, DGlqiu., 1969. Topics: General

The initial palt of this report relates much of the conference discussicn concerning software engineering in general and the des19D, Ircduction and service of software in particular. !!ncb of the interest at this conference vas on manage.ent and tle discQssion reflects this. Inyited 71

addresses and IeFrod~ced working papers are entered spparately in this litlicgIa~hy.

Neeo6Q ~. M. Needham and r. F. Earthey. theory and practice in cFerating syste. deliqn. trac. SIGOPS Second Sy.p. on Operating Systems PrinciFIEs, Princeton, october 1969, pp. 8-12.

10pics: Desigr ~rinciFles Keywords: theoretical insight, horse sense

Need70a R. ft. Needhaa. Iicrkin9 paper: Soft.ware engineering techniques and operzting syste. design and Jroduction. In Buxton and Randell (eds.), Software Engineering Techniques, NATO Scientific Affairs riv., Brussels, 1970, pp. 111-113.

~opics: Sequential prc~ra.~ing level

Kpywords: opera ti rg s YEte.~, debugging, design principles, t.est- mode

The author discuSSES four prine iFles which he feels should be observer duritg the construction of operating systems and the scftvare aids which are required: it should be convenient for sEveral ~Ecple to vcrk on a common version of the source code (requiring a file aanipulation systea); it should be easy to diagnose faults (implying a reasonably powerful debugging facilit~; it should be possible to exp.cute perhaps fzulty VErsions of the syste. (i.plying a fall-bac.k facili tJ and a test-.ode for sJste. operation); an~ no code should te writtED which is cODEciously intended to be re-vritten.

Need70t R. ~. Needhan and J. D. Iron. Working paper: Software engineering and Co.~utEr science. In Buxton and Randell (eds.), Software !nqineerinq Techniques. NATO Scientific Affairs Div., BrussEls, 19iC, pp. 113-114. Topics: General Keywords: definition In their mind thE difference is clear: the coaputer scientist is a tteoretician and the software engineer a ~rag.atist, and each cares only secondarily about the other IS area.

~eed71 F. [1. Needhaa. P.ardlinc difficult faults in operating systems. PIOC. SIceps ihird Syap. on Operating Systems Principles. Palo Alto. Calif., October 1Q71, pp. 55-51. Topics: TolerancE 72

K~ywords: User ~Icgla. faults ."..,... 'It is co ••onplace to build facilities Into oper at iog systems to handle feults .bieb occur in uEeI-level programs. 'Ih~se facili ties are often inadequate for t.heir task: soa9 faults or incidents are EE9arded as so bad that the user cannot be allowed tc act on thea and this aakes it difficult or impossible tc writE subsysteas which qive proper diagnostics in all cases, or which are adequately secure, or which are adequately retaste !his paper looks into why there is a need fer very ccaplete facilities and wh! there is a problea about ~roYi~iD9 thea, and proFcses an outline structure which eculd be used.' (author)

Neme71 Alan G. Nemeth and taul t. Foyner. User proqraa aeasure.ent in a time-shared environlEnt. Co... lC"~ 1Q, 10 (OCtober 1971), 661-666.

Topics: Evaluaticr

Keywords: monitoring 'A general discussion cf the measuremeDt of software systems is follo .. ed bJa description of a hardware and software scheme fer mEasuriD~ user prcgraas in a time-shared env ironment.' (a uthcrs)

Neum6Q P. G. Neumann. ~he role of motherhood in the pop art of system prograaming. Proe. SIGOPS Seccnd Syap. on Operating Systeas principles, Princeton, October 1969, pp. 11- 1 A.

Topics: Design principles

Keywords: general 'This paper attelpts to su•• arize the most significant principles, to Ev~luatE tbeir applicability in the real world of large multi-accesE systems, and to assess how they can he used flore effectiVEly.' (author)

Newm68 William M. Hewman. A syste. for interactiye graphical frogramaing. Prce. APIPS 1968 lJCC, Yol. 32, pp. 117-54.

'{opics: sequential pl:ograaainq Descript ion techniques

Keywords: syste •• cdel, directed qragh, state transition, non-hierarchical

This paper descrites a language fOI: the programming of int~ractive. graphical, ~rcblea-oriented languages. The language per.itE the description of t.he systea as a directed graph where the nedts rEIrt8EDt states of the slst.e. and the arcs indicate the output produced and the operation done 13 when a state transition is Elicited by the actions of the user.

!~iev65 J. Nievergelt. en the autc.atic simplification of compu ter programs. Comm. ACM, e, E 4June 1965), 366-370.

Topics: validat.icr. Keywords: simplificaticn, equivalence

'We have studied the Froblem of autoaatic program siaplification ty descrihing a number of equivalence-preserving transforaations which are suitable for mechanization and yield an Qbvicu~ iaprogeaent.' (author)

Ni~v()q J. Nievergelt and ~. I. Irland. Bounce-and-skip, a technique for ~irecting the flow of control in programs. S ! G PLAN No tic e s , 1.1 , ~ ( PI a y 19 6 9), 2 9- 3 1.

~OFics: Sequential program.inq level

Keywords: unifcrm control constructs, structurEd programming, detu9g ing

'A new techniquE for CitEcting the flew of control in block structured Irograas is described. It allows the programmer to deley usit9 the cutcoae of a test inoefinitely, and to lIake the entry and exit of begin-end blocks conditional upon thE last test Ferformed. This technique is the main toel for directing the flow of control in the proqraa.ing languaCjE Mucleol, and is cODsidered to be particularly useful for ~rograa debngging.' (authors)

Noe71 Jerre D. Noe. A FetIi net model of the etc 6400. Proc. ACM SIGOPS Worksbcp on system Perforaance Eya lua tion, Ha r va rd Un i •• , AF r i 1 19 i 1, P P • 362- 3' e. Topics: DescriJ:tien techniques

Keywords: P~tri nEt

A. S. Noetzel. the design of a meta-system. Proc. AFIPS 1971 SJCC, Vol. 3e, pp. q15-424.

"'opics: E fal ua tier

K~ywords: softwarE .onitor, si.ulation

~ Nllna71 J. f. NunamakeI, Jr. A methodology for the design and optimization of infcraatiot Erocessing systemL Proc. AFIPS 1971 SJCC, Vel. ~e, pp. ~E.:-294. 74

lopics: Desigr ~ethedclogies Keywords: autoaatEa. oFtiaization, SODA

This article des crites a system for the automatic design of "re~ort-oriented" inforaation processing systems. Using ~ithms from 9raIh thEel! and aathematical programming and heuristics, the system carries out a multi-level decision making prOCESS with respect to performance criteria and ~ata transfcrlation cbjectives for a particular system. The output consists cf specifications for hardware selectien, ~rogra. lodule organization, file org~nization, and scheduling algoIithas. 1he syste. is li.ited and may be us~d only for a ta tch enYiron.ent. where there is a single processor, linear d~ta st~uctures, and sequential auxilIary storage de.ices.

OpleC,S A. Opler. A ~rccedure-oI:iented language statement to facilitate parallel FrocEssing. Comm. AC", 8. 5 (~ay 1Q65), 305- ]07.

!opics: Sequential ~Iogra.ming level

Ke ywords: concurrEnt ~ Iocesses, Frog lallming langu ages, parallel processing The auther plofcses scme high-level programming language control constructs, .oti~ated by a desire to facilitate translation of thE progIa. for an environment having ~arallel com~uteIE, fot the description of the sequencing among concurrent frccessEs.

~lrchhO William Orchard-Hays. A nEW approacb tc the prog ra alii ng Froblem. Proc. 1960 We!tern JCC, Vol. 17, pp. 345-350.

!opics: Co.ple~itl Keywords: softwarE, handlirg

The author recogrizEs ttE problems of lalqe-scale systems as ones of organi2aticn, of both the systea and the personnel, and deSclipticn!. He argues that soae of the soluticns are a universal machine-oriente~ languagE, standard "parts" of SystE.S, and hierarchical organization.

Richard J. Orgass ard Willial ft. waite. 1 base for a .obile Frogramming system. Coml. AClf, 12, 9 (~ept@lber 1 ~6~) I SO~-f!)10.

~opics: Portatility

Orn ~6 7 s. M. Ornstein, M. J. Stuck! and W. A. Clark. A functional description of macrcmodules. Proc. lPIPS 1967 SJCC, Vol. ~O, pp. 337-356. 75

Topics: Computet crgani7ation

Keywords: bcttom-~F deEign, primitive modules The authors describe the friaitive building blocks which form a hasis for the tCtt08-UP design cf computer system discusse~ hy ~. A. Clark. The modules operate asynchronously with coorcitation being effected by both data flow and control si9nals.

G. Ott. On sJste.s of dependent processes. Proc. Third Annual Princeton CODf. Ot Info. Sciences and Systeas, Princeton Univ., I!a} 196~, pp. 49-54.

!opics: DescIi~ticn techniques L

Keyworcls: timing. asynchronous S!st~.s. proposit ional calculus. 'After defining FreciEely what ve mean by a process and a systnm of dependent (:rocesses, we describe an algoritha to obtain d formula CthE SSP) using the connective V (OR), A (AND) and justapc~ition (follows) which expresses dependence propertjes cf the sJste.. We then convert the SSF into a logical Ircpo~tion called the SSP and show how this proposition car. be used to determine the probability of ,~ system success flO. thE stochastic ~rcperties of the Frocesses. We also describe an updating procedure for the SSP which is USEe to dEter.ine whether each process is an p.ssential, merely ufeful, or useless part of the system at any time during its aSJDchrcDcus operation.' (author)

Parn65 o. L. Parnas. system fUDction Description ALGOL. A Languaqe for the Descri~tion of the Punctions of Finite-state SystEIS, thE Simulaticn of Finite-state Systems, and the Autcaatic ~roduction of the State Tables for Such Syste.s. Ph.D. Thesis, Carnegie Inst. of Tech., Pit.tsburgh, Pa •• 1~f~.

~opics: DescriFticn techniques

K~ywords: functicn, ~ytc~ronous systems, si.ulation, syn thesis

Parn66a D. L. Parnas. A lar.~ua9E for describing the functions of synchronous syste.E. COil. ACn, 9, 2 (l@brOMY 1966 JI 72-76.

Topics: I:escripticn tEchniques

Keywords: fUDcticn, fJnchronous sJste.s, si.ula tion, synt.hesis 76

Parn66b D. II. Parna~. ~tate tiible analysis of programs in an Algol-like language. Prcc. 1966 ACI1 Nato. Conf., pp. ]91-400.

Topics: Cescriptic[ tEchciques

Keywords: sjrchroDcos systeas, i npu t/output transformation, state transition description

Parn(,7 David L. Parnas and Jehu A. Darringer. SODAS and a methodology for systE. dEsign. Proc. !FIPS 1967 FJCC, Vol. 31, pp. 449-414. 1opics: Design .ethcdologies

Kp.ywor~s: top-dcvt, intE~rated siaulation, hierarchical, recurs! ve

~hp. Structure Crientec Description And Simulation languaqe allows the description of a system as it is hierarchically compcsEd cf .cdules operating asynchronously. An example is considered and 'our work on the exaaple has in~icate~ tha~ thE USE of SODAS forces a discipline upon the system d~signeI that co~ld greatly improve the quality of his work and reducE the tile needed to cOlplete a project.'

Parn69a f. L. Parnas. On siwulating networks of parallel processes in which silultaneots eVEnts may occur. Corm. AC~. 12, q ( Sfl F t e mbe r 1 ') 6 q), : 1 q - 5 3 1 • 'Iopics: Evaluation Keywords: concurrEnt prOCEsses, si.ulation

Parn6Qb r-avi1. L. Parnas. Cn thE USE of transiticn diagrams in the ~esign of a user intErfaCE for an interactive computer s y s t e Dl • P roc. 1 <] 6 ~ AC P. Nat n. Co n f • P p. 319 - 385.

'Iopics: Descripticr. technigues, Functional leyel

Kpyworns~ transiticn diasrass

Parn~gc D. L. Parnas. MorE on siaulation languages and design methodology for ceslutet s]steas. Proc. A!IPS 1969 SJCC, Vol. 14, pp. 739-143.

Topics: tesign II1Ethccolo~iES Keywords: integratEd siaulation, aulti-level. sequential Fro~ess, hardware/seftvare decisions

This paper extencs thE lethodolcgy presented in the paper hy Parnas and Carringer to .ultiple level systeas. 77

Parn71a D. L. Parnas. Cn the criteria to be used in decomposing ".... systems into .odulEf. ceO-CS-71-101, Dept. of Coap. Sci., Carnegie-Mellon Univ., Pittsturgh, Pa •• August 1q71. Topics: Sequential programming level, Sequential proqramming level --) Frccess level Keywords: modularity, eecoaEosition 'This paper discuSSES mcdularization as a mechanism for improving the flelihility and comprehensibility of a syste. while allowing tbE EhortEniD9 of its develoF.ent tiae. • •• We have tried tc de.cnst~ate by these examples that it is almost alvays incorrect to tegin the decc.position of a system into modulE~ on the basis of a flowchart. We propose, instead, ttat onE tegins with a lift of difficult ~~sign deci~ionE cr desiqn decisions which are likely to change. Each module is tben designed tc hide such a iiE'cision from the others. Since, in most cases, design decisions transcend timE cf execution, aodules will not correspond to ~tefE it the processing. To achieye an effici~nt implemEDtltion, WE must abandon the assuaption that a module iE ere or more subroutines, and instead allow suhroutines and pro~rams tc te assembled collections of code from vaIicll~ module~.' (author)

~ T"arn71r D. L. ParnaE. Infolaaticn distribution aspects of design methodology. Proc. IFIF Ccngress 11, Ljubljana, August 1Q1 1, Vt:. 'IA-3-:t€ - TA-~-~C.

'Iopics: DescriFticn techniques Keywords: mini8u. information 'The role of documEntation in the desiqn and implementation cf ccmplex systems is explored, resulting in suggestions in sharI contrast with current practice. • •• 'I he thesis (is) that ••• inforaation 'broadcasting' is harmful, that it is helFful if .ost syste. information can ~e hidden from .ost FrogIa •• Ers.' (author)

Parn72a D. L. Parnas. A course cn software engineering techniques. SIGeSE flul1etin, ", 1 (larch 1972) w 154-159. Topics: Educaticn Keywords: softwarE en9inEfrinq courses

Parn~2b D. L. Parnas. A technique fer software module specification with examples. (0 II. A(fit , 1 5, 5 (rt a y 1 972), 330-3 36 • Topics: Functional levEl, Descripticn techniques Keywords: .odulef, error handling, sufficient description, 78 roinimal descripticn

The aut.hor discuSSES an aFFl:oach to the specification of the function of ~oftwarE modules wbich va~ developed with the intent to allc~ specifications which are precise and complete enough tc allew other aodules to be written to interact with the acdole and which give no more information than rp-quired. For each module is given a set of "functions" which ate each specified by givin9 its possible values, its initial valUE, the types of its raraaeters, and its effect. 'Ihe effect cf a function is stated as a sequence independEnt sEriES of state.ants each of which exhibits the change in value of other functions in terms of the values of thE otber fUDctions and of the paraaeters. An initial segment of the effect specification giYes the error conditions which cae occur uFon invocation of the function the user of the function must provide error handlinq routines.

T'ati 70 Suhas S. Patil. Cocrdination of Asynchronous Events. MAC ?eport TP-72 (Ph.I. 'thesis), Mass. tnst. of Tech., Cambridge, Jun~ 197(. Topics: Process lEvel

Y.~ywor~s: synchrcri2ation

nati71 Suhas S. Patil. lilitatiots and Capabilities of Dijkstra's Primi ti VEE fer Coordination Among Processes. Comp. structures GraUE l!EtlC 57, Prcject 'PIIC, Mass. Inst. of Tech •• Cambridge, ~ass., February 1q71. !opics: Process lEvel

~~ywords: synchronization, se.aphores, Petri nets

Noting that sElafhctEs vere introduced in order to eliminate the need for bts}-waiting (the continuous checking of some condition urtil it turDS true), Patil imposes the strict limitation that there be no conditional checking and shows that, as a rEsult, tbeIE is a sYDcbromization problea which cannot be Eclved by using seaaphores. An alternate synchronization mechanisl, incorporating condition testing without hus} waiting, is proposed and shown to provide a solution. Petri nEts arE uSEd in the procfE.

Per~6q Carlos Jose Pereirs de Luc~na. A Software Writing Sfst~l~ Moncgraphs in ComF. Sci. and Co.p. Applications Mo. 6/~9. Comp. Sci. tept., iontifica Oniversidade Catolica do Fio de Janeiro, Erazil, 19E~. Topics: Seguential progra.ming level Keywords: translator WIlting syste.s 79 This article ccnCErns a translator writing system called COMASS which the auther indicates aight be useful for writing other piecEs of EoftvarE but no justification for that claim is gilen.

Perlf)Qa A. J. Pp.rlis. f(eynct~ s~Qech. In Naur and Randell (eds. ), Software Engineerirg, NATO Scientific Affairs Div., Brussels, 1Q69, IJ:. 1~~-'~E.

!opics: General Keywords: complexity, Education, hieraIchical, virtual lIachines

Perlis first attxibutes the software problem to ') the change of scale Iegoired by the increased de.ands of the user comllunity and ~) tbE UDEyeD training cf the software practicioners. He them (roposes that the problem .ay most naturally be handlec ty thE cesign of a hierarchy of virtual IItlchines.

~erJ~9b A. J. PerIis. Idertifying and developing curricula in softwarp. enqineerin~. Proc. AFIPS 1969 SJCC, Vol. 34, pp. S40 - S I~ 1. lopics: Rducaticn Keywords: curricula

A position paper tor a ~ar:El discussion CD the education of the cOIlFutet ~rcfessional. Periis discusses the general orientation of courSES fer 8eft.are engineere.

Petr66 Carl A. Petri. coa.unication with lutoaata. PADC-TR-65-377, Vel. 1, Suppleaent 1, Boae Air Deyelopaent center, Griffiths Air Fctce Base, N. I., January 1966. (AD-650-125)

~opics: DescriFticD techniques

Keywords: state cEscriFticcs, Petri nets

Phi161 C. s. E. Phillips. Networks for real-tiae prograaaing. Com pu ter J., 10, 1 f" ay 19E1), 46- 58. Topics: £escripticn techniques Keywords: flowcharts

Proposes an eJtersicn to flowcharting techniques for the description of rea1-ti.e EVEnts such as interrupts.

Pl.°11"67 M. s. P1-I" 19l.an . and J. L. Pokcrney. Air Porce concepts for 80 the technical centrel and design verification of coaputer programs. Proc. AFIPS 19f1 SJCC, Vol. 30, FP. 61-66. Topics: Management, Validation

K~ywords: contrel, acceptance testing

Pink6Qa T. D. Pinkerton. IerfermancQ monitoring in a time-sharing syst~m. Comm. ACM, 12, 11 tRovellber 1(69), 609-610. TOpics: FvaluatioE

Keywords: mcnitcring, ~oftvare aonitor

Pink6Qb ~. P. Pinkerton. Wcrking paper: Performance aonitoring and systems eva 1uaticn. In 'aur and Bandell (eds.). Software Fngineerinq, N~TC SciEntific Affairs Div., Brussels, 1Q69, FP. 200- 20~.

"[OFics: EvaluaticI

Y0yw(lrd~: perforlrcnce tr€aSUrelent, software monitors

~h~ author plac€£ continuous software mcnitoring within the spectrum cf lethcds for collecting data pertaining to system performancE end relates that it can he provided easily and ~ithout introducing too high an overhead.

? 0117 1 ~dry w. Pollack. An Annotated Eibliography on the construction of CcmpileIs. STAN-CS-24

Topics: Sequential prcqra •• ing level, Validation

Kp.ywords: compilers, translator writing systems, error detection, error CCIrEction, tibliography

Po1172 Rar y i~. Pollack ~e d. ) • Compiler Techniques. Auerbach Fuh! ishers, N. ,1., 191~.

~opics: Sequential Frograaming level, Validation

Keyworits: compilers, translator writing systems, error netection, error ccrrection

A coIl ect ion eli I FOlt ant papers in ~h~ Ar~A ~ ~t compiling technique~ and translator writing systems.

Poo16Q n c. Poole and i. P.. iaite. "achine independent software. Frac. SIGOfS Secane SymI. cn Operating 5y~tems Principles, P r i nc e ton, Oc to b e r: 1 96 9, P F. 19 - 24. Iopics: Portakility 81

Keywords: abstract machinE, macros, boot-strapping

Poo171 r. c. Poole. L€vElcpin~ a multi-access system online. S cf twa 1: e - - Pr act iCE and l x pEr i en c e. 1 , ( 19 i 1), 39-50.

""Ofics: Desigr frinciFles Keywords: interactive development, inte9rated siaulation, validation

'COTAN is a multi-aCCEss system... The deyelopJlent of COTAN relied heavilj en the continuing ayailability of online access from an eatly stage in the ~[oject. Access was first obtained thrcugh the .onitor console on the KDf9 ann this was thEn used tc 'tcctstrap' the ilpleaentation of tlte multi-access facilities. The new software vas checked out in a realtime, cnlinE tEst~Ed called an 'environmental simulator'. !hi5 provided a close dpproxiaation to the utlimate operating conditicms and enabled the systea to be hrought to a high degree of reliability before being placed in service.' (author)

Pra tn Q TE:.~rrence w. Pratt. A hierarchical graFh model of the sp.mantics of Frogtals. Ircc. AFIPS 1969 SJCC, Vol. 34, pp. F13-32f).

Topics: Descripticr techtiques

K~yworns: hierarchical, graphical, progral se.~ntics

Prf's6A L. Presser. The stJ:ucture, Specification, and EYaluation of 1ranslators and !ratslater Writing syste.s. Ph.D. Thesis, Dept. of Fngineeritg, UCLA. Calif., 1968. Topics: Sequential programming level

Kevwor(ls: translator writing systells, des cr i pt io n • evaiu at,ion

?res69 1. fresser ana M. A. Kelkanoff. Software leasureaents and their influence u~cr aachine language design. Proc. APIPS 1q6q SJCC, vol. 34, PF. 133-739.

Topics! Evaluatior, CCIFuter organiza~icn

Keywords: ~erfcr.aDce leasurement, co.pilers, influence on computer organi2aticn

'Tn this pttper WE shall discuss a specific programaing languag~ translator anc a leasure.eDt cortrol center, and associated softwarE artifact, incorpcrated into the translator at ilFlementation time in order to gather, optionally, inforlatior alout the translation process. 82 nt i 1 izi ng a numbeI cf be rebmark progr aas, measurements are collected to detErmine the relative effort spent in the var lous sectioDE cf the translation process by this particular translator. ThE type of information so obtained contributes to a better cnderstanding of how the translation of programming lan~uages .ay influence lachine language design. I (a uthOI)

ProsSq Re~se T. Prosser. J.~plications of boolean matrices to the analysis of flow dicgraft's. {roc. 19S(} EaEtern JCC, Vol. 16, pp. 113-131. Topics: validaticr, Evaluation Keywords: flow analysis, debugging, optimization This paFer developes the manipulation of boolean connectivity matricES as a tool in the analysis of the s~ructure of Frcgtams, shows its applicability to the J0hugging of prograns, ard sU9gests its use fer optimization by automatic reorgari2ation at the subroutine level.

""!am3.6g c. V. Ramamoorthy and P.. J. Gonzalez. A survey of techniques for reccsnizirg parallel prccessable streams in compnter prograD!f:. Frcc. APIES 196q PJCC, vol. 35, pp. 1-15.

Topics: seJuentia] Frc~rall!lIiD9 level --> Prccess level

Keywords: reviE~, seguEncir.g analysis, algcritha lam a7 0 c. V. Ramamoorthy and M. Tsucbiya. 1 study of usp.r-microprogra~matle ccmputers. Proc~ "IPS 1970 SJCC, Vol. 36, pp. 165-181.

Topics: computer crgani%ation

K~ywords: miCIC{rcgrammlng

~an~6g ~. Fandell. Wor~irg FapEr: Towards a methodology of com~uter system design. In Naur and Bandell (eds.), software EngineEring, 11'10 Scientific Affairs Div., Rrussels, 196Q, FF. 4Cq-~Ce.

1opics: Oesigr. ~ethodologies

Keywords: top- dew r, tc tt CII-UP, SODAS, T. E. E. • it er ativ e, hierarchical, intEgratEc sill!ulation

7his paper cC.fares ana contrasts the work done by Dijkstra, et.al., on 'I.B.E.,· by Parnas and Darringer on SODAS, and by ZurchEr anc Randell on iterative multi-level modeling. Randell state! that the most i8portant problEm for future work is the develop.ent of techniques for 83 prAsenting Fartial design so that the design decisions are clearly indicated and the consequences cf a particular decision are more easil) evaluated.

Rand71 B. Randell. Ope~ating s)stells: The problems of performance ann reliability. Froc. IFIP Ccnqress 71, ljubliana, August 1 q7 1, P F • I 1 00- I 1 C c • !OFics: Reliability, Validation

Keywords: perforalnce IEaEu~e.ent, hierarchical systems This article prcvidEs an overview cf achieving high performance and high Ieliability in coaputing systems ana the relationshiF of this tc cperatiog systea design. The author first note~ that the problems stell lIostly froll the complexity of operating SystE.S, that the tvo aspects are generally inversel} related, and that it is typically impossible to ach i Eve t i Sh a tsolute stanoards of pe rforllla nce an~ reliability. iith respect to performance it is pointed ont that most analvEis is conE after-the-fact in order to tunA an alreadj 1.plemented system -- the proposal is made to integrate this at all lEVEls of design ard iaple.entation an~ use design Frinciples which enhance modularity and structure so as tc facilitatE any required changes. After Jismissing t.he fCEsibility of achieving totally reliable systems it is arguEc that wbile effcrts to lccate and remove errors in ha£dwarE o£ software aodules before the aodulEs are incorporated into thE systea are valuable, it is equally iw.portant to includE in the system components which prepare for the occurrEDCE of an error (protection mechanisms, re(lunriant recording of information). detect errors ty inspection of redurdant iDfcr.atioD (such as bi-directional r~ferences, unigue identifiers, etc.), and recoyer froll errors to any extent possitlE.

Reit67 Allen Reiter. A J:escurce-allocation scheme for multi-user on-line opez:a tion cf a small computer. ~roc. AFIPS 1967 SJCC, vol. 10, pp. 1-7. Topics: Process lEVEl

Keywords: ~vent-dliven seqUEncing

!his paper aIgue~ that, in an environment with severly limited resonrCES, the batdling of input/output must be centralized an~ segcencing aust be event-driven rather than t.ime-iiriv~n.

Pichar(ls6A :1. Fichards. ECPL: A teol for cOIiFileJ: writing and systp.m programming. Froc. AFIPS 196q SJCC, Yol. 34, pp. S,7 -566.

topics: Segu~ntia] pJ:cgram2inq level 811 Keywords: system Irogramling languages

'The language feEL (Easie CPL) vas originally developed as a compiler ,riting tool and ••• is closely related to CPt. ••• In order to achiEvE the efficiency necessary for system prcgramming its scale and coaplexity is far less than that of CPL. thE most significant siaflification is that BePL has only one data tlpe -- the binary bit pattern. • •• We will ficst outlinE the general sttucture of BePL and later discuss hc~ well it is suited to ap~lications in the fie Ids of compiler tri ti n9 and syste. progr a ••ing.' (author)

Richards71 M. Richards. 1he pcrtability of the BCPL coapiler. Software -- PracticE an~ lXFErience. 1, (1911), 135-146.

Topics: Portatility Keyvcrds: general ',ethods of achieving Fcogram portability are discussed, with particular refErEnCE tc thE mobility cf compilers. The methods of tranEfeIring the Bept compiler is then described including the specification of CCOD! wbich is the language use(l as an interfaCE tEtween the .achine independent and machine deFendent FaIts cf the compiler.' (author)

Richardso6A F. K. Richardscn. Graphical Specification of computation. Report No. 151, Dept. Coa~. Sci •• Univ. of Illinois, Urbana, Illincis, April 1968. 1opics: DescriFticn techniques Keywords: prograas, cClputation, directed graphs

Riod72a William E. Biddle. eodeling and Analysis of Superv isor! Systems. Ph.D. ThESis, Cc.puter Science Dept., Stanford univ., March 1972. Topics: Descripticn techniques, Validation KE'ywords: concurrent processes, lessage transfer eX,Fressicns, algebraic, analysis, hierarchical descriptions, comau nication The first part of this thesis develops a .odelinq scheae oriented around tie vievpcint of a software sfstea as a group of asynchrctouslJ operatinq proeaaaag which IrQ synchronize~ ty i~ter-Irocess coaaunicaticn. The aodeling scheme naturally allows descriptions of structure and bel~avior at severC!l different leyels of detail. ~essaqe transfer messages ale then deyeloped as an algebraic -eans for descriting thE tEtayior of such syste.s in terms of a trace of the inter-~rocess co ••unications. An effectiYe procedure is developed for deriving aessage transfer expressions and it is shewn how this .ay be used to analyze 85 the correctness of a SystEI in terms cf whether or not certain communicaticn Faths and behaviors exist in the systea.

Rii!cl72b William E. Riddle. 'tbE tiErarchical modelitq of operating system structure and behavior. Proc. Ie" 12 Natn. Conf., Augugt 1172. Topics: [escriFticr techniquEs

Keywords: ccncu£rent processes, cOllaunication, synchronization, lEvels cf abstraction, organization, operation

30hh70 M. F. Robbins and J. D. Beyer. 1n intetactive coaputer system using graphical flowchart input. Co.a. ACI1. 13, 2 (February 1Q10), 11~-119.

~opics: Sequential Description technigues

Keyworiis: flowclarts, interactive and iterative composition

Rod r67 Jorge E. Rooriguez. A Graph I1cdel for Pa rallel ~cm fll ta tionE. Ph. D. ~hesis, Bass. Inst. of Tech •• Boston, september 1<167.

Topics: tescripticr. techniques

Kp.ywords: cO.futaticn .odel, parallel coapu ta tion, directed grafh r f~clerties of algorithas

'Ihis thesis presEnts a schellefor IIcdeling parallel computation with ~irectea graphs. The nodes represent computational elelentE and the arcs represent either single-item data transmission ele.ents cr control signal trans"ission ele.ert~. !he aodeling sche.e is best suited for low-levEl, hardwarE criented aodules.

RoseP6<1 ~obert Rosen. FiErarct.ical organization in autoaata theoretic lIodels cf the central nervous systea. In Leitoyic (ed.), Information trocessin9 in the Beryons Systea, Proc. cf Symp. at the state Oniversity of Rev lork at Buffalo, 21r;t-24th october. 1968 r Sfringer-Verlag, New York, 1969, pp. 21-38. Topics: Descripticn techniques

Keywcrds: abstractions

The author points out tt.E value cf changing the language cf .:1escriptlcn in teras of the abstractions which can resul t. 86

RoseS68 Saul Rosen. F!arcware design reflecting software r('\(] ui rp men ts. Frcc. AFlfS 196A PJCC, vol. 33, pp. 1U41-1441.

Topir.s: Ccmrllter crqani2ation

Keyworos: softwarE envircnaent provisions

'rhe authoI: points out wbat we have as cf the time of the article and what he feels ve additionally need. We have ~icroprogrdmming, Elulaticn, interrupt mechanisms, dynamic storage allocation, hardware supervisory functions, and compilation. We nEed a total system design philosophy, 1arg~ cheap fast fe1iFhelal storage, hardware supervisors f~r tim~-5harin9, gra~~i(al terminals, haIdware aids for software analysis, debcgging and docullentation aids, harowarp conpatilility, ane tardvare standaIdization •

p.:)}, ~r t F. nOR in. CcntemForaIY concepts of • Ie roprograaming a nd eva Ina t ion. (I~. ~uIveys, 1, 4 (Dece.ber 1969), 1'1'-217..

""opics: Computer crganizaticn

?pywor~s: miclcfrcgramming, emulation

Jussf)f1 F. c. :illss~l and G. Fstrin. Measurement based automatic dnaly~is of FOB!EAN Frogtams. Froe. A!IPS 1969 SJCC, Vol. 34~ pp. 723-732.

~opics: Evaluaticn, te~cIiption tecbniques Keywords: graph medel, statistics gathering, performance me~surement, opti~j2ation ryust71 Ranlell Rustin (ed.). Debugging Techniques in Large Systems. Prentice-fall, Etglevood cliffs, 1971.

Tories: Validaticr

Keywor~s: debug9ir.9 This is a col1€ction cf papers presented at the first Courant computer SciencE Symposium - each faper is entered serarately in this tiblicgIafhy.

~ aa 171 q. J. Saal and ~. E. Biddle. Comaunieating Seaaphores, Report CS-71-20~, (omF. ~ci. nept., Stanford Univ. C:=tl if. ~ February 1qj 1.

Topics: Proces~ lE~el 87 KpyworJs: synchrorizatior, semaphores, cormunication

Semaphores are EJtendEd to allow the pas~age of messages ann it is ir.dicated that the clarity of the system increasEs and the protd~ility ot errcrs and bcttleneck~ decreases.

Saht~6q Jprome 0. Si'!b~l. 1?csit.icn paper fer panel discussion of Software transfeIatilitJ: Transferability of ~ata and programs between computEt systems. Pree. AFIPS 196q SJCC, Vol. 34, p~. 611-f1~.

'Iopics: Portabili t}

Keywords: prograa transferability, data ezchange

~he author profoses a hierarchy of data structures (cp.l1s, trucks. t[air.~. ~tt:iFS, streaas, itells) and a data lescription langua~E as a ~cssible basis fet: a solution to thp portability fIctlem.

Salt.70 \.1ero;ne II. Salt-zer ard John W. Gintell. The instrullentation of Multics. Coml1l. ACM, 1:;, E CAugust 1(70)" 4CJ'-500.

Topics: Evaluatic[

Keywcr~s: mcnitcIing

'~n array of measuring tools devised to aid in the imp 1 em e n tat ion 0 f apr 0 t c t Y~ € com put e I uti 1 i t J i s disc us se d. ~hp.se teals incltde special hardware clocKs and data channels, general purposE ~rogra ••ed ~robin9 and recording tools, an(l ~peciali2ed 1Dea~ure.ent facilities.' (authors)

Samm71 Jean E. sammet. Frcblems in. and a pragaatic approach to, proaramming lanquagE measurE.eDt. Proc. APIPS 1971 PJCC, Vol. 3C'J" pI=.242-~~1.

'Topics: Management Kpywords: choicE cf languages

Sass66 William A. Sassa.an. A co.puter proqraa to translate machine lanquage inte Pcrtran. Prac. AFIPS 1966 SJCC, Vol. 2 B, F 1=. 235-2 39.

~opics: Sequential prc~ral.ing level KeYVOLOS: decomFilaticr.

Siltt!1 E.~~tterthwaite. ~curce language Debugging Toqls. Ph.D~ "[hes~s, Com{:. Sc~., teFt., 5tanford UniY.. Stanford, Calif., 1971. 88

~opics: Valiiaticr

Keywords: dehuggirg

~ch17' Paul Schlpnd~r. Jpplicaticn of disciIlined software te~~t.inq. r n Ru~tin (e.l.). Debugging Techniques in Large S y~; t n ms , Pr en t. i c € - f. ell, 1 g "7 1, {: F. 14 1- 1 4 2. Topics: Validatict •

Keywords: erro~ detection, testing

Scho10 H. Schorr. Working ~a{:eI: Compiler writing techniques and ~roblems. In BUlton and Bandell (eds.), Software Fnq'inperinq 7€chnjques. NATO scientific Affairs Div., 3russels, 1910, fF. '1~-1~~.

lUfic~: S~guential prcgramming level KeyworJs: translator writing systems

~hile not exactly clsa~reeing with the view that +ranSlcttoI: writing ~yEtems are the product of the most sr>riou:3 attempt t.c cutomat.E software Froducticn, the author points ont that 1) the tratiitional translator writing Isyst€lI does not. provide adequat€ ai(1 in the handling of error ~iagnostics, data structures and storage manaqe.ent. opTimization, code genEraticn, and output editing, and 2) almcst no attenticr has been paid to the software enaineerinq aspEct~ of stcrage allccatict, interfacing to the operating syste.. ~ccumentation and .aintenance. and a~sign of subroutine littariEs.

~GhwJI70 Jules I. Schwartz. working paper: Analyzing large-scale systPIf JeveloFment. In fUJton and Ranciell (eds.), Software f~gineering TechniquEs, NATO Scientific Affairs Div., E~ussels, lQ70, [F. 1~~-'~'.

10 ric ::; : Man age It e r: t

Keywor~s: personnel

The problems attEndant to the levelopment of large scale 5v~tems are held tc be frimarily "people protlems": no one h~s ~ full understardina of the full set of facilities to be FrnviJed; person-tc-Fer~cn communication is notoriously bad; thp varience in the capatiliti~s of the ~erscnnQl is hard to andlyz~; good (tcgIammers are inherently creative and cr0ativity can slew dcwr ~rcgr€ss; ncn-FtogIamming managers cannot always make FtOpeI judgments; the actual status of tL,,~ project at any point in time is hard tc perceive: there arp very few viablE methcdologies for carrving out the 1evplopm~nt and t(sting cf larqe scale sy~te~s; and no one Fer~on Fossesses a knowledge of the details of the entire systHm. 89

SChWlTT71 Jacob T. Schwart2. An overview of bugs. In Rustin (ed.), Debu\lging Techniqcef for large Systems, Prentice-naIl, 1971, pp. 1-1oS.

70 P i cr; : VIi 1 j d at i c r

fpywords: errer classes, debu gg in q tools, formal correctneES procfE

~his article Eurveys tt.e types of errors found in software and some cf the teals, hoth available and needed, for debugging.

3r(l!T'~q '"' F. ~edman anry F. C. Seuey. Simulating operating systems. IP-~ 3ystems J., 4, .1 Q 6Q), 264-279.

:'opi cs : F.v alu at ic r

?~ywcr~s: cppratirg sJstem~, simulation

~. Sd]gpwic~, R. stcne ard J. W. McDonald. Spy -- A proq ra. to ~onitor 05/160. froc. AFIFS '9~O PJCC, Vol. 37. pp. '1"-128.

Topics: F.valuatior

K0ywcr~s: scftwarE moniters

S~li69 Franz selig. Workir.g pa~Er: Oocuaentaticn standards. In Nallr and. nandell (eds.), Software ~ngineering, NATO scientific Affairs [iv., Brussels, 1969, Fp. 209-211.

~opics: Man~g€m€nt

Keywords: f~ccumentaticn standards

~ivps a list cf typical entries which should appear in a locunentation foldEI of a ~utlic routine.

3ha pC 2 ;. M. Shapiro. COlputeIs, connectoI systems, and da ta ·lesc[' i ption s. n i qe f t of 'I echnolog iea 1 Papers. Proc. ACM ~at. Conf., Vol. 1. 1962, Fp. 72-13.

Topic~: rescripticr t~chriques

K0ywords: ENF, cCftFuteI ~ystems

Tn this articl@. ANF is applied to the description of com~uter h~r~warE ara mEDOr! structure.

~h~ n69 r.. M. Shapiro. 'I'te REpresentaticn cf Algorithms. I 90 R ADC - '! R- 6 9- 3 1 3 , vc 1. 1 I , Fome Air Development Center, Griffiths Air 'orcE East. R. I., September 1969. Topics: cescrifticn techniques

Keywor~5: OCCUIlerce graphs

Shav6A A. C. Shaw. 7he Fermal te!cription and Parsing of Pictures. Report No. 84, (olputat ion Group, Stanford Linear Accelerator Center, Stanford, calif. "arch 1968.

~opics: DescriFticc techniques Keywords: graphicll

This thesis devEloFs a technique fer the for.al description of linE drawings and shows its applicability to the analysis of suet picturEs.

~hawi1 Alan C. Shaw and NElson f. IEider.ann. A lultiprogra ••ing system for educaticr and research. Proc. IlIP Congress 71, ljubljana, August 1~71, t:P. TA-7-110 - TA-7-11q.

Topics: Education, ~Esign IEthodologies Keywords: softwarE lat, hierarchical systems, virtual lachine, concurrent processes

'A novel multiprcgraaling case study which has proven useful in operating EystE. education and research is Fresented. The operating sJst.. ana its unusual hypothetical lIachillE are specified. 'rile paper then describes experietce _ith the case study as a class project ••• and as a resEarcb tool for testing new ideas in operating sJste. pri.itiyes and design .ethodologies.' (au thors)

Spem69 Jack E. 5hemer and [ouglas W. Heying. Perfcraance aodelinq and empirical .eaEur •• ent in a s1ste. designed for batch and time-sharing users. P~oc. IPIPS 1969 PJec. '01. 35. pp. 17-26. 7opics: Evaluaticr

K~yvords: analytical

Sher66 Philip 8. Sheraan. PICITlle!, I co.puter prograa for flowcharting progJ:als. Co... left. 9. 12 (Dece.ber 1966), ala5-854.

topics: DescriFtioD techniques, Sequential progra•• iDg level

Keywords: flewchaIt., auto•• tic deri•• tlOD of progra. 91 c1escr i pt ions.

S IGP11 SIGPLAN Group. ~roc. of a SIGPLAI sy_posiaa on languages for sy5t~ms imple.ertaticn. SIGPLAN HoticeE, 6,9 (October '971) •

TOfics: Sequential prcgraaming level

Keywords: syste.s progla •• ing languages

SIGP72 SIGPL1R and SIGIC' GrouFs. troceedings of an ICft Conference on Proving Issertiots atcut Prograas. SIGPtll lotices, 7, 1 (January 1972). 'Icpics: Yalidit} Keywords: asserticns, Ircgram correctness

Simo62 R. A. simon. The aIchitecture of complexit.y. Proc. of Am. Phil. Soc., 106, (Iece.tel 1962), 467-482. Reprinted in Simon, Sciences cf the Artificial, ~.I.T. ~ress, C •• bridge, 19()9.

Topics: Complex sYEte.s

Keywords: general, hierarchical decomposition, abstraction, eyoluticn, near decomposabilit.y, description

Simo63 H. 5illon. Ex~eri.er.ts with a heuristic co.pilar. J. lClI, 10, " (Oct.ober 19E~), q9~-!OE.

Topics: Sequent.i~l prc~r ••• ing leyel

Keywords: autc.atic sYDthesis

Skla68 J. Sklansky, ". Fin)flstEin and E. C. Russell. A foraaiisa for pr:cqra. tran~lation. J. lCft. 15, 2 (April 1968), 16c)-175.

~opics: Descri~ticn techniques Keywords: interections, algebraic

Smit71 W. R. smith, et. al. SYP.!CI -- J larqe erpfril9ntal S'yst~1 exploring aajor hard.arE replacelent of software. Proc. AFIPS 1971 SJCC, vol. 38, pp. 601-616. . topics: Co.puteI crqanization

Keyvor~s: languagE-oriEnted .achine design

A mult.iprocessor syatel is discussed which almost 92 directly executes a reasonably traditional proqraaainq language. snow11 B. A. Saow40n. PIIRL: AD interactive E,.t •• for the prapeatioD aad wali4atioD of atrDctDI'•• progra ••• tech. Hep. 28, coafuting Laboratory, Uniy. of levcastle Upon Tyne, England. Hoveater 1971. Reprinted in SIGPtlR Not ices, "arch 1912. pp. 9-26. topics: Sequential prcgraaaiDg leYel, Validation Keywords: structured progra •• ing, aaseetiens, hierarchical syste •• ,aodelinCJ, ite~ativ.

this report ,i~el the 4eal,. criteria aDd present status of the progra. IlaioratioD IDa lefIDe ••nt tang_ge project. This laD9".98 ia ae.l,a.a to allow the iateractive, top-down, iterative cO.8tractioD of atractared progr••• with the co.putex chectlag .]Dtax aDd logic,- , •••ratiD, aDa interpreti., code, ana •• r'ia, a. g8.8ral assistaat. ~b. loqic vali4atio:1I tccbnltu •• aEe e.H.tlalll tit ... of 'loya. The slste. is correl!tly only partially a•• iCJDec1 (til... are no facilities for coop.ratiye desigD by tea •• of a.si91l8~. or for the eXIteEEion of control constructs inyolYiDg parallelism) and only partially i.pIelented (data types .a, not he refined aId aEsertions are co.piled into runt i.e error ckecks) but tt.e apFEndices give adequate justification for this i.~ortaDt loftvar@ eaCJine.ring tool. spie69 Michael J. spier and Elliott I. Orqanick. The ftOL'1'ICS iaterprocess co ••uDlcaticDfacility. Proc. SlOOPS Secone) 518p. OD operatiug Syat ••• PriDe!ple., PriDe.toD, october 1969, pp. 83-91. 1Opics: Process Ifve1 Keywords: co •• unication

Spoo71 C. R. Spooner. A ScftvaIE Architect"re fer the 70' s: Part I, The general aI~roach. Software -- Practice aDd Experience, 1, C1911), 5-31.

Topics: Design principl•• Keywords: .od nla Ii ty, concurrent processes • kernal, activity

'I fr ••evork is cascribed on which it should be po.sible to construct geDerel purpc•• syste••• uitable tor tl. 70's. ••• ~he first section of this paper postulates the requirements of tie iC's concluding with the need for a useful aethcd of .caularizing, which both recognizes that code is seldo. pErfect, and allows hitherto "Ddatory aDd untouchable co.poDemts tc be optional and alterable. Tbe secoDd a.ctioD deyelops 81 .pproacla to .oc1·w].ar atr_ture. 93 It takes as the three basic ingredients: Activities (or processes) , tools (CedE, processors, etc.) and the organization of a~~]JiDq the tools to the actlwities. ~be structure modularizes toth wbat happens (into activities) an~ the code that i~ used (into logical and into physical units). By devElcpinq thE xole of the ceDtral organizing element, as a caretaker cf .anage.ent decisions taken ty activities, a means cf lodularizing the management function is arrived at.' (auther)

Squi63 J. s. Squire. A translation alqorith. for a aultiprocessor coaputer. Proc. 1Eth left National cenf •• 1963. Topics: sequential progra •• iftg leY81 --> Process 18981 Keywords: algoriths, sequencing analysis

Stp.e65 T. R. steel. The dEv€lo~.ent of very large programs. Proc. IPIP Congress 65, Neli York. ~al' 1965, pp. ~31-2J5.

'topics: Design FrinciF1Es, Management

Keywor~s: impl€~€[taticntcols, specification ' ••• this papeI €JaminES an imaginary -- but archtypical problem whose soluticn requires a very large program. with this program as tack9xound, the remainder of the paper explicates varicuE technical and managerial tools e.ployed in the i 18 P 1 em en tat i en 0 f sue h pro 9 r a as. t (a u tho r) s ti 1169 saul stiaIer. SomE critEria for tile-sharing syste. performance. Com.. ICM, 12, 1 (January 1969), 41-53. topics: Evaluatior Keywords: performcnc€ critEria

Ston67 H. S. stone. One-~ass ccmpilation of arithmetic expressions fo~ a parallel prccEssor. Cca •• ACM. 10, q (April 1967), 220-223. Topics: sequential prc9ra •• ing leyel --) Process leyel Keywords: algorittm, sequEncing analysis

Supn71 Bobert M. Supnik. Ietu99ic9 under simUlation. In Rustin (ed.), Debugging 1echniqoe2 in large Systems, Prentice-Ball, 1971, pp. 111-136.

To pi cs : Validat io Ii

Keywords: debugging, co.puter, environ.ent simulat ion 94

~ Suth66 iil1ia. R. Suthexlallc1. Ca-1ine Graphic Specification of Coaputer ProcedurEs. TECh. Rep. 405, Linccln Lab., Bass. Inst. of Tech., IeJington, "ass., May 1966.

Topics: Sequelltial pxogcaa.ing level, Description techniques

Keywords: ~rocedurE level, co.~utation model, tvo-dimensional ~xcgra ••in9, directed grapb, hierarchical model

sutherland' S sfste. per.! ta "the sp.cificatioD of rroqra.s in a directed. gEaph re'r.... t.tlo. .erf sial ar to flowcharts. The Epecifl(atloD tate. place at a 9Eaphic8 terminal and the ~SEr .a1 interacti ••ly create, .oalfy and execute his progra ••

s zla71 J. Szlachta. On thE corIEctness of accepted input. Proc. IFI~ Congress 71, ljubljana. August 1971, pp. TA-2-153 TA- 2- 157. Topics: ValidaticI

Tali71 w. ~. Taliaferro. ~cdularity - the key tc systea growth potential. Soft.a~e -- tractice and !xperience, 1, (1 CJ71 ) , 245-257. Topics: Modularity

Tei t70 Warren Teitleaan. Working paper: 'roward a progra ••inq laboratory. In BestoD and Randell (eds.). Software Engineering technigues, IATO scientific Affairs Diy., Brussels, 1970, F~. 131-1.9.

~opics: Seguential progra •• ing level, Validation

K~yvords: debuggirg. interactive progra ••iDg, interface modification, error corrEcticD

The author pEclclea a prc9~a. eo.po.itioD facilitr in which the routine tasts are perforae4 by the co.puter leaving the bua.n UEer fxet to attend to the creative tasks cf proqra. design and debugging. What he considers as "routine tasks" Is very wide in scope -- the Do-What-I-Mean feature incorpOtateE eJteaslve auto.atle error ~orreetioft features mostly cEntEred around spelling coxlection based on th~ context of the error. !he task of .odifyin9 the proqraa during debugging and ~rcgra. elaboraticD is greatly facilitated by a feature called ad.ising in which the user may easily change tte interface between two proqra. .odules without changing (or even knowing about) the internals of the ltod1l1es. 95

Tes16B L. G. Tesler and E. J. Enea. A language design for ~ concurrent processe2. Eroc. APIPS 1968 SJCC, '01. 32, pp. Q03-40R.

'Iopics: Sequen t ial program.inq Sequential programming level --) FrCCESS level

Keywords: concurrent processes, prog~al.in9 languages, sequencing analy~is Father than propcsE centre} constructs for the expression of concurrent procEssing, this paper defines a class of progra ••ing languages in whicb the sequencing and concurrency charactEristics .ay be deter.ioed by traciD9 ~urinq ccapilaticn.

Thom?1 Robert H. 1homas. A ~odel for Process Bepresentation and Synthesis. MAC T~-E1 CP~.t. Thesis), Project "AC , "ass. Tnst. of tech., Cambridge, June 1911. !opics: Descripticn techniques

Keywords: concurrent ~rocesses, state description, extensibility

'This dissertation inVEstigates the proble. of representing grou~! of loosely connected processes and develops a model for prOCESS representation useful for synthesizing co_pIe1 patterns of process behavior. There are three parts to tte dissertation. The first part isolates the ccncE~ts .hleb fora the basis for the process representaticn .odel bJ focusing OD questions such as: What is a process; What is an e.t!nt; Should one ~rocess be able to restrict the capabilities of another? The second part develops a aodeI fot: process representation which captures the concepts and intuitions deyeloped in the first part. The model presented is atlE to describe both the internal structure of individual processes and the "interfacE" structure tetween interacting processes. ftuch of the medel's descriptive Fo.e~ derives fro. its use of the notion of process state aE a vEhicle for relatiaq the internal and external aSFects (f plocess behayior. The third part demonstrates by Exa.plE that the model for process representation is a useful one for srnthesizinq process behayior patterns. In it t'E .odel is used to define a variety of inte~e~tin9 Erocess bebayior patterns. The nissertation closE~ ty ~uggesting how the .odel could be used as a selantie base for a very potent lanquaqa 9rt@ftsion facility_ 1 (author)

Tou70a Julius T. Tou (ed.). SoftwarE Engineering, Proceedings of the Third SY8Fosic. on Co.puter and Infor.ation Sciences held in "ia.i Beach. Florida, Deceaber 1969, 'oluae 1 and Volume 2, Acadellic tress, N. Y., 1910. 96 'Iopics: General

Yoluae 1 of this to~k cCDtaiDs articles Eelating to the nesign, i.pIe.entation and .aintenance cf software syste.s and Volu.e 2 basically covers systeas for the aanipulatlon of in foraation,. snet as infcr.atioD retrieyal systeaa. "aDY of the articles afpeaEiD9 in Voluae 1 and soae of the articles from VOlUIE 2 arE cited individually in this bibliogca ph y.

Tou70b Julius T. Tou. Software engineering - 1 new ~rofession. In 'Iou (ed.), Software Engineering, 'oluae 1, lcadeaic Press, M. Y.. 1970, pp. 1-6. Topics: General Keywords: review. definition

Tou demarcates tl:e taEk of the software engineer as that of making a virgin gEneral-purpose digital coapater into something which satisfies the needs of the user co•• unity. Within this broad area, he distinguishes the coapater architect whese rEspoDEibility it is to use fir •• are to build conveniently organiZEd computer sJste.s froa the pieces of hardware trovided by the co.puter engineer: and the software prcgra •• exs who deal with the design and illplellentation of scftware support systems and inforaation manipulation syste.E.

Tra p6Q F. K. Trapnell. A systelatic approach to the deyelop.ent of syste8s prograas. tIOC. llIFS 1969 SJCC, '01. 34. pp. 411-418. Topics: ftanageaent. Design .etbodologies Keywords: design cycle, Erinciples

~he author Exo~oses 80.e principles and practices, oriented around dEtailEd and explicit plaDDing, pertaining to the design of large EeilE S1st.as. ~h. des1gB cycle consists of sey@ral fteps: external function specification, demarcation of furctional blocks. design of the fora and content of intertlock co•• unication, proqraa aodule specification, and det~r.lnation of prcg~a. aodule loqic. For impIe.entation, the author proposes an iucreaental building process with frequent testing and be discusses the attendant proble.~ cf integration, regression, and design of tests.

Turi4 q A. Turing. Checkin9 a large routine. Re~oIt on a Conf. on High Speed Automatic Calculating Rachines, Oniv. "ath. Lab., CaM br id 9 e, Ju r E 19 q 9, ~ p. 67 -6 8.

Topics: Validatior.

/ /~ 97

nlri70 i. Ulrich. Working pa~er: Design of high reliability ~ continuous operation sJste.a. In Buzton and Bandel1 (eds.), Software Fngineerin~ !Echnigues, Nl~O Scientific Affairs Div., Brussels, 197C, pp. 149-153. lopics: Reliability Keywords: techniquEs

This article t~iEflJ rEYlews the Electronic Switching System control IIogram developed at Eell Telephone Laboratories. The charactEristics and data structures are outlined and it is reported that the reliatility techniques eaployea consist of on-linE data consistency checks (used sparin91y because of oYerh@ad), routine aaaor, audits (essentially largE EcalE ccnsistency checks) and a hierarchy cf emergenc y a udf ts. ~

vanEmd70 M. H. vanEmden. Fierarchical deco.position of coaplexity. Tn Meltzer and Michie Ceds.), "achine Int@lligence 5, i_. Elseviez, N. I., 1~70, ~p. 361-380. Topics: Ccmplexit}

Ke!wor~s: large-scale systems, hierarchical decomposition

vanHor68 Earl C. vanHorn. Three criteria for des igninq computing systems to facilitatE detugging. Co ••• ACpt. 11 • 5 (K ay 1Q6B), 160-365. Topics: Validatiom

Keywords: de1:u9~ing, input recoJ:dabili ty, input specificability, asynchrcncus reproducibility of output

verHoe71 Edward W. VerHOEf. Autc.atic program segmentation based on boolean ccnnect11itJ. troc. APIPS 1911 SJCC, Vol. 38, pp. 491-495.

Topics: Sequential prc~ra •• ing level Keywords: aodulari2aticn 'This article presents an algoritha for partitioning a program into sOlie [UatEI cf pieces (cal1ed~aqes) such that none of the pageE eJc~eds seqlant sizo and tb@ nUlb@c of interpage (inter-segment) rEferences is reduced. This algcrithm operates selel) on connectlYity and size data describing the prcgram, data readily available fro. a compiler or asseatler with relatively modest .odification• ••• interpage refErercEs can te a fetch or sto~ of data or a transfer of cantrcl. Por simplicity of presentation, only the latter are coneidErEd in this article. Howeyer, in the research project cn wbich the article is based, both 98 constant and varialle data were treated in like .anner.' (author) von~ta10 A. von staa. 1he Ccmcom Software Writing Systea. Monographs in ComFuter SciEDce and Coaputer Applications Ro. 8/70. Comp. Sci. DEFt •• Pontifica Universidade Catolica do ~io de Janeirc, EIa2il, 1Q70.

topics: sequential prc~ra.'in9 level Keywords: translator wIiting systeas

This article di2CQSSE! I translator vriting slste. based cn Zarnke's CORASS .Jete ••

Wagn67 Fric G. Wagner. en the structure of progra.aing languages, or, six languagEs for 1uIing Kachimes. IEEE Conference Record of the 1967 Eight Annual syap. on switching and Automata Theory, octoter 1~E1, pp. '5-54.

Topics: Sequential pro~r8 •• ing level

K~yworns: structuled progra•• ing, directed graph six programming lan9uages for Turing RachiDes are presented which differ in syntactic classification and structure. ~he structural variations are uDconstrained, block structure, r.Estec looping, transfers limited to contiguous instructioDE, and single transfer per program. It is shown that all of thE languages are uaiyersal can co.pute any c08potable function and so.e analysis is given of the difficulty cf cc.piling the lamguages. wait10 w. ~ Waite. ThE .ctile pro9ra •• ing slste.: S!lGE2. Co ••• AC". 13, 7 ·(July 19iOl, II1!-q21.

'Iopics: Portabili t J

Keywords: hootstre~. maCIas.

1ST AGE2 is t he sEcond lEVEl of a bootstrapping sequence which is easily ilple.ented on any co.pater. It is a flexible, powerful laCIO processor designed specifically as a tool for constructing .achine-indepeDdent software.' (author)

Wald72 navid c. Walden. A system for interprocess co•• unication in a resource sharing co.puteI network. Co... ICft. 15, 4 (April 1(12), 221- 4 :0.

1opics: P[oces~ level

Keywords: concurrEnt processes, rescurce sharing, coamunication, netwcrts 99

,"'" Wal166 victor L. Wallace and licbard S. Rosenberg_ Pla-rkoyian models and nu.erical analy!is of co.puter syste. behayior. Froc. AFIPS 1 q66 SJ(C, Vel. 2A. pp. 141- 1 48. Topics: EvaluatioI

Keywords: ha£d~atE, anal)tic

Wals69 D. A. Walsh. A GuidE for Scftware Documenta tion. McGraw-Hill, New YClk, 1969. Topics: Docu.entation

ward69 James A. iard. ~c!iticn paper for panel discussion on Software TransfEratility: Progra. transferability. Proe. APIPS 1969 SJCC, Vel. 34, pp. 605-606~

~o pies: Portabi 1 it y

Keywords: general, p~c~ra. transferability

Wegb11 Ben Wegbreit. lhe leI prograaming system. Proc. APIPS 1971 FJee, Vol. 39, pp. 2~3-2E2. Topics: Sequential prcgraa.ing level

Keywords: debu99itq, co.~osition, ertensitility 'The EeL prograa.ing sJEte. has been designed to provide an environ.ent con~ucivE to EffectiYe prograaaiDg. To this end, it contains a language with coaprehensive data types. operators, control structures, and storage aanage.ent facilities. It al1cvs interactive progra. co.position and debugging with s.ooth transition to efficient co.piled cod~. "ost i.portant, it allows the progra •• er to tailor this environ.ent to suit his nEEds.' (authcr)

Wegn72 Peter Wegner. ~hE Vienna definition language. Coap. Surveys, 4, 1 (March 191 4), ~-63. !opics: DescripticD techniques

Keywords: syntax, sE.antics, ~rogra.s

Weid71 N. H. Weider.ann. Cn Cperating Systeas Engineering. Ph.D. Thesis, Dept. of Ccmp. Sci., Cornell OniY., Ithaca, i. Y., ~ehruary 1q71.

Topics: Design principles, Design aethodologies 100 Whee?1 D. J. Whee 1 e r • AEf€5Sing the coaplexity of co.pater systeas. Proc. IF1P Cengxees 11. Ljubljana. August 1<)71. pp. 1: 16,.-I 168.

!opics: Design ~Iinciple~

Keywords: hiErarcbical systems. co. p le xi t y, modularization, errcr dEtection

In this article, the author argues that the apparent co.plexity of a slfte•• ay be reduced by .odularization but that this increases the total co.plexity of the syste. because of the iltrodoctioD of additional interfaces (an argu.ent which depe!ds ufoll the size a.tricE of co.plesi ty which the aathol a8 •••••). Be also Dotes that the modularization facilitat •• the discoyery of 80.. errors by localizing their effect. the author then cODcludes that the hierarchical .odularizaticn process is li.ited by the ability to co.prehetd the total syste. since that deter.ines the ability to unco~er ncn-localized errors.· A liaitation is also reached when errors are allowed to reaain in the system, since the user cc ••unitr vill have a thresbhold of tolerance on the co.~Iications aDd decreased throughput resulting from the residua] Errors.

Wlich68 E. A. iich.ann. A .eduler operating syste.. Proc. IFIP congress 68, Edinbotgh. August 1968, pp. 548-556. !opics: Design princiF1Es Keywords: aodularizaticn, extensibility This article diecusses a KDP-9 tiae-sharinq and file manipulation systea wbicb vas built usia9 the idea of constructing the syste. ire.•• odules which iDteract through a unifor., pre-deficed interface.

Wile?1 Donald s. Wile aDd C. 8. Geschke. Efficient data accessing in the progra •• ing languagE Bliss. Proc. Syap. on Data structures in prc9ra ••iD9 Languages, Gainsyille. Pla., SIGPLAN Notices, 6, 2 ('Et~uarJ 1971). 306-320. Topics: Sequential progr ••• ing lewel Keywords: syste. frogre ••tag lanquages, i.ple.entation

Wilk69 M. V. Wilkes. The qrovtt cf interest in .ieropro~ra ••iJlq! A literatu~e sur.eJ. Co.p. Surveys. 1. J CSepte.ber 1969) , 3q -145.

Topics: Computer crganizatioD Keywords: .icIclrcgra ••iDg. survey. bibliography 101 wirt66 N. Wirt.h. A note on "Prcgram structures for parallel frocessing". Co ••• AC~. 9. 5 ("ay 1966), 320.

Topics: Sequential programming level

Kpywords: concurr€nt ~IccEsses. programming languages

Wirth argues tt.at thE constructs ~rc~osed by J. P. Anderson for the ccr.trol of parallel processing reflect the organization of tie cc.~uter and do not fit in with the algorithmic orientation cf Algol-like languaqes -- he then proposes some vhiet do. lirth also distingaishes tvo types of concurrency that which is not required by the algoritha but is nOEE-tht-less lurking in its sequential ~roqra. representation, and that which is required by the algoritha in the SEtse that aiffereat parts ef the algoritha must be executed b] different parts of a non-bo.oqeneous set of processing and storagE E1E.ents.

Wirt68 N. Wirth. PL360. A prograaming language for the 360 computers. J. AC f!. 15, 1 ( Jan ua r J 1 t) 6 8), 3 7 -1" . Topics: sequential progra.ainq level

Keywo~ds: assEmtlEr languages, structured ~ro9ra •• in9 One of tbe first atteapts to introduce structured programming concept~ at the asse.bler progra•• ing language level.

tlirt6q N. Wirth. On multiIrogram.ing, lIachine ceding, and co.puter crganization. CC ••• Ae!, 12, 9 (Septe.ber 1969), "89-498. !opics: sequential progra •• ing level

Keywords: specification of ccncurren t processes, int~rrupts. seaaphores

Wirt71a N. Wirth. The Irogra •• iD9 language Pascal. leta I n for II rt t i ca. '. 1 (1911). 35-63. !opics: Sequential prcgra •• ing leyel Keywords: structurEd proqra •• ing

This article introduc~s a prograllaing language whlch is based on Algol 60 tot has greatly enhanced data structurinq and control facilities. It .as designed to facilitate the teaching of progra ••ing and the writing of large progra.s •

.~ Wirt71t N. Wirth. Progra. develop.ent by stepwise Comm. ACM, 14, 4 (Ipril 1971), 221-227.

Topics: Sequential prc~re •• ing leyel 102

Keywords: structuled ~regra ••ing, top-down elaboration, proqraas, data

Woofl?1 ~. Woodqer. On semantic levels in program.ing. Proc. IPIP Congress 71, Ljutljena, Au~uet 1971, FP. Tl-3-79 - TA-3-83. Topics: Sequential FrograaaiDg level Keywords: structured pxogra ••ing

Wrig68 A. H. Wright. The laaage.ent of applications progra•• ing. Froc. I1IP CODgrEss 68, !4inburgh, luquat 1<)68, pp. 414 -4 ,q. Topics: Kanage.ent

Keywor~s: systels inplE.Eotation 'Programming management is probably the .ost neglected of frogramming techtiques: yet, without its proper application, much cf thE value of other, .cre ingeneous and attractive techniquEs is lest. This paper draws on the management experiEncE gainEd in a large ccntract proqraaminq servicp. unit. ••• The disciplines discussed include ••• procedu~e standards, the systea-proqra. interface, documentation stan4ards, progress control •••• ' (au thor)

Wlll f69 w. A. wulf. Perfor.anCE .enitors for • u1 ti - prog ra ••i D9 systp.ms. PIOC. Sl~OPS Second SYlp. on 0teratinq Systems principles, Princetcn, Cetober 1969, pp. 115-181

!opics: Evaluatior, Ada~tation Keywords: analysis, monitoring, dyna.ic taning

Wul f70 W. A. wulf, e·t. a1. BlisE Feference Planual. Co.p. Sci., Dept., Carnegie-Mellon UniY., Pittsburgh. Pa., January 1970. Topics: Sequential pIogra •• ing level

Keywords: sJste.s ~IogIa •• in9 languages

Wulf71a William A. Wulf. rroqra •• inq without the qoto. Proe. IPIP Conqr~ss 71, Lju~lj!Da, lu~ust 1971, ~p. TI-3-A5 - TA-3-88.

~opics: Sequential prc9ra •• ing level

Keywords: go-tc-less proqraa.in 9 lanquaqes. BLISS, structured Frcgra •• ing /"

103 Wulff,t W. A. Wulf, D. B. Fessell and A. N. Haberlllann. BLISS: I language for SystE.S ~rc9ra •• ing. Co... leM, 14, 12 (Dece.ber 1911" lEC-1CJC.

topics: Sequential prcgraaming l~vel

~eyvords: SystEls ~rcgra •• inq language, expression langu~ge, go-to-less lan9u89E, concurrent ezecution

Zurc68 F. w. Zurch~r and E. Randell. Iterative aulti.level modelling -- A .ethcdolo9J for co.puter s!stea design. Proc. IFIP CongrEss 68, Edinburgh, August 1Q6B, pp. 867 -A71. topics: Design methodolo9Y, Design principles Keywords: hierarctical, tcp-dovn, iterative, integrated sim ulation

A methodclogy i~ descritEd, applicable tc the desiqn of toth hardware a[d software, which per.its several descriptions at various lEVEls cf elaboratlcn to e.lst at one time. It i~ suggeEted that the benefits aI;e bettEr underst.anding of systEI ,structure and beha9ior, earier validation, and facilitation of aaintenance. The methodology allows for thE integration of siaulation within the design elabcIaticn ~Iocess.