Project 9: Aids for software generation and evaluation Amsterdam 1977: =============== Dr. Smith began his talk with a brief introduction to the TAMPR system. The system was still new, and could only be considered a research tool at the present time. It was however being used in software projects in the Applied Mathematics Division of Argonne National Laboratory. The transformations programmed to date include (i) Complex -> Real Single -> Double The routines of the Linpack project were being written for the complex, single precision case only. The TAMPR system then generated the real single precision, real double precision and complex double precision realisations. (ii) BLA removal. The system had been programmed to enable calls to BLAs to be replaced by in-line code. (iii) Structure Clarification - A Canonical Form. (iv) Comments This investigation was experimental, and only rudimentary transformations had been handled to date. The principle being attempted was that comments in source-text would automatically be updated as the program source-text was changed. (v) Program verification A modified FORTRAN grammar had been developed to permit ASSERT statements within a program text. A system based on the grammar had been written, which converts a FORTRAN subprogram (which may employ most FORTRAN constructs but not the full FORTRAN syntax) to first order predicate clauses suitable for analysis by the WOS, OVERBEEK and NIU theorem-prover. Work was proceeding to enable a program written using the FORTRAN Complex construct to be transformed to a program using only real constructs, and for linear algebra programs using two dimensional arrays to be transformed to programs using the same algorithms employing only single dimensional arrays. An independent project was in hand, in collaboration with the NAG Central Office, Oxford to design and produce a transformational tool (i.e. a collection of program aids) that is transportable, efficient in use of computing time and of computing storage, extendible and probably limited in capability (as compared with TAMPR). Professor Hull asked how useful TAMPR was, bearing in mind the number of man-years that had been put into it and its output to date. Dr. Smith thought that it had become effective within the last six months and was now useful and powerful. However the present implementation did have significant limitations, requiring some-one who fundamentally understood the system if he or she were to use it effectively. With muck of the work described above, program source-text was being written in a particular form to enable TAMPR to operate upon it. Dr W.S. Brown spoke on the software aids developed by Bell Laboratories. They were directed to improving the productivity of numerical analysts. Dr. Brown aimed to discuss software aids only in so far as they impacted this community. The tools described were, in the main, those prepared by and available now from Bell Laboratories. They were partly numerical, partly broader in content and in context. The talk covered Unix Operating System Port Library of Numerical Programs FORTRAN Definition and Evolution Debugging and Performance Measurement Program Analysis Construction, Maintenance, and Shipping Interfaces. --- Dr Einarsson reported that he found difficulty in getting responses for this part of his bibliography. It was therefore decided to leave this project for the present. Harwell 1980: ============= L.D. Fosdick: The TOOLPACK project Fosdick explained the purposes and objectives of the TOOLPACK project (for details see IFIP/WG 2.5 (Harwell-18)718), Discussion Reid: I have found a simple profiler that counts executions of source statements to be a very useful tool with low (e.g. 20 %) run time overhead. Will such a tool be included? Fosdick: Yes, this is a special case of what the instrumentation tool might be asked to do. Curtis: What about a macro-expansion facility? Fosdick: Yes, the template processor aims to do this. --- Fosdick requested comments on Toolpack. Reid mentioned the Harwell subroutine OE02 which profiles a Fortran program and results in a run time overhead of only about 20 %. Ford said that a user's consultative committee will be set up. Soederkoeping 1983: =================== Ford reported on the recent Toolpack activity. It is operating on 3 sites (VAX at Boulder and Argonne, Apollo at NAG). It is not yet Fortran portable but the total project will be. It is not now efficient, it is better than DAVE but still costly. Reid expressed a desperate need for PFORT in Fortran 77. Pasadena 1984: ============== (Ford): See document IFIP/WG 2.5 (Pasadena-15)1115. Cody asks what is the relation with TIE. Gentleman asks how to rate an intelligent command interpreter versus a mouse driven system (Lisa on Apple). Ford thinks Toolpack is a good R & D work, almost unique in Fortran. Hanson is uncertain about what can be accomplished by Toolpack. Ford answers it may support 4500 lines or modify 10,000 lines. Gentleman thinks he can do in other ways what Toolpack does at a high cost. Ford answers that NAG polishes the code developed by universities (on NSF money) before distribution. Sophia-Antipolis 1985: ====================== The Toolpack Project, which started in 1979, has now come to an end. The software resulting from this project, which is called Toolpack/l, was released in February 1985. Toolpack/1 is now available as a public-access software suite and over 200 sites worldwide have already taken copies. The main purpose to releasing the software is to make it widely available to help-promote tool use and to enable more collaboration on tool design and portability issues to take place. Toolpack/l consists currently of approximately 40 tools and a portability base. The tools are aimed at the processing of Fortran 77 source text, though support is also provided for handling result data, documentation and general processing requirements. Amongst the major Fortran orientated capabilities are: polishing, declaration standardisation, precision transforming and dynamic analysis. Further development to provide new and improved capabilities on a more efficient and easier to install portability base are already underway. There was a disagreement between Ford and Hanson. Hanson felt that Fortran 77 as a target was missed, but Ford reported that users are genuinely pleased to get such a tool, and find it useful.