Research on Automatic Program Generation

Total Page:16

File Type:pdf, Size:1020Kb

Research on Automatic Program Generation University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science January 1974 Research on Automatic Program Generation Jesus A. Ramirez University of Pennsylvania N. Adam Rin University of Pennsylvania Maxine Brown University of Pennsylvania Noah S. Prywes University of Pennsylvania Follow this and additional works at: https://repository.upenn.edu/cis_reports Recommended Citation Jesus A. Ramirez, N. Adam Rin, Maxine Brown, and Noah S. Prywes, "Research on Automatic Program Generation", . January 1974. University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-74-05. This paper is posted at ScholarlyCommons. https://repository.upenn.edu/cis_reports/682 For more information, please contact [email protected]. Research on Automatic Program Generation Abstract Automatic Program Generation Research has been conducted under Contract N00014-67-A-0216-0014, since 1971. The objective of the research has been to provide software generation directly from user specifications. Initially, the research concentrated on a specific application, of generating file conversion programs. A first eporr t on this subject was authored by Diane Pirog Smith, in December 1971, titled, "An Approach to Data Description and Conversion". Subsequently, a software system for automating this function was implemented by Jesus A. Ramirez and described by him in a report titled, "Automatic Generation of data conversion-programs Using A Data Description Language (DIL)". Currently, the objective of the research has been broadened to develop a user language and a software system for automatic generation of business oriented programs. This technical report contains a collection of three papers intended to summarize the results of past research and the direction of current research. The first paper, by Ramirez, Rin and Prywes is a summmary of Dr. Ramirez's report and dissertation cited above. The second paper, titled, "An Overview of a System for Automatic Generation of File Conversion Programs " by. N. Adam Rin and Maxine Brown is intended to provide a more user oriented view based on their experience in utilization of the system developed by Ramirez. There have been many research activities and a large number of papers in this area. The third paper, "Automatic Generation of Software Systems: A Survey," by N. Prywes serves to relate the research underway at the University of Pennsylvania, to the many recent and current activities in this field. It also aims to clearly define short and long term objectives and methodologies. Comments University of Pennsylvania Department of Computer and Information Science Technical Report No. MS- CIS-74-05. This technical report is available at ScholarlyCommons: https://repository.upenn.edu/cis_reports/682 ~IVETSITYOF pmsnm The -re School of Electrical Engineer* Departnrent of Qnputer and Informtion Sciene. Project Supervisor Noah S. Prywes Prepared for the Off ice of Naval Msearch Infonmtim System Arlington, Va. 22217 under Contract N00014-67-A-0216-0014 Project No. NR 049-153 Reproduction in whole or in part is permitted for any pe of ti?e United States Govenunent more Scfiool Rego* # 74-05 (Sorurtcr ~I~msflkalh~01 f111.. body 01 aba#mCI and Indonlng mnolrtim murt k onlend when It10 owrall VOport I* rlrrmllled) t. OR!~IWA?ING A~TIVITV (C-ro uk) a. RLPOIT SECUR~TV CL AS~ICICATIOW Uruverslty of Pennsylvania WCLASSIF'IED The Eibore School of Electrical Engineering ab. CROUP Dept. of Ccmputer Information Sciences, Phila. , Pa. 3 RFPORT TITLC I Jesus A. Rarnirez, N. Adam Rin, Maxine Brawn and Noah S. Prywes I 8 REPORT DATE I?.. TOTAL NO OFPACES I7b. NO. OF IEVS Januaq 1974 103 I U. CMTULCT OR GRANT NO. U. O*lQINA TOR'S REPOlT MUYmCWlSt N00014-67-A-0216-0014 &ore School Report 74-05 b. LIOJCCT NO. I Repruductian in whole or in part is pMnitted for any p.pqmse of the United States Q-t s11. BUP~LPMCNTARVNOTES Mfice of Xaval &search Infonuation Systgns Arlington, Virginia 22217 IS AmsTRAcT Au-tic Program Generation Wearch has been mnducted under contract Na0014-67-A-0216-0014, since 1971. ?he objective of the resear& has been to provide software generation directly fmuser specifications. Initially, the researdn. concentrated on a specific applicatian, of generating file conversion programs. A first report on this sbject was authored oy Diane Pirog Smith, in Decarber 1971, titled, "An -roach to Data Descripti.cn and Cbnversion. " SSsequently a so£Ware systen for autcaMting this function was implemnted by Jesus A. FGdmz and described by him in a report titled, "Autcmtic Generation of IBta Cbnversion-Program Us* A Data Description Language (Dl&) ". Currently, the abjective of the research has been broadened to develop a user language and a software sysbm for autcanatic generation of business oriented programs. This technical repart omtains a mllecction of three papers intended to smrize tne results of past research and the directicn of current research. he first paper, by Ramirez, Rin and Prywes is a sumnary of Dr. Ramirezls report and dissertation cited above. ?he second paper, titled, "An Overview Of A System For ' Au-tic Generatim of File Qnversim Prograns, 'I by N. Adam Rin and Maxine Brcrwn 1 is intended to provide a mre user oriented vim based on their experience in 1 utilization of hesystem developed by Rgnirez. 1 (Continued on next page) I DD pornw ,, ., 1473 (PAGE 1) SF( 0101 -007-sa1i Srcuritv Clas~ification 1-51401 I. Kt* womos mil-, Generators, Prablem Oriented Languages, Syntax Andly~is,Lexical Analysis, Data Description bquage~,~ata Manipulation Language, Conversion Program, Jutmatic Progranrnjng, I/O Utility, -tic Program -ation 13. continued There have been many research activities and a large nuher of pap8 in this area. Ihe thkd paper, "Autcmtic Generation of Software Sysh - A Samey, I' by N. Prywes serves to relate the research undemay at the University of Pennsylvania, to &e myrecpnt and current activities in this field. It also aims to clearly define short and long term abjecti- and mthodoloqies. Automatic Prcgrarn Generation -ear& has been oondmted under contract ~VO3014-67-A-02160014, since 1371. The cb jective of the research has been to provide software generation directly from user specifications. Initially, the research concentrated on a specific application, of generating file anversion programs. A first reprt on this sbject was authored ~y Diane Pirog Smith, in Deerher 1971, titled, "An Approach to Data &scription and Conversion." Sbsequently a software system for aukmating this function was implemented by Jesus A. Ramirez and described by him in a report, titled, "Autmatic Generation of Data Cbnversion-Prograns Using A Data Description Language (ML) .I' Currently, the cbjective of t~eresearch has been ~roadenedto develop a user language and a sofmare system for autmatic generation of business oriented programs. Tnis teamica1 reprt contains a collection of three papers intad& to smizetiLe results of past research and the direction of current research. Tiie first paper, by Ramirez, Rin and Prywes is a sumnary of Dr. Ramirez's report and dissertation cited hve. The s-nd wper, titled, "An Overview Of A System For AutaMtic Generation Of File Conversion Progrmrs ," by N. Adam Rin and Maxine Brown is intended to provide a mre user oriented view based on their experience in utilization of the system developed by Ramirez. fiere have been myresearch activities and a large n* of papers in this area. The tnird paper, "Autolmatic Generation of Software System5 - A Suwey," by S. Pxywes serves to relate the researall undemay at the University of Pennsylvania, to the rmy recent and current activities in this field. It also aims to clearly define short and long term cbjectives and methodologies. TABLE OF (JNIEV' Page I. AUIWX'IC QJER?iTICN 0d DA!I'A ~~~ICNPTr>GWS LEE'JG A EA DESC~O~~7~3~~23, J.A. ~EZ, N.A. m AND N.S. PFWES 1. Introduction 2. Smmcy of Language Processing Facilities Of The UUL/DML Processor 4 3. Infomtion Flm In The DF&/DML Processor 7 3.2 Overview Of ?he DE/D4L Processor 7 3.3 The Syntax Analysis Program Generator (SAPG) 10 3.4 The clca Qmpiler 13 3.5 Data Conversion Processor 18 11. &IOVERVIEW OF A SYmEOR AUIUWI"I'C GENERATIO:iI OF FlLE a3iWEION P#X;RAMS, N. Adam Rin and Maxine Brawn 1. An Overview Of me KIL Processor System 1 B. Rze DRL Language as a Data Descxiptim Language 3 C. Capabilities and Applications of DC& and Its Processor 5 2. Usage and Capabilities Of The DDL Processor An Illustrative Exrmple 7 A. Usage and function of the M& Processor 7 C. Features and Capabilities of the Lanwe and Processor 36 D. Evaluation 39 3. Current =search 41 11. AN OVERVIXW OF A SYSTEM FOR ATJIWATIC ON OF FILE Page 05NVEIZSICEJ PRXWMS, N. Adam Rin and Maxine Bm 4. Other Possible Future Work 41 111, ~~ICG3NERATIOi'J 9F SOFIWAIE SYSTW - A Sm,iJ .S. P~s 1. lbtroduction 1 Part I Current Problem In Software Developznt 2 2. Overview Of Historic and ~03mmicConsiderations 2 3. Analysis Of ?he Software Develo~tProcess 7. Part I1 Future Advances In AutaPMtion Of Software Develo~ano~lt 14 4. AutxmMtic Design and Implementation Of Programs 14 5. Awtic Gaeration Of Nan-Procedural Specifications 25 6. Cbnclusions 31 IffJIvESIWOF PENNSYLvzwXA The &boreSchool of Electrical Ebgineering Department of Wter and Infomation Science Project Supervim Noall S. Prywes January 1974 Prepared for the Office of Naval Msearch Infonratian System ArluagtDn, Va. 22217 under -tract N00014-67-A-0216-0014 Project No. NR 049-153 F&producticm in whole or in part is permitted for any purpose of t%e united States CovermEnt -re SwlReport # 74-05 "AUTOMATIC GENEMTION OF DATA CONVERSION PROGWlS IlSIhTG A DATA DESCRIPTION LANGUAGE" J.A. Ramirez, N.A. Rin and N.S. Prywes The Moore School of Electrical Engineering, Lhiversity of 'Pennsylvania, Philadelphia, Pennsylvania 19174 ABSTRACT : Costs and development times involved in computer software have been exceedingly large.
Recommended publications
  • Advancing Automatic Programming: Regeneration, Meta-Circularity, and Two-Sided Interfaces
    SOFTNET 2019 Advancing Automatic Programming: Regeneration, Meta-circularity, and Two-Sided Interfaces HERWIGMANNAERT NOVEMBER 2 7 , 2 0 1 9 • Automatic Programming • Toward Automatic Regeneration • Creating Meta-Circular Regeneration • On Meta-Programming Interfaces ADVANCING AUTOMATIC PROGRAMMING • Concluding Facts and Thoughts Overview • Questions and Discussion • Automatic Programming • Concept and Trends • Remaining Challenges • Toward Automatic Regeneration ADVANCING AUTOMATIC PROGRAMMING • Creating Meta-Circular Regeneration • On Meta-Programming Interfaces Overview • Concluding Facts and Thoughts • Questions and Discussion Automatic Programming • Automatic programming: • The act of automatically generating source code from a model or template • Sometimes distinguished from code generation, as performed by a compiler • Has always been a euphemism for programming in a higher-level language than was then available to the programmer [David Parnas] • Also referred to a generative or meta-programming • To manufacture software components in an automated way • It is as old as programming itself: System.out.println(“Hello world.”); System.out.println(“System.out.println(\“Hello world.\”);”); The Need for Automatic Programming • Goal is and has always been to improve programmer productivity • In general, to manufacture software components in an automated way, in the same way as automation in the industrial revolution, would: • Increase programming productivity • Consolidate programming knowledge • Eliminate human programming errors • Such
    [Show full text]
  • Turing's Influence on Programming — Book Extract from “The Dawn of Software Engineering: from Turing to Dijkstra”
    Turing's Influence on Programming | Book extract from \The Dawn of Software Engineering: from Turing to Dijkstra" Edgar G. Daylight∗ Eindhoven University of Technology, The Netherlands [email protected] Abstract Turing's involvement with computer building was popularized in the 1970s and later. Most notable are the books by Brian Randell (1973), Andrew Hodges (1983), and Martin Davis (2000). A central question is whether John von Neumann was influenced by Turing's 1936 paper when he helped build the EDVAC machine, even though he never cited Turing's work. This question remains unsettled up till this day. As remarked by Charles Petzold, one standard history barely mentions Turing, while the other, written by a logician, makes Turing a key player. Contrast these observations then with the fact that Turing's 1936 paper was cited and heavily discussed in 1959 among computer programmers. In 1966, the first Turing award was given to a programmer, not a computer builder, as were several subsequent Turing awards. An historical investigation of Turing's influence on computing, presented here, shows that Turing's 1936 notion of universality became increasingly relevant among programmers during the 1950s. The central thesis of this paper states that Turing's in- fluence was felt more in programming after his death than in computer building during the 1940s. 1 Introduction Many people today are led to believe that Turing is the father of the computer, the father of our digital society, as also the following praise for Martin Davis's bestseller The Universal Computer: The Road from Leibniz to Turing1 suggests: At last, a book about the origin of the computer that goes to the heart of the story: the human struggle for logic and truth.
    [Show full text]
  • Model Based Software Development: Issues & Challenges
    Model Based Software Development: Issues & Challenges N Md Jubair Basha 1, Salman Abdul Moiz 2 & Mohammed Rizwanullah 3 1&3 IT Department, Muffakham Jah College of Engineering & Technology, Hyderabad, India 2IT Department, MVSR Engineering College, Hyderabad, India E-mail : [email protected] 1, [email protected] 2, [email protected] 3 Abstract - One of the goals of software design is to model a system in such a way that it is easily understandable . Nowadays the tendency for software development is changing from manual coding to automatic code generation; it is becoming model-based. This is a response to the software crisis, in which the cost of hardware has decreased and conversely the cost of software development has increased sharply. The methodologies that allowed this change are model-based, thus relieving the human from detailed coding. Still there is a long way to achieve this goal, but work is being done worldwide to achieve this objective. This paper presents the drastic changes related to modeling and important challenging issues and techniques that recur in MBSD. Keywords - model based software; domain engineering; domain specificity; transformations. I. INTRODUCTION domain engineering and application. The system described by a model may or may not exist at the time Model is an abstraction of some aspect of a system. the model is created. Models are created to serve Model-based software and system design is based on the particular purposes, for example, to present a human end-to-end use of formal, composable and manipulable understandable description of some aspect of a system models in the product life-cycle.
    [Show full text]
  • E.W. Dijkstra Archive: on the Cruelty of Really Teaching Computing Science
    On the cruelty of really teaching computing science Edsger W. Dijkstra. (EWD1036) http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1036.PDF The second part of this talk pursues some of the scientific and educational consequences of the assumption that computers represent a radical novelty. In order to give this assumption clear contents, we have to be much more precise as to what we mean in this context by the adjective "radical". We shall do so in the first part of this talk, in which we shall furthermore supply evidence in support of our assumption. The usual way in which we plan today for tomorrow is in yesterday’s vocabulary. We do so, because we try to get away with the concepts we are familiar with and that have acquired their meanings in our past experience. Of course, the words and the concepts don’t quite fit because our future differs from our past, but then we stretch them a little bit. Linguists are quite familiar with the phenomenon that the meanings of words evolve over time, but also know that this is a slow and gradual process. It is the most common way of trying to cope with novelty: by means of metaphors and analogies we try to link the new to the old, the novel to the familiar. Under sufficiently slow and gradual change, it works reasonably well; in the case of a sharp discontinuity, however, the method breaks down: though we may glorify it with the name "common sense", our past experience is no longer relevant, the analogies become too shallow, and the metaphors become more misleading than illuminating.
    [Show full text]
  • Taxonomies of Visual Programming and Program Visualization
    Taxonomies of Visual Programming and Program Visualization Brad A. Myers September 20, 1989 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213-3890 [email protected] (412) 268-5150 The research described in this paper was partially funded by the National Science and Engineering Research Council (NSERC) of Canada while I was at the Computer Systems Research Institute, Univer- sity of Toronto, and partially by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 4976 under contract F33615-87-C-1499 and monitored by the Avionics Laboratory, Air Force Wright Aeronautical Laboratories, Aeronautical Systems Division (AFSC), Wright-Patterson AFB, OH 45433-6543. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the of®cial policies, either expressed or implied, of the Defense Advanced Research Projects Agency of the US Government. This paper is an updated version of [4] and [5]. Part of the work for this article was performed while the author was at the University of Toronto in Toronto, Ontario, Canada. Taxonomies of Visual Programming and Program Visualization Brad A. Myers ABSTRACT There has been a great interest recently in systems that use graphics to aid in the programming, debugging, and understanding of computer systems. The terms ``Visual Programming'' and ``Program Visualization'' have been applied to these systems. This paper attempts to provide more meaning to these terms by giving precise de®nitions, and then surveys a number of sys- tems that can be classi®ed as providing Visual Programming or Program Visualization. These systems are organized by classifying them into three different taxonomies.
    [Show full text]
  • The Paradigms of Programming
    The Paradigms of Programming Robert W Floyd Stanford University Today I want to talk about the paradigms of programming, how they affect our success as designers of computer programs, how they should be taught, and how they should be embodied in our programming languages. A familiar example of a paradigm of programming is the technique of structured programming, which appears to be the dominant paradigm in most current treatments of programming methodology. Structured programming, as formulated by Dijkstra [6], Wirth [27,29], and Parnas [21], among others,. consists of two phases. In the first phase, that of top-down design, or stepwise refinement, the problem is decomposed into a very small number of simpler subproblems. In programming the solution of simultaneous linear equations, say, the first level of decomposition would be into a stage of triangularizing the equations and a following stage of back-substitution in the triangularized system. This gradual decomposition is continued until the subproblems that arise are simple enough to cope with directly. In the simultaneous equation example, the back substitution process would be further decomposed as a backwards iteration of a process which finds and stores the value of the ith variable from the ith equation. Yet further decomposition would yield a fully detailed algorithm. The second phase of the structured· programming paradigm entails working upward from the concrete objects and functions of the underlying machine to the more abstract objects and functions used throughout the modules produced by the top-down design. In the linear equation example, if the coefficients of the equations are rational functions of one variable, we might first design a multiple-precision arithmetic representation Robert W Floyd, Turing Award Lecture, 1978: "The Paradigms of Programming," Communications of the ACM, VoI.22:8, August 1979, pp.455-460.
    [Show full text]
  • Genetic Programming
    Genetic Programming James McDermott and Una-May O'Reilly Evolutionary Design and Optimization Group, Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, Massachusetts, USA. fjmmcd, [email protected] March 29, 2012 2 Contents 1 Genetic Programming 5 1.1 Introduction . .5 1.2 History . .6 1.3 Taxonomy: Upward and Downward from GP . .8 1.3.1 Upward . .8 1.3.2 Downward . .9 1.4 Well Suited Domains and Noteworthy Applications of GP . 14 1.4.1 Symbolic regression . 14 1.4.2 GP and Machine Learning . 15 1.4.3 Software Engineering . 15 1.4.4 Art, Music, and Design . 17 1.5 Research topics . 18 1.5.1 Bloat . 18 1.5.2 GP Theory . 19 1.5.3 Modularity . 21 1.5.4 Open-ended GP . 22 1.6 Practicalities . 22 1.6.1 Conferences and Journals . 22 1.6.2 Software . 23 1.6.3 Resources and Further Reading . 23 A Notes 37 A.1 Sources . 37 A.2 Frank's advice . 38 A.3 Length . 38 3 4 Chapter 1 Genetic Programming Genetic programming is the subset of evolutionary computation in which the aim is to create an executable program. It is an exciting field with many applications, some immediate and practical, others long-term and visionary. In this chapter we provide a brief history of the ideas of genetic programming. We give a taxonomy of approaches and place genetic programming in a broader taxonomy of artificial intelligence. We outline some hot topics of research and point to successful applications.
    [Show full text]
  • ED027743.Pdf
    DOCUMENT RESUME ED 027 743 EM 007 134 By-Fasana, Paul J., Ed.; Shank, Russell, Ed. Tutorial on Generalized Programming Language s and Systems. Instructor Edition. American Society for Information Science, Washington, D.C. Spons Agency-National Science Foundation, Washington, D.C. Pub Date Jul 68 Grant- F -NSF -GN -657 Note-65p.; Manual based on materials prepared and presented by Thomas K. Burgess and others at the Annual Convention of the American Society for Information Science (New York, October 22-26, 1967) EDRS Price MF-$0.50 HC-$3.35 Descriptors-*Computer Science, *Computer Science Education, Information Retrieval, Information Storage, *Manuals Identifiers-COBOL, FORTRAN, PL I, SNOBOL This instructor's manual is a comparative analysis and review of the various computer programing languagescurrentlyavailable andtheircapabilitiesfor performing text manipulation, information storage, and data retrieval tasks. Based on materials presented at the 1967 Convention of the American Society for Information Science,themanualdescribes FORTRAN, a language designedprimarilyfor mathematicalcomputation;SNOBOL, alist-processinglanguagedesignedfor information retrieval application; COBOL, a business oriented language; and PL/L a new language incorporating many of the desirable features of FORTRAN andCOBOL but as yet implemented only for the IBM 360 computer system. (TI) U.S. DEPARTMENT OF HEALTH, EDUCATION & WELFARE OFFICE OF EDUCATION Pek THIS DOCUMENT HAS BEEN REPRODUCED EXACTLY AS RECEIVED FROM THE N. PERSON OR ORGANIZATION ORIGINATING IT.POINTS Of VIEW OR OPINIONS rJ STATED DO NOT NECESSARILY REPRESENT OFFICIAL OFFICE OF EDUCATION TUTORIAL ON POSITION OR POLICY. GENERALIZED PROGRAMMING LANGUAGES AND SYSTEMS Instructor Edition. Edited by Paul J. Fasana Columbia University Libraries New York, N. Y. and Russell Shank The Smithsonian Institution Washington, D.
    [Show full text]
  • Programming in America in the 1950S- Some Personal Impressions
    A HISTORY OF COMPUTING IN THE TWENTIETH CENTURY Programming in America in the 1950s- Some Personal Impressions * JOHN BACKUS 1. Introduction The subject of software history is a complex one in which authoritative information is scarce. Furthermore, it is difficult for anyone who has been an active participant to give an unbiased assessment of his area of interest. Thus, one can find accounts of early software development that strive to ap- pear objective, and yet the importance and priority claims of the author's own work emerge rather favorably while rival efforts fare less well. Therefore, rather than do an injustice to much important work in an at- tempt to cover the whole field, I offer some definitely biased impressions and observations from my own experience in the 1950s. L 2. Programmers versus "Automatic Calculators" Programming in the early 1950s was really fun. Much of its pleasure re- sulted from the absurd difficulties that "automatic calculators" created for their would-be users and the challenge this presented. The programmer had to be a resourceful inventor to adapt his problem to the idiosyncrasies of the computer: He had to fit his program and data into a tiny store, and overcome bizarre difficulties in getting information in and out of it, all while using a limited and often peculiar set of instructions. He had to employ every trick 126 JOHN BACKUS he could think of to make a program run at a speed that would justify the large cost of running it. And he had to do all of this by his own ingenuity, for the only information he had was a problem and a machine manual.
    [Show full text]
  • Formalization and Automatic Derivation of Code Generators
    CMU-CS-78-11S Formalization and Automatic Derivation of Code Generators R. G. G. Cattell April t 978 Department of Computer Science Carnegie-Mellon University Pittsburgh, Pennsylvania 15213 Submitted to Carnegie-Mellon University in partial fulfillment of the requirements for the degree of Doctor of Philosophy. This work was supported in part by the Advanced Research Projects Agency of the Office of the Secretary of Defense under contract number F44620-73-C-0074 and is monitored by the Air Force Office of Scientific Research. Abstract This work is concerned with automatic derivation of code generators, lwhich translate a parse-tree-like representation of programs into sequences of instructions for a computer defined by a machine description. In pursuing this goal, the following are presented: (1) a model of machines and a notation for their description (2) a model of code generation, and its use in optimizing compilers. (3) an axiom system of tree equivalences, and an algorithm for derivation of translators based on tree transformations (this is the main work of the thesis) The algorithms and representations are implemented to demonstrate their practicality as a means for generation of code generators. Acknowledgements I'd like to thank Bill Wulf, Mario Barbacci, and Allen Newell, who served as my advisors at various times during my stay at ClvlU. They also served on my thesis commitee, along with Alice Parker and Joe Newcomer; I am grateful for all of their comments. Special thanks go to John Oakley and Steve Saunders, for many interesting discussions on this thesis and on other topics. I'd al.,.,o like to thank Hans Berliner, Bill Brantley, Steve Crocker_ Kitty Fisher, John Gaschnig, Steve Hobbs, Dave Jefferson, Bruce I_everett, Bruce Schatz, and Nori Suzuki, who contributed to this work in various ways.
    [Show full text]
  • The History of the ALGOL Effort
    Technische Universiteit Eindhoven Department of Mathematics and Computer Science The History of the ALGOL Effort by HT de Beer supervisors: C. Hemerik L.M.M. Royakkers Eindhoven, August 2006 Abstract This report studies the importancy of the ALGOL effort for computer science. Therefore the history of the ALGOL effort is told, starting with the compu- tational context of the 1950s when the ALGOL effort was initiated. Second, the development from IAL to ALGOL 60 and the role the BNF played in this development are discussed. Third, the translation of ALGOL 60 and the establishment of the scientific field of translator writing are treated. Finally, the period of ALGOL 60 maintenance and the subsequent period of creating a successor to ALGOL 60 are described. ii Preface This history on the ALGOL effort was written as a Master thesis in Com- puter Science and Engineering (Technische Informatica) at the Eindhoven University of Technology, the Netherlands. iii Contents Abstract ii Preface iii Contents iv 0 Introduction 1 0.0 On the sources used ........................ 2 0.1 My own perspective ........................ 3 0.2 The ALGOL effort: a definition .................. 4 0.3 Notes ................................ 4 1 Creation 5 1.0 The start of the ALGOL effort ................... 5 1.1 The need for a universal algorithmic language ........... 7 1.1.0 The American field of computing ............. 7 1.1.1 The European field of computing ............. 9 1.1.2 The difference between Europe and the USA and the need for universalism ...................... 11 1.2 Why was IAL chosen over other algorithmic languages? ..... 11 1.2.0 IT ............................
    [Show full text]
  • Robert M- Ba)Zer USC Information Sciences Institute 4676 Admiralty Way Marina Del Rey, California 9C291
    Session 18 Automatic Programming A GLOBAL VIEW OF AUTOMATIC PROGRAMMING Robert M- Ba)zer USC Information Sciences Institute 4676 Admiralty Way Marina del Rey, California 9C291 Abstract into this domain and, In fact, the term "automatic programming itself was applied to This paper presents a framework for early compiler systems during the 1950s. characterizing automatic programming systems In terms of how a task Is communicated to the What is needed, therefore Is to either system, the method and time at which the appropriately restrict the definition of system acquires the knowledge to perform the automatic programming, or to provide a set of task, and the characteristics of the resulting criteria used for measuring the acceptability program to perform that task. Jt describes or performance of an automatic programming one approach In which both tasks and knowledge system. Such a measure of system merit is about the task domain are stated in natural extremely hard to arrive at but would contain language In the terms of that domain. All the following man, machine, and system knowledge of computer science necessary to applicability components: Implement the task Is Internalized Inside the system. The efficiency of the resulting program; Preface and Acknowledgement The amount of computer This paper represents the author's resources expended In arriving at persona I vIew of a globaI description of that program; Automatic Programming. This view resulted from the author's dlscussions wlth and The elapsed time used in suggestions from numerous colleagues on this arriving at the resulting program; area for which he Is deeply indebted. The amount of effort expended This paper Is a condensation of this by the user in specifying the task; view, taken from a larger work [1] which attempts to structure the field on the The reliability and ruggedness conceptualization expressed here.
    [Show full text]