Tony Brooker and the Atlas Compiler Compiler

Total Page:16

File Type:pdf, Size:1020Kb

Tony Brooker and the Atlas Compiler Compiler Tony Brooker and the Atlas Compiler Compiler. Simon Lavington and many others. [email protected] February 2014, and as revised April 2016. Introduction and acknowledgements. Of all the software associated with the Ferranti Atlas computer, two systems were destined to be remembered as landmarks. One was the Supervisor, which was the first multi- tasking, multi-user operating system. The other was the Compiler Compiler which, when provided with a syntactic and semantic description of a programming language, would automatically generate a compiler for that language. Both the Supervisor and the Compiler Compiler (CC) were conceived and developed at the University of Manchester between about 1960 to 1964, in the spirit of making a high-performance computer more efficient and user-friendly. The Compiler Compiler was the idea of R A (Tony) Brooker. This article begins by describing the pre-history of the CC and then goes on to discuss its implementation and use on Atlas. We try to capture the spirit of the time by including an account of the practical difficulties with which the researchers had to deal and the comings and goings of compiler team members. The wider CC picture is then briefly described. Finally there is a substantial technical Appendix, specially written by Tony Brooker, which describes the CC methodology and gives Tony’s comments on contemporary research. Unless otherwise stated, all the quotes in the main text come from Tony Brooker – see [1] in the list of References given at the end (page 26 and following). One of the aims of this article is to record personal views and the background information that never gets into the formal published papers. Many ex-Atlas people have contributed their memories. Besides Tony Brooker himself, particular thanks are due to John Clegg, Robin Kerr and Iain MacCallum. Alas Derrick Morris and Jeff Rohl, two other members of the original joint Ferranti/University compiler team at Manchester, are no longer with us. Several (non-Manchester) Atlas software implementers, particularly George Coulouris, Bob Hopgood, Ian Pyle and Dik Leatherdale, have also been most helpful in illuminating the wider CC picture. 1. Pre-history. The Compiler Compiler was conceived by Tony Brooker, who had arrived at Manchester in October 1951. The Ferranti Mark I had been delivered to the University in February of that year and Tony’s job, he recalls, “was to make it useable”. When he arrived, the Mark I programming system was “extremely neat and very clever but pretty meaningless and very unfriendly”. Programs had to be written in ‘backwards binary’ as 5-track teleprinter characters, with guidance from a manual written by Alan Turing that was full of minor errors. 1 An obvious improvement would have been to develop some sort of symbolic assembler for the Mark I, but Tony looked deeper. Whilst helping the scientific and engineering users with their problem-solving he became aware that two fundamental issues were causing difficulties even for experienced programmers: firstly, the need to scale numerical calculations involving real quantities; secondly, the need for memory-management between the small but fast primary store and the larger but slower drum backing store. The scaling issue could be solved by implementing a library of interpretive routines for floating-point arithmetic – so long as the invoking of these routines was made easy. The second issue could be eased by providing systems software which gave the end-user the impression of a one-level store – again, so long as the user was treated gently. Tony’s answer was Mark I Autocode, which allowed arithmetic expressions to be written down directly using named integer and real variables without the user being aware of where those variables were stored. The one-level store could be implemented in a balanced way on the Mark I because the time to transfer a block of information from the drum was approximately the same as the time taken by a software-implemented floating- point operation running in the fast store. For the Mark I users of the day, floating-point calculations dominated their problem- solving. Tony’s autocode pre-allocated some alphabetic symbols {r, s, t, … z} to real variables and other symbols {i, j, k, ..} to integers. A library of standard functions and organisational routines for printing, etc., was permanently stored on the Mark I’s drum. When running Autocode programs, 128 tracks on the drum were reserved for instructions and 128 tracks for variables – which was adequate for all but the most ambitious problem- solving at the time [ref. 2]. The autocode system was released in March 1954. Whilst Mark I Autocode is now recognised as one of the earliest high-level languages, its benefits to end-users at the time were perhaps more organisational than linguistic. The next Manchester computer, the Ferranti Mercury, had floating-point hardware but the memory-management problems were still present. By 1958 Tony had developed Mercury Autocode, which extended the linguistic richness of Mark I Autocode whilst failing to provide a general solution to the problem of Mercury’s two levels of storage (core and drum). Tony later recalled that “In a way I missed out... I introduced the idea of chapters where the programmer would break his huge programme up into chapters, and usually the chapter was sufficient …[Only one chapter could be in the main memory at a time and it was the programmer’s responsibility to transfer control between the chapters]. As regards numbers... I’ve forgotten offhand how I solved the problem of numbers. Well I didn’t really solve it”. By this time (1958) the MUSE project, subsequently called Atlas, was under way at Manchester University and Tony Brooker was placed in charge of software provision. The engineers were in the process of solving the problem of the Atlas one-level store via hardware page-address registers and the drum learning program – though Tony had certainly contributed to the discussions – see [ref. 3]. Tony later recalled that “the only problem left for me to solve” was what high-level language(s) should be implemented for Atlas. “I suppose I’ll have to come up with some, some kind of autocode for the Atlas”, he said. Fortran was of course a contender, though Tony added somewhat dismissively that he “wouldn’t have called Fortran a high level language”. 2 At this time there were proposals in America and Europe for a universal programming language, initially known as International Algorithmic Language, IAL. Detailed specifications were put forward by the ACM and also by GAMM (Gesellschaft für Angewandte Mathematik und Mechanik). It was decided to hold a joint meeting to combine the two proposals. The meeting took place from 27 th May to 2nd June 1958 in Zurich, as a result of which ALGOL 58 was defined. Historians now view the Zurich meeting as seminal. Tony recalls: “I never received any invitation to the conference at Zurich and I had no contact whatever with the authors of the 1958 report…. By that time I was resigned to ploughing my own furrow. Although I had attended BCS conferences I was really quite naive about overseas activities”. When he read the Zurich report, Tony thought that ALGOL 58 was “an incredibly inefficient language in some ways” but he nevertheless considered devising a strict subset of ALGOL 58 for Atlas. Robin Kerr, who implemented an Atlas compiler for Algol 60 several years later, thinks [ref. 4] that Tony was initially put off by the difficulty of writing a one-pass compiler for ALGOL 58. Tony himself says his trouble lay in “finding a strict subset [of Algol 58] which was at the same time a useful programming tool”. In the end, of course, Tony designed and implemented Atlas Autocode which was “perfectly usable and it had recursion …the only thing wrong with the Atlas Autocode was that it wasn’t ALGOL 60”. Back in 1958, Tony put off the decision about choice of languages for Atlas. “I thought, well, before jumping in, why don’t I think about a system for writing any kind of compiler, so that whatever turns out to be popular, I can do it”. Tony started by considering the question of how one could describe autocodes in general. Thus was born the idea of the Compiler Compiler. Tony and his former research student Derrick Morris began to publish relevant CC research from 1960 onwards – see [refs. 5 to 9] – long before an operational CC system had been implemented. Their first paper [ref. 5] used the phrase “an autocode to write autocodes”. Tony’s first UK publication with the words Compiler Compiler in the title did not appear until 1963 [ref. 11]. Shortly before this Saul Rosen, an enthusiast at Purdue University, “decided to rewrite my account in terms that Americans could understand”. Rosen’s paper, which drew attention to what Rosen called the “elegance and generality” of the CC, appeared in a journal that was much more widely-read [ref. 11]. Henceforth the by-line Brooker and Morris became better-known. The fact that anything which describes a high-level language is, of course, itself a high- level language was what first attracted interest from the theoreticians. Interest from software implementers was slower to materialise. The Compiler-Compiler as a tool for writing compilers was intrinsically inefficient because it worked top-down and was very recursive – (see also the description given in the Appendix). “You’ve got to keep invoking all this heavy apparatus, which is very time-consuming….to make the CC practically useful we had to put in an artificial addition which says, first check that it isn’t a simple expression, when it can be done in a blinding flash”.
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]
  • Computer Conservation Society
    Issue Number 52 Autumn 2010 Computer Conservation Society Aims and objectives The Computer Conservation Society (CCS) is a co-operative venture between the British Computer Society (BCS), the Science Museum of London and the Museum of Science and Industry (MOSI) in Manchester. The CCS was constituted in September 1989 as a Specialist Group of the British Computer Society. It is thus covered by the Royal Charter and charitable status of the BCS. The aims of the CCS are: To promote the conservation of historic computers and to identify existing computers which may need to be archived in the future, To develop awareness of the importance of historic computers, To develop expertise in the conservation and restoration of historic computers, To represent the interests of Computer Conservation Society members with other bodies, To promote the study of historic computers, their use and the history of the computer industry, To publish information of relevance to these objectives for the information of Computer Conservation Society members and the wider public. Membership is open to anyone interested in computer conservation and the history of computing. The CCS is funded and supported by voluntary subscriptions from members, a grant from the BCS, fees from corporate membership, donations, and by the free use of the facilities of both museums. Some charges may be made for publications and attendance at seminars and conferences. There are a number of active Projects on specific computer restorations and early computer technologies and software.
    [Show full text]
  • Computer Conservation Society
    Issue Number 88 Winter 2019/20 Computer Conservation Society Aims and Objectives The Computer Conservation Society (CCS) is a co-operative venture between BCS, The Chartered Institute for IT; the Science Museum of London; and the Science and Industry Museum (SIM) in Manchester. The CCS was constituted in September 1989 as a Specialist Group of the British Computer Society. It is thus covered by the Royal Charter and charitable status of BCS. The objects of the Computer Conservation Society (“Society”) are: To promote the conservation, restoration and reconstruction of historic computing systems and to identify existing computing systems which may need to be archived in the future; To develop awareness of the importance of historic computing systems; To develop expertise in the conservation, restoration and reconstruction of historic computing systems; To represent the interests of the Society with other bodies; To promote the study of historic computing systems, their use and the history of the computer industry; To publish information of relevance to these objectives for the information of Society members and the wider public. Membership is open to anyone interested in computer conservation and the history of computing. The CCS is funded and supported by a grant from BCS and from donations. There are a number of active projects on specific computer restorations and early computer technologies and software. Younger people are especially encouraged to take part in order to achieve skills transfer. The CCS also enjoys a close relationship with the National Museum of Computing. Resurrection The Journal of the Computer Conservation Society ISSN 0958-7403 Number 88 Winter 2019/20 Contents Society Activity 2 News Round-Up 9 The Data Curator 10 Paul Cockshott From Tea Shops to Computer Company: The Improbable 15 Story of LEO John Aeberhard Book Review: Early Computing in Britain Ferranti Ltd.
    [Show full text]
  • Latest Results from the Procedure Calling Test, Ackermann's Function
    Latest results from the procedure calling test, Ackermann’s function B A WICHMANN National Physical Laboratory, Teddington, Middlesex Division of Information Technology and Computing March 1982 Abstract Ackermann’s function has been used to measure the procedure calling over- head in languages which support recursion. Two papers have been written on this which are reproduced1 in this report. Results from further measurements are in- cluded in this report together with comments on the data obtained and codings of the test in Ada and Basic. 1 INTRODUCTION In spite of the two publications on the use of Ackermann’s Function [1, 2] as a mea- sure of the procedure-calling efficiency of programming languages, there is still some interest in the topic. It is an easy test to perform and the large number of results ob- tained means that an implementation can be compared with many other systems. The purpose of this report is to provide a listing of all the results obtained to date and to show their relationship. Few modern languages do not provide recursion and hence the test is appropriate for measuring the overheads of procedure calls in most cases. Ackermann’s function is a small recursive function listed on page 2 of [1] in Al- gol 60. Although of no particular interest in itself, the function does perform other operations common to much systems programming (testing for zero, incrementing and decrementing integers). The function has two parameters M and N, the test being for (3, N) with N in the range 1 to 6. Like all tests, the interpretation of the results is not without difficulty.
    [Show full text]
  • Editors/Translators Foreword
    J Comput Virol (2009) 5:1–3 DOI 10.1007/s11416-008-0116-y EDITORIAL Editors/translators Foreword Daniel Bilar · Eric Filiol © Springer-Verlag France 2009 Bereishit In the beginning, there was bureaucracy. I had tried a feeling of nostalgia (and gratitude for Donald Knuth). I set to get major AV companies to give me malware samples to it aside till Christmas break. study in an academic setting, but to no avail: Liability rea- As I worked my way through the thesis over Christmas sons, and their suggestion—trekking back and forth to their break 2006, my cursory curiosity gave way to wonderment, corporate ‘clean’ room—was unpalatable to me. I like flat then awe, then electricity. I felt as if I had stumbled upon hierarchies, so I turned to herm1t. Herm1t runs (singlehand- a 10th century manuscript in an Scottish convent, delineat- edly, with minimal equipment and funds) the labour of love ing the calculus seven hundred years before Leibnitz and known as vxheavens (http://vx.netlux.org), a full-spectrum Newton. Aspects of the history of computer virology had to site dedicated to computer viruses. As quid pro quo, I sent be rewritten and proper due given- what a fortuitous find! him historical papers he sought for his collection. One title, I sent a printed snail mail copy off to herm1t in the Ukraine though, seemed out of reach: A German 1980 MSc thesis by and pondered my next steps. some fellow named Juergen Kraus. In early February, Eric Filiol, after having discovered an A hefty Dortmund package arrived late October 2006.
    [Show full text]
  • Short Bios of Attendees Peter Mcburney Is a David Hales Is a Senior Professor of Computer Research Fellow at the Science and Head of the Open University
    Short Bios of Attendees Peter McBurney is a David Hales is a senior Professor of Computer research fellow at The Science and Head of the Open University. I do Department of Informatics at research at the overlap King's College London. He is a member of the Agents and between computer Intelligent Systems (AIS) science and social Group of the Department. McBurney's research science. I am interested in focuses on several areas in multi-agent software open distributed systems that include both machine and human agencies where the systems including: agent communications imposition of central control is not an option and languages (ACLs) and protocols; multi-agent one can't rely on the "invisible hands" of simulation models of public policy and corporate orthodox economic (or game) theory. strategy domains; the presence of reflective intelligent entities able to learn, and able Jeffrey Johnson is Professor of themselves to model the environment they are Complexity Science and Design. in; cyber conflict, cyberwar and cyberweapons. I joined the Open University in Seth Bullock is Professor in 1980 after three years as Senior the Agents, Interaction and Research Associate in the Complexity Group and the Geography Department of Cambridge University, and six Institute for Complex Systems years as Research Fellow in the Mathematics Simulation at the University of Department of Essex University. Southampton. My principal research interest is evolutionary simulation modelling: the Jeremy Pitt is Reader in, and, application of evolutionary modelling techniques deputy head of the Intelligent developed within artificial intelligence (e.g., Systems and Networks Group at genetic algorithms) to problems within evolutionary biology (e.g., the evolution of Imperial College.
    [Show full text]
  • FEBRUARY 1981 R
    THE ISSN 004-8917 AUSTRALIAN COMPUTER JOURNAL VOLUME 13, NUMBER 1, FEBRUARY 1981 r CONTENTS INVITED PAPER 1-6 Software and Hardware Technology for the ICL Distributed Array Processor R.W. GOSTICK ADVANCED TUTORIALS 7-12 On Understanding Binary Search B.P. KIDMAN 13-23 Some Trends in System Design Methodologies I.T. HAWRYSZKIEWYCZ SHORT COMMUNICATIONS 24-25 NEBALL and FINGRP: New Programs for Multiple Nearest- Neighbour Analysis D.J. ABEL and W.T. WILLIAMS 26 Program INVER Revisited D.J. ABEL and W.T. WILLIAMS 27-28 A Comparison between PASCAL, FORTRAN and PL/1 D.J. KEWLEY SPECIAL FEATURES 29 Book Reviews 30-31 Letters to the Editor 32 Call for Papers V J Published for Australian Computer Society Incorporated Registered for Posting as a Publication — Category B “This wouldn't have happened, Fenwick, with a Tandem NonStop™ System," When your computers down, are you out or business? You can bank on it. Timing couldn’t be worse. No question about it. Your busiest season. Customers pounding for service. When you’re on a Tandem NonStop™ System, your information All it takes is one small failure somewhere in the system. One files and your processes are protected from contamination in a disc or disc controller. One input/output channel. way no other system can match. We’ve built in safeguards other For want of an alternative, the system is down and business is suppliers can only dream about. You’ve heard the war stories about lost. Sometimes forever. restart and restore data base on other systems. They’re not exaggerations, but they can be a thing of the past.
    [Show full text]
  • ALGOL 60 Programming on the Decsystem 10.Pdf
    La Trobe University DEPARTMENT OF MATHEMATICS ALGOL 60 Programming on the DECSystem 10 David Woodhouse Revised, August 1975 MELBOURNE, AUSTRALIA ALGOL 60 Programming on the DECSystem 10 David Woodhouse Revised, August 1975 CE) David Woodhouse National Library of Australia card number and ISBN. ISBN 0 85816 066 8 INTRODUCTION This text is intended as a complete primer on ALGOL 60 programming. It refers specifically to Version 4 of the DECSystem 10 implementation. However, it avoids idiosyncracies as far as possible, and so should be useful in learning the language on other machines. The few features in the DEC ALGOL manual which are not mentioned here should not be needed until the student is sufficiently advanced to be using this text for reference only. Exercises at the end of each chapter illustrate the concepts introduced therein, and full solutions are given. I should like to thank Mrs. K. Martin and Mrs. M. Wallis for their patient and careful typing. D. Woodhouse, February, 1975. CONTENTS Chapter 1 : High-level languages 1 Chapter 2: Languagt! struct.ure c.f ALGOL 6n 3 Chapter 3: Statemp.nts: the se'1tences {'\f the language 11 Chapter 4: 3tandard functions 19 Chapter 5: Input an~ Outp~t 21 Chapter 6: l>rray~ 31 Chapter 7 : For ane! ~hil~ statements 34 Chapter 8: Blocks anr! ',: ock sc rll,~ turr. 38 Chapter 9: PrOCe(:l1-:-~S 42 Chapter 10: Strin2 vp·jaLlps 60 Chapter 11: Own v~rj;lI'.i..es clOd s~itc.hef, 64 Chapter 12: Running ~nd ,;ebllggi"1g 67 Bibliography 70 Solutions to Exercises 71 Appendix 1 : Backus NOlUlaj F\:q'm 86 Appendix 2 : ALGuL-like languages 88 Appenclix 3.
    [Show full text]
  • A DATA DEFINITION FACILITY for PROGRAMMING LANGUAGES By
    A DATA DEFINITION FACILITY FOR PROGRAMMING LANGUAGES by T. A. Standish Carnegie Institute of Technology ....... PittsbUrgh, Pennsylvania May 18, 1967 Submitted to the Carnegie Institute of Technology ....... in partial fulfillment of the requirements for the degree of Doctor of Philosophy This work was supported by the Advanced Research Projects Agency of the Office of the Secretary of Defense (SD-146). Abstract This dissertation presents a descriptive notation for data structures which is embedded in a programming language in such a way that the resulting language behaves as a synthetic tool for describing data and processes in a number of application areas. A series of examples including formulae, lists, flow charts, Algol text, files, matrices, organic molecules and complex variables is presented to explore the use of this tool. In addition, a small formal treatment is given dealing with the equivalence of evaluators and their data structures. -ii- Table of Contents Title Page ....................... i Abstract ........................ ii Table of Contents .................... iii Acknowledgments .................... v Chapter I. Introduction .................. 1 Chapter II. A Selective Review of the Work of Others ...... 17 Chapter III. The Data Definition Facility ........... 25 1. Chapter Summary .............. 25 2. General Description .............. 25 3. Component Descriptions ........... 30 4. Elementary Descriptors ........... 34 5. Modified Descriptors ............ 40 6. Descriptor Formulae ............ 48 7. Declaring Descriptor Variables. and Descriptor Procedures ......... 51 8. Predicates, Selectors, Constructors and Declarations ............. 53 9. Constructors ............... 53 10. Selectors ................. 58 11. Predicates ................ 60 12. Declarations ............... 64 13. Reference Variables, Pointer Expressions and the Contents Operation ......... 65 14. Overlay Assignments, Sharing of Structures and Copying of Structures .......... 68 - iii- Table of Contents, Continued 15.
    [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]
  • Archived: Autocode User's Guide
    MATRIXx TM AutoCodeTM User’s Guide MATRIXx AutoCode User’s Guide The MATRIXx products and related items have been purchased from Wind River Systems, Inc. (formerly Integrated Systems, Inc.). These reformatted user materials may contain references to those entities. Any trademark or copyright notices to those entities are no longer valid and any references to those entities as the licensor to the MATRIXx products and related items should now be considered as referring to National Instruments Corporation. National Instruments did not acquire RealSim hardware (AC-1000, AC-104, PCI Pro) and does not plan to further develop or support RealSim software. NI is directing users who wish to continue to use RealSim software and hardware to third parties. The list of NI Alliance Members (third parties) that can provide RealSim support and the parts list for RealSim hardware are available in our online KnowledgeBase. You can access the KnowledgeBase at www.ni.com/support. NI plans to make it easy for customers to target NI software and hardware, including LabVIEW real-time and PXI, with MATRIXx in the future. For information regarding NI real-time products, please visit www.ni.com/realtime or contact us at [email protected]. May 2003 Edition Part Number 370767A-01 Support Worldwide Technical Support and Product Information ni.com National Instruments Corporate Headquarters 11500 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512 683 0100 Worldwide Offices Australia 1800 300 800, Austria 43 0 662 45 79 90 0, Belgium 32 0 2 757 00 20, Brazil 55
    [Show full text]