'CGTM 13A Septemb€'r 1972 A~ A~~CTATEr BIELIOGRAPHY MASTER COP~ C~ 50F;WAR£ ~RCHltECTURE ,DO_NOT REMOVE "illiam E. Fiddle Stanford Iin€ar Accelerat6r Center Cowputaticn Group starford, California A1:stract. In the last fivE years research has been actively carried cut in an attempt to find structuring principles for large scftwat€ systems, d~si9n principles and methodologi~s fel such systems, and tecbniqups and mecha~isms for their efficient and economical irrplpmp.ntrttion. 1his interest has been generated by the hope of overcoming the protlEls stemming fre. the in~erent ccmflp.xity of large soft~at:e systems. This report proposes the name "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: Depart_ent cf computer and r.ommunicaticn Sciences, Ur.iversity of "ichigan, 2076 F rie ze Building. Ann Arbor, Michigan. 2 processing. The need for a "friendly" envi~onment in which the ~ users could carry out their wcrk led to a shift of software research eaphasis to the .ore geceral ao.ain of sy_bol .anipulation, in particular th~ areas of language proc~ssing and operating systeas. Paralleling this research in software, the attention of hardware specialists was initially turnEd to the increase of computing machinery capabilities, Falticulatly speed and size, and the use of the n0wly developed transistor and integrated circuit technologies. It then gradually switched to the development of new machine architectures and organi2ations which were more clcsely allied to the special processing needs encountered in language processing and operatinq systeas. within the area of language pEocessing, the particular topics of progra ••ing languagee and their traDalators haye be•• al.oat fully alienable to soluticn. 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.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages103 Page
-
File Size-