The Design of System for Telecommunications Between Small and Large Computers

Total Page:16

File Type:pdf, Size:1020Kb

The Design of System for Telecommunications Between Small and Large Computers THE DESIGN OF SYSTEM FOR TELECOMMUNICATIONS BETWEEN SMALL AND LARGE COMPUTERS Robin B. John Thesis presented for the Degree of Doctor of Philosophy Faculty of Science, University of Edinburgh November, 1973. 0 m 8 x3 ABSTRACT This thesis describes the development of a data communication system for small computers to enable them to link to large computers. The particular advantages and additional facilities made available to computer users through the use of such a link are described. A detailed description is given of the hardware and software components needed to achieve this link, together with the reasons for choosing the particular techniques employed. The discussions given highlight the problems involved in this type of operation. Some of these problems, such as lack of standardization, are short-term and will be overcome with the natural evolution of computer systems, while others are of a more fundamental nature related to the use of data transmission over long distances. The system was designed to be applicable to a number of different small computers. This has resulted in a system which is easily transferable between machines, through the careful choice of interfaces to other componentso This is seen as a step towards a more flexible and more modular method of system construction whereby complete software systems for arbitrary configurations can be put together using 'off-the--shelf' components already well-developed and tested. This contrasts with the present situation in which whole new systems are developed for a new computer, frequently duplicating systems already developed on other hardware. A detailed description of the factors involved in producing machine-indepezxd.'n, easily-transferable system components is given as a guide to other developments in this direction. It is felt that there is need for a better-engineered approach to the construction of software systems and it is hoped that the work described makes some contribution towards this end. 1 CONTENTS Chapter 1 . • 0 . • . 1 TELECOMMUNICATIONS BETWEEN SMALL AND LARGE COMPUTERS 1.1 Introduction . 1.2 Small computer capabilities . 1 1.3 Central computers ..................3 1.4 Coznmunications requirement .............3 1.5 Summary of developments . 4 1.6 The General System approach . 6 Chapter 2 . 8 USER APPLICATIONS FOR SMALL COMPUTER COMMUNICATION LINKS 2.1 ERCC PDP-8/L . ... 8 2.2 PhysIcs PDP-8 . , , . • • . • . • . 10 2.3 Social Medicine PDP-8........,...... 13 2.4 Computer Science CAD PrOject PDP-7 . • . 16 2.5 IBM 1130 in ABRO and Dept. of Statistics . 19 2.6 ConclusIons • • • • • • • , • • • • • • • • • • . 21 Chapter 3 . S • • S • S • • S • • • 690609409606 so 24 GENERAL COMMUNICATIONS HARDWARE CONSIDERATIONS 3.1 Main features of data communication hardware . 24 3.2 Asynchronous communications adapter . • . • . 26 3.3 Synchronous communations adapter . • . • . • 27 3.4 Telegraphic signalling . • . • . • • . • . 29 3.% 5 Modems . • • . • . • • • . • . 30 3.6 Electrical circuit facilites . • • • . • • , . 33 3.7 Conclusions . • . 0 0 . 0 . • 0 0 0 . • . 9 . 35 Chapter 14 . • . • • . , . 37 SYNCHRONOUS V. ASYNCHRONOUS FOR COMPUTER-COMPUTER COMMUNICATIONS .L Introduction ....................37 14.2 Handling of transmission errors • . • . 38 14 3 Error detection ..................39 14.14 Block-oriented error detection . • . • .. 141 4. 5 Comparisons • • e • • • . • . • . 142 14 .6 Conclusions . • . 143 Chapter 5 . S S • S • • S. • • S S S S • S • S • S • S • S • 1414 LARGE COMPUTER COMMUNICATIONS HARDWARE 5 .1 Introduction • . • . • . 1414 5.2 Communications controllers • • . • . 1414 5.3 IBM synchronous controllers . • . 146 5 5 14 ICL synchronous controller . • . 0 . 147 5.5 Problem of compatibility. 0 . • • • . • . 148 5 .6 Conclusions . • • • . • • . • 149 Chapter 6 • . • • • . • • • . • . 50 INTERFACING TO THE SMALL COMPUTER 6 .1 Introduction • • . • . • • • • . • • 50 6.2 The 'uniform requirement . • . • 50 6.3 Small conmuter input/output interfaces . 52 6.14 PDP-8 i53 6.5 Modular One . .. • . • • . • . • . 56 6.6 ICL bioo • .. • . • . • . • • . 58 6.7 IBM 113O. • . • . • • . • . • . • . 61 iii Chapter 6 . ' . S • • • • • • . • • . 50 INTERFACING TO THE SMALL COMPUTER (cont.) 6.8 Common facilities'of the input/outpxt'interface.. 614 6.9 Generalized interfaâe 'description .'..'. .. 66 6.10 General applicabi].ity............... 67 Chapter SMALL COMPUTER COMMUNICATIONS HARDWARE 7.1 Introduction . , . ,. , . ... . ... 69 7.2 Flexibility requirement . 69 7.3 Basic functional requirements . TO 7,14 Extra functions ' . 9 , * 0,0 . 72 7.5 Preliminary functiona]. specification . 75 7.6 Non—interrupt ncIe of operation'. 77 7,7 Program interface . .. . .'. . 77 7.8 Communications interface specification..'. 82 7.9 Experience of first implementtion. 85 7.10 Improved functional specification . • . 89 7.11 Interface test facility . 91 7.12 Conclusions on small computer. communications 92 hardware Chapter 8.'. • • • •', , 914 SPECIFICATION FOR SYNCHRONOUS COMMUNICATIONS INTERFACE FOR SMALL COMPUTERS 8.1 Basic requirement ................. 914 8.2 Modem interface consierations. 914 8 .3 Program control . 0 . 0 0 0 0 0 0 0 0 0 0 0 0 95 iv 914 Chapter 8 . S S S • • • S S S • I S • I I S I • I S SPECIFICATION FOR SYNCHRONOUS COMMUNICATIONS INTERFACE FOR SMALL COMPUTERS (cont.) 8 . 14 General • • • • • • • • • • • • • • • • • • • • • • 95 6.5 Receive (RX)channel ............... 95 8.6 Modem interface considerations forRX channel . 98 8.7 Transmit (TX) channel . '98 8.8 Modem interface considerations for TX channel • • • 100 8 ,9 Timeout control . , . • . • . '. • . 101 8.10 Interrupt control . .. , • • • • • ISS .101 Chapter 9,. • • • • • 0S ••••• . .102 COMMUNICATIONS SOFTWARE FOR THE SMALL COMPUTER 9.1 Overview . • . .' . • , • • . 102 9.2 ' General requirements. $ . 103 9.3 Package implementation—genera], details. 104 9.4 The user interface • .,............ io6 9.5 The communications hardware interface . • . 112 9.6 The executive interface . e . 119 9.7 Remote host computer interface . • . 120 9.8 Conclusions , , • • , • • • • • • • , • . 123 V Chapter 10 .. a S •S S • • a a s • a a U • a U • • • S S a a • 1214 IMPLEMENTATION DETAILS IN ACTUAL SY87kMS 1091 Summary . .. 1214 10.2 PDP-8 with ERCC communications controller . .. 126 1003 PDP-8 with Data Dynamics 6310 controller . .. 128 io.14 ICL 14100 with ERCC communications controller . • 132 10.5 Modular One with. 1.61 communications knultiplexor. 133 10.6 PDP-11 with DP11 communications controller . 1140 10.7 Conclusions . • . • . .. .1.44 Chapter 11 . • a • • • • • . 1146 IMPLEMENTING THE COMMUNICATIONS SYSTEM ON A NEW SMALL COMPUTER 11.1 Introduction . '. • • • • . .. .. .. .. 1146 11.2 General • . • , . • . .. • •• . .. .• .. • . 1147 11.3 Difficulty of 'lie' testing . .. .. .• .. • 1147 11 .4 User program. • . • . a a • a • a a a • a 1148 115 Communications hardware . • .. .. .. .. .. • . 150 11.6 Communications software . .. .. .. .. .. .. • . 153 11.7 Hardware interfacing routines .. .. .. .. .. .. 173 11,8 User interface routines and executive interface • 177 11.9 Conclusions about transferability . • . 179 Chapter 12 . • . a a • • • • • . • . a a 180 COMMUNICATIONS PROTOCOLS FOR INTER-COMPUTER WORKING 12.1 Introduction . a • • • • . • • ... 180 12.2 General characteristics of protocols . • • 181 12.3 Examination of existing protocols • • . • a • • . 182 vi Chapter 12 . • • • • . .• . 180 COMMUNICATIONS PROTOCOLS FOR INTER-qoPqTER WORKING 12. 14 Applicability of protocols . o • a a a .' . 183 12.5 Efficiency of protocols e j ó • i i a • a j • . 183 12.6 Implementation complexity . ... ..... • . 187 12.7 Half-duplex protocol with one-way data traffic . 187 12.8 Half-duplex with two-way transmission interleaved 196 12.9 Full-duplex with two-way simultaneous traffic..•.. 211 12.10 Conclusions on coxnmijnications protocols ... ... 217 Chapter 13 • . • • . • . .• . • . 220 SYSTEM PROGRAMMING ON SMALL. COMPUTERS WITH HIGH-LEVEL LANGUAGES 13.1 Introduction , 220 13.2 Compilation on a different computer .... .' 222 133 Language facilities — general consideration . 22 13,14 Data elements 13.5 Data structures . • • . 229 13.6 Machine address manipulation . S • S i . 230 13.7 Program structure and statements • . • . • . 232 13.8 Expressions . • • . • . ....... 233 13.9 Conditional statements • • • . • • . • . • 2314 13.10 Programmed 1oops. • . a . 236 13.11 Programmed transfers . • •..•.... .236 13.12 Machine-code . .• . • . • . • • •• • . •. 238 13.13 Routines and functions . • •• •• •• • •. •. 239 13.114 Block stru'otjwe . • • . .• . • .• . • . 2141 13.15 Run-time environment . • . • . • . • • •. 2143 13.16 Conclusions • • • • • • • • • , • • . 244 vii Chapter lii . , . • • , • • • , , , 2147 CONCLUSIONS 114.1 Introduction . • . • . 2147 114.2 Uses of computer telecommunications . • '. '. 2147 114.3 Technical aspects of data communications • .. • . 250 114.14 System construction techniqee . • . 253 114.5 Transferable system components . • .• . 2514 14'.6 Interfaces • . • .• • . • . 256 114.7 Real-tine components . ,. ,• • • . 257 114.8 Use of h±gh-level languages . • . • . 258 114.9 Transferable' hardware . '. '. • . 258 114.10 System construction in the future . ..• . • . • 259 114 .11 Further developments • • . .. • • . .. • . 262 ACKNOWLEDGEMENTS . • . • . • . 2614 REYERENCES............;...... ........... 265 Appendix A Chronology of significant developments, indicating items of work involving other people. Appendix B Other available documents on particular implementations. -1- Chapter 1
Recommended publications
  • Modern Programming Languages CS508 Virtual University of Pakistan
    Modern Programming Languages (CS508) VU Modern Programming Languages CS508 Virtual University of Pakistan Leaders in Education Technology 1 © Copyright Virtual University of Pakistan Modern Programming Languages (CS508) VU TABLE of CONTENTS Course Objectives...........................................................................................................................4 Introduction and Historical Background (Lecture 1-8)..............................................................5 Language Evaluation Criterion.....................................................................................................6 Language Evaluation Criterion...................................................................................................15 An Introduction to SNOBOL (Lecture 9-12).............................................................................32 Ada Programming Language: An Introduction (Lecture 13-17).............................................45 LISP Programming Language: An Introduction (Lecture 18-21)...........................................63 PROLOG - Programming in Logic (Lecture 22-26) .................................................................77 Java Programming Language (Lecture 27-30)..........................................................................92 C# Programming Language (Lecture 31-34) ...........................................................................111 PHP – Personal Home Page PHP: Hypertext Preprocessor (Lecture 35-37)........................129 Modern Programming Languages-JavaScript
    [Show full text]
  • Language-Parametric Methods for Developing
    Gabriël Ditmar Primo Konat was born in The Language-Parametric Methods for Developing Interactive Programming Systems Language-Parametric Methods for Developing Interactive Programming Hague, the Netherlands. In 2009, he received his BSc in Computer Science from the Institute of Ap- Invitation plied Sciences in Rijswijk. In 2012, he received his MSc in Computer Science from Delft University of Technology (TUDelft). From 2012 to 2018, he was Language-Parametric a Ph.D. student with the Programming Languages Methods for Developing group at TUDelft, under supervision of Eelco Viss- Interactive Programming er and Sebastian Erdweg. His work focuses on lan- Systems guage workbenches and incremental build systems. Gabriël Konat [email protected] You are cordially invited to the public defense of my dissertation on Monday, November 18th, 2019 at 3pm. At 2:30pm, I will give a brief presentation summarizing my dissertation. The defense will take place in the Senaatszaal of the Delft University of Technology Auditorium, Mekelweg 5, 2628 CC Delft, the Netherlands Afterwards, there will be a Gabriël Konat Language-Parametric Methods for reception. Developing Interactive Programming Systems Gabriël Konat Propositions accompanying the dissertation Language-Parametric Methods for Developing Interactive Programming Systems by Gabriël Ditmar Primo Konat 1. Language-parametric methods for developing interactive programming sys- tems are feasible and useful. (This dissertation) 2. Compilers of general-purpose languages must be bootstrapped with fixpoint bootstrapping. (This dissertation) 3. Manually implementing an incremental system must be avoided. (This dissertation) 4. Like chemists need lab assistants, computer scientists need software engineers to support them in research, teaching, and application in industry. 5.
    [Show full text]
  • Stan-(X-249-71 December 1971
    S U326 P23-17 AN ANNOTATED BIBLIOGRAPHY ON THE CONSTRUCTION OF COMPILERS . BY BARY W. POLLACK STAN-(X-249-71 DECEMBER 1971 - COMPUTER SCIENCE DEPARTMENT School of Humanities and Sciences STANFORD UNIVERS II-Y An Annotated Bibliography on the Construction of Compilers* 1971 Bary W. Pollack Computer Science Department Stanford University This bibliography is divided into 9 sections: 1. General Information on Compiling Techniques 2. Syntax- and Base-Directed Parsing c 30 Brsing in General 4. Resource Allocation 59 Errors - Detection and Correction 6. Compiler Implementation in General - 79 Details of Compiler Construction 8. Additional Topics 9* Miscellaneous Related References Within each section the entries are alphabetical by author. Keywords describing the entry will be found for each entry set off by pound signs (*#). Some amount of cross-referencing has been done; e.g., entries which fall into Section 3 as well as Section 7 will generally be found in both sections. However, entries will be found listed only under the principle or first author's name. Computing Review citations are given following the annotation when available. "this research was supported by the Atomic Energy Commission, Project ~~-326~23. Available from the Clearinghouse for Federal Scientific and Technical Information, Springfield, Virginia 22151. 0 l/03/72 16:44:58 COMPILER CONSTRUCTION TECHNIQUES PACFl 1, 1 ANNOTATED RTBLIOGRAPHY GENERAL INFORMATION ON COMP?LING TECHNIQOES Abrahams, P, W. Symbol manipulation languages. Advances in Computers, Vol 9 (196R), Sl-111, Academic Press, N. Y. ? languages Ic Anonymous. Philosophies for efficient processor construction. ICC Dull, I, 2 (July W62), 85-89. t processors t CR 4536.
    [Show full text]
  • Writing Cybersecurity Job Descriptions for the Greatest Impact
    Writing Cybersecurity Job Descriptions for the Greatest Impact Keith T. Hall U.S. Department of Homeland Security Welcome Writing Cybersecurity Job Descriptions for the Greatest Impact Disclaimers and Caveats • Content Not Officially Adopted. The content of this briefing is mine personally and does not reflect any position or policy of the United States Government (USG) or of the Department of Homeland Security. • Note on Terminology. Will use USG terminology in this brief (but generally translatable towards Private Sector equivalents) • Job Description Usage. For the purposes of this presentation only, the Job Description for the Position Description (PD) is used synonymously with the Job Opportunity Announcement (JOA). Although there are potential differences, it is not material to the concepts presented today. 3 Key Definitions and Concepts (1 of 2) • What do you want the person to do? • Major Duties and Responsibilities. “A statement of the important, regular, and recurring duties and responsibilities assigned to the position” SOURCE: https://www.opm.gov/policy-data- oversight/classification-qualifications/classifying-general-schedule-positions/classifierhandbook.pdf • Major vs. Minor Duties. “Major duties are those that represent the primary reason for the position's existence, and which govern the qualification requirements. Typically, they occupy most of the employee's time. Minor duties generally occupy a small portion of time, are not the primary purpose for which the position was established, and do not determine qualification requirements” SOURCE: https://www.opm.gov/policy-data- oversight/classification-qualifications/classifying-general-schedule-positions/positionclassificationintro.pdf • Tasks. “Activities an employee performs on a regular basis in order to carry out the functions of the job.” SOURCE: https://www.opm.gov/policy-data-oversight/assessment-and-selection/job-analysis/job_analysis_presentation.pdf 4 Key Definitions and Concepts (2 of 2) • What do you want to see on resumes that qualifies them to do this work? • Competency.
    [Show full text]
  • Comparative Programming Languages CM20253
    We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily
    [Show full text]
  • Compiler Construction
    Compiler construction PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 10 Dec 2011 02:23:02 UTC Contents Articles Introduction 1 Compiler construction 1 Compiler 2 Interpreter 10 History of compiler writing 14 Lexical analysis 22 Lexical analysis 22 Regular expression 26 Regular expression examples 37 Finite-state machine 41 Preprocessor 51 Syntactic analysis 54 Parsing 54 Lookahead 58 Symbol table 61 Abstract syntax 63 Abstract syntax tree 64 Context-free grammar 65 Terminal and nonterminal symbols 77 Left recursion 79 Backus–Naur Form 83 Extended Backus–Naur Form 86 TBNF 91 Top-down parsing 91 Recursive descent parser 93 Tail recursive parser 98 Parsing expression grammar 100 LL parser 106 LR parser 114 Parsing table 123 Simple LR parser 125 Canonical LR parser 127 GLR parser 129 LALR parser 130 Recursive ascent parser 133 Parser combinator 140 Bottom-up parsing 143 Chomsky normal form 148 CYK algorithm 150 Simple precedence grammar 153 Simple precedence parser 154 Operator-precedence grammar 156 Operator-precedence parser 159 Shunting-yard algorithm 163 Chart parser 173 Earley parser 174 The lexer hack 178 Scannerless parsing 180 Semantic analysis 182 Attribute grammar 182 L-attributed grammar 184 LR-attributed grammar 185 S-attributed grammar 185 ECLR-attributed grammar 186 Intermediate language 186 Control flow graph 188 Basic block 190 Call graph 192 Data-flow analysis 195 Use-define chain 201 Live variable analysis 204 Reaching definition 206 Three address
    [Show full text]
  • This Thesis Has Been Submitted in Fulfilment of the Requirements for a Postgraduate Degree (E.G
    This thesis has been submitted in fulfilment of the requirements for a postgraduate degree (e.g. PhD, MPhil, DClinPsychol) at the University of Edinburgh. Please note the following terms and conditions of use: • This work is protected by copyright and other intellectual property rights, which are retained by the thesis author, unless otherwise stated. • A copy can be downloaded for personal non-commercial research or study, without prior permission or charge. • This thesis cannot be reproduced or quoted extensively from without first obtaining permission in writing from the author. • The content must not be changed in any way or sold commercially in any format or medium without the formal permission of the author. • When referring to this work, full bibliographic details including the author, title, awarding institution and date of the thesis must be given. MICROCOMPUTER BASED SIMULATION by Andrew Haining, B.Sc. Doctor of Philosophy University of Edinburgh 1981 { ii ABSTRACT Digital simulation is a useful tool in many scientific areas. Interactive simulation can provide the user with a better appreciation of a problem area. With the introduction of large scale integrated circuits and in particular the advent of the microprocessor, a large amount of computing power is available at low cost. The aim of this project therefore was to investigate the feasibility of producing a minimum cost, easy to use, interactive digital simulation system. A hardware microcomputer system was constructed to test simulation program concepts and an interactive program was designed and developed for this system. By the use of a set of commands and subsequent interactive dialogue, the program allows the user to enter and perform simulation tasks.
    [Show full text]
  • List of Programming Languages
    List of programming languages The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in alphabetical order. Dialects of BASIC, esoteric programming languages, and markup languages are not included. 0–9ABCDEFGHIJKLMNOPQRSTUVWXYZ Contents: See also A A.NET ALGOL W A-0 System Alice A+ Alma-0 ABAP AmbientTalk ABC Amiga E ABC ALGOL AMOS ACC AMPL Accent AngelScript Ace DASL (Distributed Application Apache Pig latin Specification Language) Apex Action! APL ActionScript App Inventor for Android's visual block Actor language Ada AppleScript Adenine APT Agda Arc Agilent VEE ARexx Agora Argus AIMMS Assembly language Aldor AutoHotkey Alef AutoIt ALF AutoLISP / Visual LISP ALGOL 58 Averest ALGOL 60 AWK ALGOL 68 Axum B B BASIC Babbage Batch file (Windows/MS-DOS) Ballerina bc Bash BCPL BeanShell BlooP Bertrand Boo BETA Boomerang BLISS Bosque Blockly C C – ISO/IEC 9899 CLU C-- (C minus minus) CMS-2 C++ (C plus plus) – ISO/IEC 14882 COBOL – ISO/IEC 1989 C* CobolScript – COBOL Scripting language C# (C sharp) – ISO/IEC 23270 Cobra C/AL CoffeeScript Caché ObjectScript ColdFusion C Shell (csh) COMAL Caml Combined Programming Language (CPL) Cayenne COMIT CDuce Common Intermediate Language (CIL) Cecil Common Lisp (also known as CL) Cesil COMPASS Céu Component Pascal Ceylon Constraint Handling Rules (CHR) CFEngine COMTRAN Cg Cool Ch Coq Chapel Coral 66 Charm CorVision CHILL COWSEL CHIP-8 CPL chomski Cryptol ChucK Crystal Cilk Csound CL (IBM) Cuneiform Claire Curl
    [Show full text]
  • Compatible Time-Sharing System (1961-1973) Fiftieth Anniversary
    Compatible Time-Sharing System (1961-1973) Fiftieth Anniversary Commemorative Overview The Compatible Time Sharing System (1961–1973) Fiftieth Anniversary Commemorative Overview The design of the cover, half-title page (reverse side of this page), and main title page mimics the design of the 1963 book The Compatible Time-Sharing System: A Programmer’s Guide from the MIT Press. The Compatible Time Sharing System (1961–1973) Fiftieth Anniversary Commemorative Overview Edited by David Walden and Tom Van Vleck With contributions by Fernando Corbató Marjorie Daggett Robert Daley Peter Denning David Alan Grier Richard Mills Roger Roach Allan Scherr Copyright © 2011 David Walden and Tom Van Vleck All rights reserved. Single copies may be printed for personal use. Write to us at [email protected] for a PDF suitable for two-sided printing of multiple copies for non-profit academic or scholarly use. IEEE Computer Society 2001 L Street N.W., Suite 700 Washington, DC 20036-4928 USA First print edition June 2011 (web revision 03) The web edition at http://www.computer.org/portal/web/volunteercenter/history is being updated from the print edition to correct mistakes and add new information. The change history is on page 50. To Fernando Corbató and his MIT collaborators in creating CTSS Contents Preface . ix Acknowledgments . ix MIT nomenclature and abbreviations . x 1 Early history of CTSS . 1 2 The IBM 7094 and CTSS at MIT . 5 3 Uses . 17 4 Memories and views of CTSS . 21 Fernando Corbató . 21 Marjorie Daggett . 22 Robert Daley . 24 Richard Mills . 26 Tom Van Vleck . 31 Roger Roach .
    [Show full text]
  • Modern Programming Languages
    Modern Programming Languages Introduction and Historical Background Lecture 1-8 1 Course Objectives Thousands of different programming languages have been designed by different people over the last 60 years. The questions that come to mind are: • Why are there so many different programming languages? • How and why they are developed? • What is the intended purpose of a language? • In what ways are they similar? • What are the differences among them? • Why wouldn’t we simply continue to use what we have today? • What kinds of programming languages may be developed in future? We will try to answer some of these questions in this course. In addition, we will discuss the design issues of various languages, design choices and alternatives available, historical context and specific needs, and specific implementation issues. Text Book The main text book for this course is: Concepts of Programming Languages, 6 th Ed. by Robert Sebesta. 2 Reasons to study concepts of Programming Languages The first question is: why should we study programming languages. There are many reasons for that and some of them are enumerated in the following paragraphs. 1. Increased capacity to express programming concepts Study of programming languages helps in increasing the capacity of express programming concepts. Dijkstra has put it as follows: The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities. That is, one is limited in his/her thinking by the tools used to express his/her ideas. Depth at which we can think is influenced by the expressive power of the language.
    [Show full text]
  • How to Call Procedures, Or Second Thoughts on Ackermann's Function
    SOFTWARE-PRACTICE AND EXPERIENCE, VOL. 7, 317-329 (1977) How to Call Procedures, or Second Thoughts on Ackermann’s Function B. A. WICHMANN National Physical Laboratory, Teddington, Middlesex TlVI I OL W,England SUMMARY Various problems have been encountered in using Ackermann’s function to measure the efficiency of procedure calls in System Implementation Languages. Although measurements have been made of some 60 systems, the ones presented here are included only when com- parisons are possible. For conventional machine design, it is possible to draw some con- clusioiis on desirable instruction set features. A surprising result from the analysis is that implementation quality is far more important than the overheads implied by language design. KEY WORDS Procedure call Recursion Efficiency System Implementation Languages INTRODUCTION In the design of System Impletnentation Languages, efficiency is a prime consideration because otherwise programmers will be forccd to use conventional assembly languages. It is well known that procedure calling in conventional high-level languages is relatively expensive, and hence this aspect of System Implementation 1,anguages (SILs) is \rorth special attention. Measurcrnents using Ackermann’s function have been made with this in mind.‘ In this paper comparisons are made between the implementations on the same machine architecture by examination of the machine code produced. Several machine architectures are also compared for their suitability as target machines for recursive languages. The architectures chosen for this study are the IBM 360/370, ICL 1900, DEC PDP11, DECIO, Burroughs stack machines and the CDC Cyber Series. Although other results have been obtained, further analysis is not, in general, worthwhile due to the lack of comparative data on the same architecture.
    [Show full text]
  • Computer Users Society
    DIGITAL EQUIPMENT COMPUTER USERS SOCIETY A STEREOSCOPE DISPLAY FOR ON-LINE MONITORING OF SIMULATED TERMINAL ENGAGEMENTS Psychology Group M.1. T. Li n col n La b 0 ratory, Lexi ngto n , Mass. Thisarticlewas extracted from Technical Note 1965-58 pre­ of computer analysis. pared by Lincoln Laboratory under Electronic Systems Divi­ Moreover, on-I ine analysis has a unique advantage: the sion Contract AF19 (628)-5167. analyst may become an active participant in the process. It describes a stereoscopic, dynamic display of reentry bodies. When it reaches a given point, the program may display rel­ A simulation program on an IBM 7094 generates information evant information, rei inquish control to the analyst, and for the display and feeds it to a PDP-1 computer. The PDP-1 wait for orders. It is not difficult to imagine instances in drives a Type 340 CRT display which is viewed through a which this kind of facility would be of great value, for ex­ spec ial device by a systems analyst. The reasons for this ample, in the developmentofnew procedures of data analysis project are threefold: it is part of a larger effort to evaluate or in the invention of new system doctrine. techniques for on-line control of large computer programs A breadboard computer and display system for on-I ine anal­ that simulate systems and analyze systems data; it is intended ysis of systems is being prepared to test the val idity of these as a test of the feasibil ity of generating on commercial equip­ ideas. No prototype equipment or programs are being de­ ment a display that will give an immediate perception of veloped.
    [Show full text]