cgtm 13a master cop~ - stanford university
TRANSCRIPT
'CGTM 13A Septemb€'r 1972
A~ A~~CTATEr BIELIOGRAPHY C~
50F;WAR£ ~RCHltECTURE
MASTER COP~ ,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 "software architecture" 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: r.ommunicaticn Sciences, Ur.iversity Building. Ann Arbor, Michigan.
Depart_ent cf of "ichigan,
computer and 2076 F rie ze
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. B~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 compilers 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 block 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 basic 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-c<?nt'!ined •• several bibliographies ann art1cles conta1n1nq ExtEns1vE t~tl1oqraph1es are cited (they are all keyworded with the ter. "biblio9raphy~ and should certainly te
" consulted as extensions to this titliography. Edited collections of art icles are cited and illdi~idual articles froll these collections are for the .oat part inaivi4ual1y Entere4. Seye~al articles in the cited collections vere not entered, however, since they vere deemed only marginally pertinent or" their subject matter vas covered by other entries in the bibliographJ.
Two topics are giver only minimal coverage in this bibliography. The area of largE data base structure and management is not covered at all due tc the author's incomplete familiarity with the extensive liter2ture cn the sUbject. Some articles covering the manage.ent of eoftware syste. design and i.plp-mentation have been included in order to indicate the nature and extent of the work in this axea. !he author justifies this ii.ited coverage of the illportant topic of aanageaeDt ty a4w •• ciag the opinion that manage.ent practices are .a11a only if theta is a fall co.prehension of the system being aanaged -- since the structure of the design and implementation groups is influenced by the structure of the software system, and since that structurE is not fully understood, resulting manage.ent principles are r.ct nece~sarily valid. It is veIl known that the influence goes the ether way as well and scae may hold that Jirection of influence tc he aOre iaportant -- it has been the author's experience that, while the use of established management t>ractices 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
.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.
5
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.. •
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 flowcharts to situations activity may take place.
the exteasioD' of iD which parallel
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 describe th~ input accepted state automata.
used to byfiDlte
6
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
7
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 sorvices.
provision of a full 'set of
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.
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 changes which arE, for the automatically.
te .. porary. mdst part,
reversible performed
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.
8
'" , .
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 consi~eraticrs concerning test develcpment wh~n critical perfcrmance may he delineated.
special case
limit.s
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
9
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. A xioma 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 <leveloF sufficiEnt and/or necessary conditicTE for algorithms {usually ones containi[g SOlE parallelism} to terminate or be determinate or the use of thesE descriFtion techniques tc show Aquivalence bet"een programs.
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
10
IV. Design
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.
11
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 specify the external rEquireaents and functional organi2ation of the syste ••
this level the general
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 descriptions still are
at this leye!, the couched in ter.s of
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
12
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 programming language 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.
13
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 compilers, assemblers and interprepreters which aid in their inplem€ntation.
systems and systems
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
14
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_
VI.
,~. nesi I'a blp at t L ibu tes -reflect the behavior cf the structure of ~he systEm. la nguaqp s for desc [i bing the system which reflect the relateo ahove.
thE descriptions cbyiously must sJ~tems but should also reflect the
Therefere there are attributes of design or implementation of a
structuring and deeign principles
P. structured programmirg tarticular attention bas been that the natural,
paiJ to the design cf prcgra.ming languagee so implementation of a system may be carried out in a 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.
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 w it_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. n e s p 0 n sib iIi t Y h i ~ [ arc h y - - 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
and milestones shoul~ te ~Eeched.
B. C entrol.
1. ~ocumentation standards -- a uniform syntax must. tE €statlished so communication can ta~e place aaong the desiqners aft,l so ttat tt.~ wOlkings of may be easily discerT.ed b} the users.
vocabulary and tha t effee ti ve
iapleaentors and the fi na 1 prod uc t
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(Ie t.er min e r1.
TITII. Miscpl1aneous
a price fer the final p~oduct must
16
be
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. Software design 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
A dam68
A k i v71
"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
Duane A. Adams. A computation Model With sequencing. Tech. Fep. CS-l11 (Ph.D. Thesis), Dept., 5 tanford Uni \., Calif., December 196 e.
Topics: Descripticn tecbnigues
Data Flow Co.p. Sci.
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
Fumio Akiyama. An example Froc. IFIF CongrESS 71, ~A-1- 37 - TA- 3-Q,.
of software Ljubljana,
lopics! Validatict, ~anagement
Keywords: debu99ir<;, ccst Esti.atioD
systea August
debu 99in9. 1971, pp.
' ••• 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 system design and impleaentation ddvanced graduate studEnts.
and evaluation of a laboratory course for
~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. A sc 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<Jhput.
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 flowchart 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
Dack!)9
evaluation of opEr~ting and comput~r sYEtems. Research Feport CA-016, Comlagnie International pour l'Inforaatigue, France, 1~71.
~opics: Desigr methodologies
Keywords: iterative
top-dc.n elaboration, integrated siaulation,
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 systems. Report Ne. e€-4f fPh.D. Thesis). Dept. nCLA, calif., Oc tobEr 19 E e.
!opics: Descrifticn techniques
Keyworns: graphs, co.putation
co.puter of Eng.,
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: languages
deb uggi ng, extensible syste., high-leyel
21
Balz71a R. ft. Balzer. Cn the future of Coaputer Prograll Corp., Specification and CrganizatioD.
santa Monica. calif., Aug-ust 1911. 1-622-18PA, Rand
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.
Jars71
Rart61
!opics: Process lEvel
Keyworos: delaYEc binding, co •• unicaticD; aodularity, semaphores, conditicnal P-operation, concurrent processes
H. Barsamiam and A. DeCegarna. Evalua tion of hardvare-firmware-scftware ,t~ade-offs modeling. Proc. AF1PS 1911 SJCC, Vol.
with lIatheaatical 38, I=p. 151-161.
Topics: Ev alu at io Il
Keywords: hardwarE/software interface, analytical
R. S. Harton. A programming art. 16<)-171.
critical review FlOC. APItS 1963
of the state PJeC, '01.
Topics: sequential pro9ra •• ing level
Keywords: languagE design
of 23,
the pp.
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~:
tol~rrtnce,
modulcrity, integrity
{:aralle 1 fault
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: mot1 ul ~r i zation, anapt.ability
hiErarchy, top-cown,
structured bot tom- up.,
progra •• ing, portabl Ii t y,
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 m ling 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 m IJ(~ r 1 q 7 1.
Topics: Cescripticn tEchniques, Co.plexity
Kewyor:ls: lIetrics
maint€rance, growth of systels,
23
complexi ty
'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 providp Jescripticns of the infor.ation flow r~gi3ter-transfer lE~els of co.puting sfste.s.
which and
R~11D71 P. 1\. P(.lll an(l R. A. iichmann. An Algol-like assembly lan(Jlla(}~ for d small comfutEr. fxpf"lrl.E:lncp.. 1, (1q71). 61-72.
Software Practice and
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 both management .implementation m~thoa~, inclu<ling
corsideraticns and a\ailable tools.
Bemefi9t R. ~. Remer. ~erking paper: software ~ystem preiucticn. In Software Engineering, JAIC 'P r u 5S E' 1 s, 1 q 6 9. P P • 16 5 -1 80 •
~opics: Manag€ment
Checklist laur and Scientific
for planning Randell (eds.),
Affairs Div.,
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 Software Transferatility: Proc. ~FIPS 1q6q SJCC. Vel. 34,
for panel discussion on program transferabili ty. 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.
R er nfi6
Topics: sequential prograaaing 1e.e1
Keywords: frograas
auto •• tic
A. ,1. Rernstein. ~nalJsis processinq. IE!! Trans. cn 1Q66), 15'7-163.
aachine
of pr ogr a.s Elec. Ccap ••
for EC-15.
language
parallEl (OCtober
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.
.~ 81at72
Topics: Validatict
Keyworns: debugqirg syste.s; extensible
s. B. Clark ana T. A. Rourke. On ,1. Platny, optilllization siaulation.
of perforaaDce of ti •• -shariag syst.as Co... AC ... 1~, e (June 1972), 1111-420.
the ty
Topics: EvaluatioD
Keywords: Simula t icn, tiae-sh arin 9. opt i.izat ion
Corrado Roh. and GiUsepPE Jacopini. Flow aiagra.s, .achines and languagEs with only tvo foraatioD rales. ACPI. q, 5 (l1ay 1966), 366-371.
Topics: Descripticn techniques
Keywords: flow charts, autoaatic si.plification
Turill9 Co •••
Brad68 Faul T. Arady. writing en omlin. aebugging proqra. for the experipnced user. Cca.. ACP.. 11, 6 (June 1968), 423-427.
~ Rrat6?
Topics: Validation
Keywords: debu99irg. orlinE
H. Dratlltin, H. G. Partin composition and Editing Froc. AF!PS 1q68 fJ(C, Vel.
and E. C. Persteln. with aD on-line
3 3, P p. 13" 9- 1360.
TOpics: Sequential progra •• ing leyel
Proqr •• displ~J.
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, Stanford DiGital ~vst .. 'T'lS IClb, stanford Electronics Lab.,
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.
Bren62
Topics: DeSc[i~ticr techniques
Keywor~s: Adams graph. KarF and ~iller. Luconi. Rodriquez, control ~tructur€s, propErties of coaFutaticD
J. L. Brenner. A Frograms. Comm.
SEt cf latrices for testing AC~, 5, 8 (loquat 1962), q43-4 __ •
'IoFics: ~valuaticr
co.pater
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
Keywords: concurrent processes, hierarchical tarnal, coaaunicaticn
28
sys1:eas,.
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 process creation and dEstruction and. synchronization and co •• unication.
services for inter-process
~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, large-scale syste.s, educaticn
evalu at ion,
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 N c • 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. oaral101 processing. 2('')-~6Q.
the "single-assignment" approach Prcc. A!IPS 191' FJCC, Vol. 39,
to pp.
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!. '" profosa l.
Logical design to improve software debugginq 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.
~hea72
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.
1. F. Cheatham and fen WEgbreit. of automating prcgra •• in~. . 'roc. 40, pp. 11-21.
A laboratory for the stud, APIPS 1912 SJCC, Vol.
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 source-language prc~ra.s. 160-165.
autoa.tic siaplification of CO,.. Ae!, 10. 3 ("arch 1961).
To~ics: sequential prcgramming level
Keywords: siaplificaticn. i.proTe.ent
32
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- 1 0 " 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.
Consfi7
topics: sequential prcgraaming level
Keywor~s: logical analysis, reforutting
Larry L. Constantice ted.). Paragon Press. "ass., 1967.
'ropics: General
concepts in Prograll Design.
Cons68
33
Keyvo~ds: dEsi~n IEthodologies, generalization, .odularitJ, hie~a~chical optimization
s,steas, conventions, yalidatioD,
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.
Larry L. ConstantinE. Centrol of seguence in modular syste.s. Proc. lPIPS 1968 SJCC, 409 -4 14.
and parallelis. '01. 32, pp.
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. Transformations. September 1966.
co.puter Carnegie lnst.
1opics: Descri~ticD techniques
leyvords: directet gra~hl •
Pr09raas and Graph of !ach •• Pittsburgh, Pa.,
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 sequential progra •• ing 1EYE1, laueatioD
orgulzatlon -->
Keywords: lilited reSoUrCES, software labcratory, systal Keywords: bibliograph), general
tarnal, bottoa-up ccnstraction, message switching, loundea .allbozes
proqra •• in9, system concurrent processes,
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<j systea.
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, semaphores
synchron ization,
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.
nani64
~OpiC5: De5cri~ticD techD~ques
Keywords: simulaticn, ~rccEsses, dYDaaic eDyironaent
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.
1eRr67
Topics: Coaputer crganization
Keywords: .icto~rc9ra.aiDg. suryet, annotated bibliography
N. G. deBruijn. AediticDll coa.ents concurrent Froqra •• ing centrol. CO ••• 1967), 137-138.
Topics: Process l£vel
Keywords: synchrcr.i2ation, se.aphores
on a problea in Ie", 10. 3 ("arch
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 behavior in aultiuser ccaputers. CO ••• (September 1968), fC5-E14.
!opics: Evaluatic[
for Ie",
Keywords: .odElin~, statistical, external events
n en n in 972 Peter J. DenniDg. Cn .04e1inq progra. AFIPS 1972 SJCC, Vol. QC. pp. 931-9q4.
Topics: Descripticn techDiques
Keywords: beha~icl, vOlking set aodel
behayior.
console 11, 9
Proc.
'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: ~rotection
CODcurreat processes, sharing, capabilities,
nennis68 Jack B. Dennis. Frograaaing generality, Earallelis., and comput~r architectuIe. trec. IPIP Congress 68, Edinburgh, August 1968, pp. It E4-4CJ2.
Deut71
Dijk65
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.
P. Deutsch. A fle~ible measure.ent tool systems. Proc. IflP CODgtesS 11, Ljubljana, pp. TA-3-7 - TA-~-'~.
~opics: E9aluatic~
Keywords: software aonitcrs
for software August 1971,
'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)
E. W. Dijkstra. SclaticD proqraa.in9 control. Co •••
Topics: Process lEyel
Keywords: synchtoEizatioD
of • probl.. iD CODcurrent ICI, 8, .9 (Sept. 1965). 569.
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
./
considered harmful. 1"7-1"8.
Ae". 1 1, 3 (!larch
39
1968) ,
!opics: Sequential progra •• ing le~el
Keyworos: go-to-1ESS program clarity
la D guage s , control constructs,
Dijk68b E. w. nijkstra. s!ste.. CO •••
ThE structure of the "TH!" .ultiprogramming 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<ing pa{:€r: structured frogramminq. In ~uxton and Randell (eds.), Software Engineering Techniques, NATO Scientific Affairs [iv •• Brussels. 1Q70, pp. 84-88.
Topics: Sequential progra.linq level
Keywords: structuIed progra •• ing, validation, string of pearls, modificatior, adaptation
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, structured programming 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.
n i j k 11 E. W. D i 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 mutual exclusion 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
Language (MPL). tEpt. BE~ort 1-11-PlU (Ph.D. Dept. of Computet Science, State Uniy. of Buffalo, Juo"e 1971.
Topics: Computer crgani2ation
Keywords: miClcftcgram.ing languages
41
The sis) , N elf Yor k,
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
fabr72
Falk64
Falk70
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.
R. S. Fabry. DJna.ic Verification of Operating Decisions. P-14.0/CSRP, Cc.~uter Systems Research Univ. of Calif., Berkeley, Calif., Pebruary 1972.
~opics: Validation
Keywords: fault tcleratcE, verification
Syste. Projec t,
'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~
A. D. Falkoff. E. F. IVErsen and E. H. Sussenguth. description of Sy~tE./360. left Systeas J., l, 3 19A-261.
Topics: tescripticn techniques
Keywords: co.putet hardware, APL language
A formal (1 964) ,
A. D. Palkoff. language. In
Wor king ~a~Er": l!uJ.ton and
Criteria for a system design 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 Com m. A eM, 11, 2 f., E tru a IY 1(68), 17- 113.
Topics: Sequential prc9ra •• ing leye}
Keywords: transla tor vIi tinq syste.s, bibliography
systems.
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: throughput
analytic .odel.
FergR6e H. Earl Ferguson and E. feIoer. source language lEVEl. CO'_. 430-432.
Topics: Validaticn
.ultiproqraaaed
Debugqing AC!, 6, e
systeas (A ugust
sJste.s,
at the 1968) ,
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.
Ferr70
Topics: Seguential ~Icgraaming leyel
K~ywords: asseltlEr structured progra •• iog
languages, regular expr e5S ions,
'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)
D. Ferrari. A bitliog~aFhy Computer Systems ReSEarct Ioc. Berkel~y, Decembet 1910.
~opics: Evaluaticr
Keywords: bitlic~xapby
on performance p- 1. 0 leS B. Un i v.
ev alu at ion. of Ca lif.,
i'is h70 Dav id A. Fisher. ContYol St.ructures for Progra •• ing
Floy67
Languages. Report 1B70-E, Burroughs Corp., Defense Space and Special Systels Grou~, Faoli, Pa., Ray 1910.
Topics: sequential prcgraaming level
Keywords: control structurES
R. W. Floyd. ASEigning meaning symposia in AppliEd Math., AI. 19-12.
Topics: Validation
to ~rogr aa5. Math. Soc.,
Keywords: asserticDs, {redicate calculus
Proc. of 19, (1967),
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
'!:'ole67
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.
James D. Polev. A ~arkovian Jlodel of Michiga n executi ~e ~Jstell. Comm. ACM,
the University of 1 0 ., 9 ( 5 e p t € m t: er
1967), 584-588.
Topics: Ev alu at Ie r.
Keyvords: analytical .odel
Post68 J. M. Poster. ISEErticn~: Programs written without
Fox67
specifying unneceEEary crder. In Michie Ced.,. "achine Intelligence 3, Am. ElsEvier. N. Y., 196R,· pp. 381-391.
~opics: Process lEvel
Keywcrds: FrograBving languages
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 computing languagE. Proc JPIPS 1964 15- 34.
COBC PJCC,
the vol.
Cornell 26. pp.
Topics: Validation
Keywords: autcmatic error detecion, correction, prograa!
automatic error
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 stages, corresponding to the task enyiron.ent of design the activity of posing ar.d sclving de~ign problems. Use the model with tcp-dcwn and bottom-up disciplines discussed. An Exa.fle of thE design of an object using seal-auto8lted deliqn EJste. based OD the .odel
two and
of, is a
is
Pre 169
~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,
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.
Gal n71
Gain 72
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
F. stockton Gaines. CoaFilEt construction In Fustin (ed.), DEbugging Techniques in Prentice-Hall, 1971, pp. 147-148.
Topics: Validation
Keywords: debu99itg techniques
for debugging. Large Systems,
A very brief review of the actual presentation, co.posed of the abstract of EaineE' ~cctoral thesis.
B. stockton Gaines. An cperating ccncept of a supervisor} ccaputer. 1 q7 2), , S 0-15 6.
Topics: computer crganizaticn
Keywords: concu'IIent processes, supervisory service!
systea based Oft the ec... ACB. 15, 3 (March
levels of control,
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.
~ han 71
r;il b7 1
lopics: Sequertial prograa.inq lanquaqes
Keywords: corootirE ccnstxucts
tavern Chan. BetteI techniques for deyelopinq FGRTRAN programs. Prec. 1911 ICII Natm. ~20- 537.
larqe Conf. ,
sacle pp.
Topics: Desi9n principlEs, Isple8entaticn tools
Keywords: systeRf FregIa •• ing languages, communication cotventions, programming
interproqra. conYentions,
precompilers
Philip Gilbert and W. J. Chandler. Interference communicating parallel processes. Coma. Ae". 15. 1972), 427-437.
between 6 (June
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
Glas71
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.
E. t. Glaser, et. ale The LOGOS Project. COlputinq center Feport, Case WesterD Reserve Cleveland, Ohio, Cctober 1971.
Topics: SoftwarE E[gineering laboratory
Jennings uni v.,
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. correctness.
Toward a man-machine system for proving prograa 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, generation, flovchalts
au tOlBa tic
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
Got.110
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.
c. C. Gotlieb and f. H. Beelven. eyaIuatioD teols. In Bu,tOD and Fnqineerinq Techniques, IATO Erussels, 1910, pp. 93-~9.
Topics: Evaluaticr
Keywords: general
Working paper: syste. Randell Ceds.), Software Scientific Affairs DiY.,
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 i.ple.entation.
of tbe area of co.piler
Gris70 Ralph Grishaan. 1970 SJCC, Vol.
!hE debug9in9 system AIIS. ~€,. pp. ~9-64.
Proc. APIPS
Gris71
Topics: Validatiot
Keywords: debuggirq
Ralph Grisbaan. cIiteria Rustin (ed.), IEtUggl~~ Prentice-Hall, 1971, pp.
~opics: ValidaticD
for a de buqgin 9 I angu aqe. In TEchniques in Larg~ Systems, ~i-i5.
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.
Habe72
Topics: Descripticr. tEchniques
Keywords: sequential proceSSES, concurrency, sharing
A. Nico Baber.ann. Frocesses. Co •••
synchronization of co •• unicating 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.
Hara65
Hart67
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.
Frank Rarary. BotErt Z. Merman and structural Models: An Introduction ~irected Graphs. Wiley. H. t •• 1965.
Derwin Cartwriqh t. to the Theory of
Topics: Dp.scri~ticn techniques
Keywords: directed gra~hs
Phillip H. Hart.an and software specifications. FF. 779-790.
Da vid 8. Owens. Hov Prcc. lPIPS 1967 PJCC,
'Iopics: F uncticna 1 le yel
to Vol.
Keywords: descriFtion, syste. externals, yalidation
write 31.
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
Head6]
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.
F. V. Head. Real-t i.e ACM, 6, 7 (July 1'16;),
Ircgra.ming ;j6-~e3.
spec if ications.
!opics: Descri~ticn techniques, Functional leyel
Coma.
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.
Hel166
Topics: P~oceSf lE1el
Keywords: communication, nEtworks
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: val idation
structtred progra •• ing, assertions, top-down
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: itp.ra tive
invariants, top-down, proqra. structure,
'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 <lepenils upon an ace trate formulation of the characterist ies of the programs tc te devElcped at the next stage.' (autho~
\'~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
Hopp69
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.
G. M. Hopper. Fcsiticn paper for Transferability~ Standarization of Proc. AFIPS 1969 SJCC, Vel. 34, pp.
!opics: Portability
Keywords: standarcization
a panel on high- level 60e-6C9.
software languages.
This is an outlire cf a discussion of the aechanis., problems, and benefits of standardization.
Qorn6Q ,J. J. Herning and E. Fandell. structuring coaplex
Horn? 2
Processe~. RC 24SQ, IB~ Besearch Lab., Yorktown Heights, M. Y •• 1969.
~OpiC5: Descri~ticn techniques
Keywords: concurrErt {recesses, levels cf description, cOllmunicat.ion
J. J. Horning and E. R~ndell. Process Report Series 11, Ccmputing lab., Oniy. Tyne. England, 1972.
Topics: Descriptier. techniques
structuring. Tech. of" Newcastle Upon
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
I ve rf) 3
G. G. Iazeolla. ~cdeling and Deco.position Systeas for PerforaaDce Eyaluation. Automatica, UnivErsita di Be.a, Rose, n.d.
Topics: Evaluatic[
Keywords: modeling, hierarchical, analysis
of Infor.ation IDstiteto di
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 ••
K. F.. Iverson. IFM 5 !steas J.,
Progra •• ing notation 2, ( J un E 1 9 (;~), 117.
!opics: De5cri~ticr. techniques
for systeas design.
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 Operating
80-83.
J oh n71
algorithms. Prcc. SIGCES Secon~ Srmp. on Systems Principles, Princeton, October 1969, pp.
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)
John B. Johnston. ~he centour model of processes. Proc. Sy.p. cn ~ata structures Languages, GainEsville, Fla., SIGPLAN (February 1 Q71) , 55-82.
Topics: Descriptict techniques
Keywords: sequential ~rc~raIS, semantic!
block structurEd in Progra •• iD<j Hotices. 6, 2
'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 (Atlas Supervisor, etc Scope 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. ( 1 q 6 8), 12 2- 1 21 •
'Iopics: Valida tioD
B.I.T.,
Keywords: debu99ir:g, gIaFhic display, light pen
8,
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, operating presented. model allows
the prcb 19l of profinq th@ corr@ctn@s5 of an system is dEfined. Then a simple .ode! is
Several elam~les are given to show how this 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.
Karp66
Karp67
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 achieved in thE areas correctness.' (anther)
survey what results have been cf equivalence, termination and
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.
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 properties of algorithas
lIodel, Farallel co.putation,
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 : E val u at i C I
Keywords: "stimults" testing, monitors
Katzen70 Harry Katzen. 1970 SJCC, Vol.
OpErating system structure. 36, pp. 109-118.
Proc. AFIPS
~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.
Kay69
Keef68
Topics: Manage.ent
Keywords: techniques
doculentaticn standards, docu.ent at ion
Fonala n. Kay. ThE manage lEnt and scale software deve]cp.ent projects. Vol. 14, pp. 425-q3J.
Topics: ManagemEnt
orga ni za ti on of la rge Proc. APIPS 1969 SJce,
K~ywords: planning, FeIscnnel, programmers, evaluation
o. D. Keefe. p.va lua tion.
P.iertrehital control prograls for 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 110 n Un i v., P it t s 1 u 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 Debugging technique! in large Syste.s, Prentice-Hall, pp. 17 -40.
(ed.) , 1911,
Topics: Validaticr
Keywords: asserticDs, formal correctness proofs
A review article on ling's compiler 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
Klei70
(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.
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.
Koto68
~opics: Sequential prcgraaaing leyel
Keywords: go-to-lfSS pIograa.iog l.aguagee
v. E. Kotoy and A. s. lacinyani. Cn sequential prograas inte asynchronous Proc. IrIP Conglefs Ee, Edinburgh, 351--157.
transforaation of parallel prograa ••
August 1968, pp.
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 •• (October 1964), 429-436.
J. ACR, 11, II
Topics: Descriptien tEchniques
Keywords: algebtaic, flowchart, auto.atic generation of - flowchart!:.
Kuls6Q H. E. Kulsru,d. HEltEI: An int.eractive est.nsibl. debugging
f( u1s71
system. Proc. SIGCPS SEccna Syap. on O~elatiaq Syateas Principles, Princetcn, Cctober 1969, pp. 105-111.
Topics: Valida tier.
Keywords: debuggir.g
H. F.. Kulsrud. Extending the interactiYe debagging HELFER. In Rus·tin fed. ), Debugging Tech Diq1l8s in Systems, Prentice-Hall, 19i1, pp. 77-91.
Topics: Validatict
leywords: debu99iE9 slstE.S, interactive, extensible
systea Large
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. 196q SJCC, Vol. 34, pp. 543-555.
Topics: sequential prcgraaaing le.81
Keywords: sJsteas p~ogtaa.ing languages
Proe. llIPS
'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.
Lau e6A
Comm. ACM, 12, ~ (teceaber 1969), 67e-684.
10pics: Evaluaticr.
Keywords: analytic modEls
~. E. Lauer. Lab., V ienn a,
Fcrlal Definition of ALGOL 60. Austria, CecE.ter 1968.
Topics: DescriFticn techniques
TR 25.08A. IBft
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 El'ulaticn. Ph.D. 'thesis, Coap. Sci. Dept., Onlv •• Calif., August '912.
Topics: COMFuter e[gani22tion
Use in Stanford
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
machine organizaticn based on parallel activity ie thE DO~ •• organization is deaoDstrated architecture based en multiple, processors and hit-addressable bussing structure.
62
Ada.s' graph .odel in which the feaEibility of the by presentation of an
parallel .icroprograamable memories connected by a
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
!.owe70
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
Thomas C. Lowe. Automatic sEq.entaticn structures based en ccnnectivity and 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
cf cyclic processor
progra. timinq.
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 systems. Proe. IFl! congre~s 71, Ljub11an, pp. 110-117.
Topics: tescripticn tEchniques
Keywords: bibliogra fhy
eel I ec t n e s s , non- axio lIa tic
languages and Augu~t 1971,
approach,
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 instrumentation. J[ Buxtc[ and Engineering TechniqUES, NATO Brussels. 1910, Ff. 106-110.
pap~r: UNIVAC 1108 Randell (eds.), Software Scientific Affairs Div.,
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<luction.
MacNa6A P. C. "acNaughton and I. S. Lee. The virtual aultiprocessor
~ao n6q
- A new comruter architecture. Proc. IPIF Congress 68. Edinburgh, August 1 ~68, ~p. E39-E4J.
Topics: ComputEr crganjzatien
Keywords: multifIccesscr, f'unctional units, communication
stuart E. ~adnick ard JosE~h w. Alsop. A .odular to filA system deEign. Iroc. AFIPS 1969 SJCC, Vol. 1-11.
~opics: Software ~tructuIe, Design principles
Keywords: hierarchical, .odular
approach 3U, pp.
nijkstra's "levels of abstraction" framework is applied to file systems.
P!ann68
65
Ph.D. Thesis. Zohar Manna. Ter.itation of algorithas. Camp. sci. Dept •• Carnegie eellon Oniv., Apr il 1 t)68.
Fit t s bu r 9' h. P a. ,
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<J), llq-127.
Mann/O
'Topi.cs: Validaticr
Zohar Manna. 1erminaticn of prograas .represented interpreted graphs. Proc. AfIPS 1970 SJCC, Vol. 36, E1- 89.
!opics: 'alidatiom, Description techniques
as pp.
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.
r1art.n'
~ea169
'{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
D. F. Martin and G. ~strin. computa~ions and syste,s. If!! EC-16, (February 19£1) ~ ~9-E~.
Experiments Trans. on
'Iopics: DescriFticD ~eChniques, Evaluation !
Keywords: dirEcted: 9ra~b, performance evaluation i
lIode 1 cf
on models of Elec. Comp.,
computation,
George H. Mealy. 'Ite ~ystE. design Second Symp. on CFera iog Systeas October 20-22, 1969, p. 1-1.
cycle. Prac. SIGOPS Principles, Pr inceton,
"1esa70
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.
M. n. ;1psarovic, C. Macko B if~ra rchica 1, M tl tile ve 1, Yor r. , 1 g 7 0 •
'Topics: Complex it y
and Y. Takahara. Systems. A cadellic
Keywords: hierarctical deccmpositio[
Theory Press,
of NE'W
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. analysis of digital co.~~ter programs. (February 1963), 58-63.
Topi cs : Ev alu at ie [
Keywords: testing, generating test data
Sy steaa tic mi sta ke Co lilt. AC". 6, 2
'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 Rustin (ed.), Debrqging 'Iechni.ques Prp.nt.ice-Hall, 1971, ~p. 41-55.
la rge syste ms. In in Large Systeas,
Topics: Sequential ~rcgramming level. Validation
Kevwords: detection
structurEd programming, debuggi no, error
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.
Corom. ACM, 13, L (fel:ruary 1G10), 90-Q4.
Topics: Validaticr
K~ywords: debuqgirg, aetection, autom~tic correction
~orq7Cb ~owa[~ Ice Morgan. An interrupt management infcrmaticn systems. (DeceDlher 1 <370), ; ~ 11-; 3 ~.
1opics: ProceSE IE1el
baseJ Cemm.
org an 1z n. t ion ACM, 13,
Keywords: event-cEiveD rrogramming, intertupts
68
for 12
~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)
:'1 cK e67
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.
w. M. McKeeman. lan9uage Froc •. ~FIPS 1967 FJCC, Vel.
directe~ computer 31, pp. 413-417.
~opic~: Computer crganjzaticn
Keywor~s: language-oriented machine design
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 Proc.
i1cKe'70
n. R. wortman. Tbe XPL cOlfiler generatcr system. J\FIP5 1<)68 F.JCC, Vol. 33. pp. 617-635.
~opics: Sequential fre~ram~ing level
Keyworos: translatcr writing system, syst~1 structur~
w. M. McKeeman, J. J. HOlning and D. B. 'Wortman. r,enerator. Prentice-Hall, Englewood Cliffs, N.
A Compiler J., 1970.
Topics.: Sequent.ial prcc;rallJring level, Pcrtability
• Keywords: t[aD~lator writing systeMS, environment dependercies, compiling techniques
localized
N anu64 Burt Nanus and lecnard Parr. large-scale prograls. Pxoc. 2 3q- 24A.
Keywords: cost Esti.aticn
70
So.e COS~ con~ribu~ors to A PIP 5 1964 SJCC. Vol. 25, pp.
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 scientist is a tteoretician and ~rag.atist, and each cares only other IS area.
clear: the coaputer the software engineer a secondarily about the
~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.
Newm68
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)
William M. Hewman. A syste. for interactiye frogramaing. Prce. APIPS 1968 lJCC, Yol. 32, pp.
graphical 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
!~iev65
13
when a state transition is Elicited by the actions of the user.
J. Nievergelt. en the autc.atic simplification of programs. Comm. ACM, e, E 4June 1965), 366-370.
compu ter
Topics: validat.icr.
Keywords: simplificaticn, equivalence
'We have studied siaplification ty equivalence-preserving for mechanization and (author)
the Froblem of autoaatic program descrihing a number of
transforaations which are suitable yield an Qbvicu~ iaprogeaent.'
Ni~v()q J. Nievergelt and ~. I. Irland. Bounce-and-skip, a
Noe71
technique for ~irecting the flow of control in programs. S ! G P LAN 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)
Jerre D. Noe. A FetIi net model of the etc ACM SIGOPS Worksbcp on system Perforaance H a r va rd Un i •• , A F r i 1 19 i 1, P P • 362- 3' e.
Topics: DescriJ:tien techniques
Keywords: P~tri nEt
A. S. Noetzel. 1971 SJCC, Vol.
the design of a meta-system. 3e, pp. q15-424.
"'opics: E fal ua tier
K~ywords: softwarE .onitor, si.ulation
6400. Proc. Eya lua tion,
Proc. AFIPS
~ 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 algo~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
~lrchhO
Orn ~6 7
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.
William Orchard-Hays. A nEW approacb Froblem. Proc. 1960 We!tern JCC, Vol.
!opics: Co.ple~itl
Keywords: softwarE, handlirg
tc the 17, pp.
prog ra alii ng 345-350.
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. Frogramming system. Coml. AClf, 12, 9 SO~-f!)10.
1 base for a .obile (~ept@lber 1 ~6~) I
~opics: Portatility
s. M. Ornstein, M. J. Stuck! and W. A. Clark. A description of macrcmodules. Proc. lPIPS 1967 ~O, pp. 337-356.
functional SJCC, Vol.
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. Annual Princeton CODf. Ot Info. Sciences Princeton Univ., I!a} 196~, pp. 49-54.
!opics: DescIi~ticn techniques L
Keyworcls: calculus.
timing. asynchronous S!st~.s.
Proc. Third and Systeas,
proposit ional
'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:
syn thesis functicn, ~ytc~ronous systems, si.ulation,
Parn66a D. L. Parnas. A lar.~ua9E for describing synchronous syste.E. COil. ACn, 9, 2 72-76.
Topics: I:escripticn tEchniques
the functions of (l@brOMY 1966 J I
Keywords: synt.hesis
fUDcticn, fJnchronous sJste.s, si.ula tion,
Parn66b D. II. Parna~. ~tate tiible Algol-like language. Prcc. ]91-400.
analysis 1966 ACI1
Topics: Cescriptic[ tEchciques
of programs in Nato. Conf.,
76
an pp.
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 m be 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 ~ A C 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 methodology for ceslutet s]steas. Proc. A!IPS Vol. 14, pp. 739-143.
Topics: tesign II1Ethccolo~iES
and design 1969 SJCC,
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 methodology. Proc. IFIF Ccngress 11, 1Q1 1, Vt:. 'IA-3-:t€ - TA-~-~C.
'Iopics: DescriFticn techniques
Keywords: mini8u. information
aspects of Ljubljana,
design August
'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. with examples.
A technique fer software module specification (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,
T'ati 70
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.
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 Semaphore 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. ), Scientific Affairs Div., Software Engineerirg, NATO
Brussels, 1Q69, IJ:. 1~~-'~E.
!opics: General
Keywords: lIachines
complexity, Education, hieraIchical, virtual
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.
Phi161
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
C. s. E. Phillips. Com pu ter J., 10, 1
Networks for real-tiae f" ay 19E1), 46- 58.
Topics: £escripticn techniques
Keywords: flowcharts
prograaaing.
Proposes an eJtersicn to flowcharting techniques for the description of rea1-ti.e EVEnts such as interrupts.
Pl.°11"67 -I" . M. s. P1 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,
? 0117 1
Po1172
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.
~dry w. Pollack. An Annotated Eibliography on construction of CcmpileIs. STAN-CS-24<J-11, Comp. Dept., Stanford Univ •• Stanford, Calif., Dece.ber 1971.
Topics: Sequential prcqra •• ing level, Validation
the Sci.
Kp.ywords: compilers, translator writing systems, error detection, error CCIrEction, tibliography
Rar y i~. Pollack Fuh! ishers, N.
~e d. ) • ,1., 191~.
Compiler Techniques.
~opics: Sequential Frograaming level, Validation
Auerbach
Keyworits: compilers, translator writing systems, error netection, error ccrrection
A coIl ect ion eli I FOlt ant papers in ~h~ A r~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.
Pra tn Q
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)
TE:.~rrence w. Pratt. A sp.mantics of Frogtals. F13-32f).
hierarchical graFh model Ircc. AFIPS 1969 SJCC, Vol.
Topics: Descripticr techtiques
of the 34, pp.
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: evaiu at,ion
translator writing systells, des cr i pt io n •
?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
lam a7 0
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
c. V. Ramamoorthy and M. Tsucbiya. usp.r-microprogra~matle ccmputers. Proc~ Vol. 36, pp. 165-181.
Topics: computer crgani%ation
K~ywords: miCIC{rcgrammlng
1 "IPS
study 1970
of SJCC,
~an~6g ~. Fandell. Wor~irg FapEr: Towards a methodology of Naur and Bandell (eds.), Scientific Affairs Div.,
com~uter system design. In software EngineEring, 11'10 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
Reit67
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.
Allen Reiter. A J:escurce-allocation scheme for on-line opez:a tion cf a small computer. ~roc. SJCC, vol. 10, pp. 1-7.
Topics: Process lEVEl
Keywords: ~vent-dliven seqUEncing
multi-user AFIPS 1967
!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 pp. systp.m programming. Froc. AFIPS 196q SJCC, Yol. 34,
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 Systems. Ph.D. ThESis, Cc.puter univ., March 1972.
Analysis Science
Topics: Descripticn techniques, Validation
of Superv isor! Dept., Stanford
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
the correctness of certain communicaticn systea.
85
a SystEI in terms cf whether or not Faths and behaviors exist in the
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, synchronization, lEvels cf abstraction, operation
cOllaunication, organization,
30hh70 M. F. Robbins and J. D. Beyer. 1n intetactive coaputer
Rod r67
system using graphical flowchart input. Co.a. ACI1. 13, 2 (February 1Q10), 11~-119.
~opics: Sequential technigues
Keyworiis: composition
flowclarts, interactive
Jorge E. Rooriguez. ~cm fll ta tionE. Ph. D. september 1<167.
A Graph I1cdel ~hesis, Bass. Inst.
Topics: tescripticr. techniques
Description
and iterative
for Pa rallel of Tech •• Boston,
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 cf .:1escriptlcn in teras of the abstractions resul t.
language which can
86
RoseS68 Saul Rosen. r('\(] ui rp men ts. 1U41-1441.
F!arcware Frcc. AFlfS
design 196A
reflecting software PJCC, vol. 33, pp.
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. a nd eva Ina t ion. 1'1'-217..
CcntemForaIY concepts of (I~. ~uIveys, 1, 4
""opics: Computer crganizaticn
?pywor~s: miclcfrcgramming, emulation
• Ie roprograaming (Dece.ber 1969),
Jussf)f1 F. c. :illss~l and G. Fstrin. dnaly~is of FOB!EAN Frogtams. 34~ pp. 723-732.
Measurement based automatic Froe. A!IPS 1969 SJCC, Vol.
~opics: Evaluaticn, te~cIiption tecbniques
Keywords: graph medel, statistics gathering, performance me~surement, opti~j2ation
ryust71 Ranlell Rustin (ed.). Debugging Techniques in Large
~ aa 171
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.
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
Samm71
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)
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.
Siltt!1
2 B, F 1=. 235- 2 39.
~opics: Sequential prc~ral.ing level
KeYVOLOS: decomFilaticr.
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 m s , 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; : V Ii 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.
S~li69
3ha pC 2
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. to ~onitor 05/160. froc. AFIFS '9~O PJCC, '1"-128.
Spy -- A proq ra. Vol. 37. pp.
Topics: F.valuatior
K0ywcr~s: scftwarE moniters
Franz selig. Workir.g pa~Er: Oocuaentaticn standards. Nallr and. nandell (eds.), Software ~ngineering, scientific Affairs [iv., Brussels, 1969, Fp. 209-211.
~opics: Man~g€m€nt
Keywords: f~ccumentaticn standards
In NATO
~ivps a list cf typical entries which should appear in a locunentation foldEI of a ~utlic routine.
;. M. Shapiro. COlputeIs, connectoI ·lesc[' i ption s. n i qe f t of 'I echnolog iea 1 ~at. Conf., Vol. 1. 1962, Fp. 72-13.
Topic~: rescripticr t~chriques
K0ywords: ENF, cCftFuteI ~ystems
systems, and Papers. Proc.
da ta ACM
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.
R A DC - '! R - 6 9- 3 1 3 , v c 1. 1 I , Griffiths Air 'orcE East. R.
I
Fome Air Development I., September 1969.
Topics: cescrifticn techniques
Keywor~5: OCCUIlerce graphs
90
Center,
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.
Sher66
7opics: Evaluaticr
K~yvords: analytical
Philip 8. Sheraan. PICITlle!, I co.puter prograa for flowcharting progJ:als. Co... left. 9. 12 (Dece.ber 1966), ala5-854.
topics: level
Keywords:
DescriFtioD techniques, Sequential progra •• iDg
flewchaIt., auto •• tic deri •• tlOD of progra.
S IGP11
c1escr i pt ions.
SIGPLAN Group. ~roc. of a SIGPLAI sy_posiaa on for sy5t~ms imple.ertaticn. SIGPLAN HoticeE, 6,9 '971) •
TOfics: Sequential prcgraaming level
Keywords: syste.s progla •• ing languages
91
languages (October
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
snow11
directly executes a reasonably traditional language.
B. A. Saow40n. PIIRL: AD interactive E,.t •• prapeatioD aad wali4atioD of atrDctDI' •• tech. Hep. 28, coafuting Laboratory, Uniy. of Upon Tyne, England. Hoveater 1971. Reprinted Not ices, "arch 1912. pp. 9-26.
92
proqraaainq
for the progra ••• levcastle
in SIGPtlR
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: activity
.od nla Ii ty, concurrent processes • kernal,
'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.
s ti 1169
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)
saul stiaIer. performance.
SomE critEria for tile-sharing syste. 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 : V alidat io Ii
Keywords: simulat ion
debugging, co.puter, environ.ent
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.
Tali 71
IFI~ Congress 71, ljubljana. August 1971, pp. TA-2-153 TA- 2- 157.
Topics: ValidaticI
w. ~. Taliaferro. ~cdularity - the key tc systea potential. Soft.a~e -- tractice and !xperience, 1, 245-257.
Topics: Modularity
growth (1 CJ71 ) ,
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.
Tra p6Q
Turi4 q
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.
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.
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 systems to facilitatE detugging. Co ••• 1Q6B), 160-365.
des igninq computing A Cpt. 11 • 5 (K ay
Topics: Validatiom
Keywords: de1:u9~ing, input recoJ:dabili ty, input specificability, asynchrcncus reproducibility of output
verHoe71 Edward W. VerHOEf. Autc.atic program segmentation on boolean ccnnect11itJ. troc. APIPS 1911 SJCC, Vol. pp. 491-495.
Topics: Sequential prc~ra •• ing level
Keywords: aodulari2aticn
based 38,
'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:
Keywords:
1ST AGE2 which is flexible, a tool (author)
Portabili t J
hootstre~. maCIas.
is t he sEcond lEVEl of a bootstrapping sequence easily ilple.ented on any co.pater. It is a
powerful laCIO processor designed specifically as for constructing .achine-indepeDdent software.'
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 coamunication, netwcrts
processes, rescurce sharing,
,"'" Wal166 victor L. Wallace and licbard S. Rosenberg_ models and nu.erical analy!is of co.puter syste. Froc. AFIPS 1 q66 SJ(C, Vel. 2A. pp. 141- 1 48.
Topics: EvaluatioI
Keywords: ha£d~atE, anal)tic
99
Pla-rkoyian behayior.
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
Whee?1 D. J. Whee 1 e r • systeas. Proc. pp. 1: 16,.-I 168.
AEf€5Sing the coaplexity IF1P Cengxees 11. Ljubljana.
!opics: Design ~Iinciple~
Keywords: hiErarcbical systems. modularization, errcr dEtection
100
of co.pater August 1<)71.
co. p le xi t y,
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 manipulation systea wbicb vas built usia9 the constructing the syste. ire .•• odules which iDteract a unifor., pre-deficed interface.
and file idea of through
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
wirt66 N. Wirt.h. A frocessing".
note on "Prcgram structures Co ••• AC~. 9. 5 ("ay 1966), 320.
Topics: Sequential programming level
for
101
parallel
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. computers.
PL360. A prograaming language for the J. A C f!. 15, 1 ( Jan ua r J 1 t) 6 8), 3 7 -1" . 360
Topics: sequential progra.ainq level
Keywo~ds: assEmtlEr languages, structured ~ro9ra •• in9
One of tbe first programming concept~ level.
atteapts to introduce structured at the asse.bler progra •• ing language
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 (1911). 35-63.
Pascal. leta I n for II rt t i ca. '. 1
!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.
Wrig68
Wlll f69
Topics: Sequential FrograaaiDg level
Keywords: structured pxogra •• ing
A. H. Wright. Froc. I1IP 414 -4 ,q.
The laaage.ent of applications CODgrEss 68, !4inburgh, luquat
progra •• ing. 1<)68, pp.
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)
w. A. wulf. Perfor.anCE .enitors for systp.ms. PIOC. Sl~OPS Second SYlp. on principles, Princetcn, Cetober 1969, pp.
!opics: Evaluatior, Ada~tation
• u1 ti - prog ra •• i D9 0teratinq Systems 115-181
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 structured Frcgra •• ing
proqraa.in 9 lanquaqes. BLISS,
/"
Wulff,t W. A. Wulf, D. B. Fessell and A. N. Haberlllann. BLISS:
103
I 12
Zurc68
language for SystE.S ~rc9ra •• ing. Co... leM, 14, (Dece.ber 1911" lEC-1CJC.
topics: Sequential prcgraaming l~vel
~eyvords: SystEls ~rcgra •• inq language, expression langu~ge, go-to-less lan9u89E, concurrent ezecution
F. w. Zurch~r modelling --Proc. IFIP 867 -A71.
and E. Randell. Iterative aulti.level A .ethcdolo9J for co.puter s!stea design.
CongrEss 68, Edinburgh, August 1Q6B, pp.
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.