Project 6: Transportability The topic of transportability has been discussed also in other projects, see projects 1, 16, and 34. Some documents from the group are found at the bottom of this page. ----------------------------------------------------------------------- Oxford 1975: ============ Special session on transportability summarised in the minutes, pp 2-4. SESSION ON TRANSPORTABILITY, 10,45 AM, JANUARY 14 Introducing the session Dr Battiste commented that attention was rightly directed to software standards because there would be no agreement on standardising hardware in the foreseeable future. Position Paper: Transportable Mathematical Software - A Substitute for Portable Mathematical Software - B Ford and B Smith After presenting definitions of the terms 'portable' and 'transportable', Dr Ford discussed the motivation behind the development of transportable software, and referred to examples of software of this form. He next summarised the present approaches to handling such code. In the composite file method, the card image record is taken as the basic unit of information. The variants of a body of transportable code are stored in some overlaid fashion so that those records in common are present once only. An alternative approach accepts FORTRAN constructions, rather than records or characters, as the basic component of information. The parsing of software into a reduced form permits the removal or analysis of compiler and machine dependencies. Individual code generators produce the target software from the reduce form for specific machine environments. Dr Ford concluded the summary of current approaches by suggesting that future ventures might seek to combine aspects of the composite file and parsing approaches. He next considered some of the objectives in pursuing the notion of transportability. These included software reliability, software equivalence, software maintenance, design of test packages and the development of a communications language for algorithms. Finally, four possible aims for WG 2.5 were suggested. These were to encourage communications between groups developing systems for transportable systems, to describe the necessary transformations between language dialects, to initiate discussion on a standard set of keywords and to consider acceptance criteria in specific subject areas. Discussion: Professor Fosdick questioned the use of the term 'software equivalence'. Dr Ford agreed that another expression was needed. The intention was to study the retention of algorithmic properties under transformation. Dr Lawson felt that the communications language, designed primarily for the benefit of algorithm writers, should be suitable for mechanical processing into existing computational languages. Dr Ford supported this view but he did not feel that a subset of Algol 68, as proposed by Professor Dekker, could form the basis of such a language. Dr Smith also considered that the proposed flexible communications language for algorithms should not be based on existing machine-orientated languages such as Algol 68 or PL/1. An evolutionary attitude towards the development of such a communications language was urged by Dr Battiste, who felt that the scientific software community had yet to assimilate fully the concept of transportable code. Dr Reinsch spoke of the need for algorithms which generate algorithms in subject areas such as special functions. Dr Smith considered that such flexibility ought to be one of the characteristics of the communications language, and that it was important to avoid the present, error-prone, unsystematic transfer of algorithms from one machine to another. Referring to composite files, Dr Battiste mentioned the problems of updating the base version. The designers of such software must have the requisite experience of and access to all of the machine ranges involved. Dr Ford estimated that early implementations of the NAG Library required between 2 to 3 man-years but more recent, semi- automated implementations had reduced that figure to approximately 1 man-year. He explained the implementation process. Experience of multi-machine implementation was not yet sufficient to suggest the ideal form for a composite file system. Dr Lawson raised the question of user documentation for multi-machine mathematical software. Dr Battiste agreed with the speaker that variants of documentation, in a machine-based form, could be processed in a similar fashion to the software. However, it was a costly exercise. Professor Stetter said that the specification of performance criteria for an algorithm on a single machine was still far from straightforward To extend these criteria to transportable software was an even more difficult task. Position Paper: Techniques for Enhancing Transportability of Numerical Software - C Lawson This paper, an outline of which was distributed to the WG 2.5 members before the meeting, was presented by Dr Lawson. He was sympathetic to the notion of a communications language if it could be mechanically translated to existing languages. His paper was directed to specific steps that might be taken in the short term. The first section discussed the transportation of FORTRAN programs. Dr Lawson mentioned the Bell Laboratories checking program and referred to the basic linear algebra project at JPL. After outlining the current state of the JPL activity, Dr Lawson gave examples from the proposed set of routines. He said that practical experience had been the main guideline in selecting and designing the set, which he did not see necessarily as a long term solution to transportability. A similar basis set of routines for character manipulation would be desirable. He also wanted more environmental information available to any FORTRAN program. Tables rather than a run-time evaluation device were preferable. Dr Lawson concluded this section by amplifying Dr Ford's comments about the different objectives of composite file designers, referring specifically to Krogh's work at JPL. Section 2 of Dr Lawson's note was concerned with extensions beyond, but based upon, FORTRAN. He suggested investigation (for example, as undertaken by Malcolm) of a compiler which mapped an arbitrary new language into existing FORTRAN dialects. This compiler must be in strict FORTRAN to enable it to be transportable. In Section 3 the speaker pondered on the properties of a language that could supersede FORTRAN. These were principally (a) the new language must be markedly better than FORTRAN, and (b) it must be immediately available. Dr Lawson felt that even if Algol 68 or Pascal might meet (a), they required transportable compilers to make (b) remotely possible. He mentioned BABEL, a language developed at NPL, which mapped into Algol 60 and FORTRAN. In his recent book on least squares problems, there were about 2000 lines of coding which Dr Lawson believed to be portable. He indicated that the manner in which the algorithms in the book were described might serve as an informal example of an algorithmic communications language. Discussion: Dr Wilkinson supported Dr Lawson's approach to the presentation of algorithms. He also referred to the difficulties of refereeing algorithms, particularly when considered for multi-machine implementation. Professor Dekker returned to his earlier point that Algol 68 had some of the desired features of the communications language, eg. standard machine constant names, different precisions, structures and redefinable operators. Nor had he encountered too much difficulty in transferring Algol 60 programs from an Electrologica to a CDC computer. Dr Lawson explained his pessimism about the use of Algot 68 as a communications language. There were several dialects in existence already. He also suspected that because of their greater generality, there was an inherent inefficiency in Algol languages, a point which Dr Reinsch did not accept as being true in all cases. Dr Smith, commenting on the difficulties of transferring programs, noted that the conversion of a few, personal programs was not too difficult. This group was more concerned, however, with large scale library implementations. Such activities presented different problems. Dr Battiste, in summarising the discussions, felt that there was agreement that the ideas presented on transportability should be pursued, although in a cautious manner because of the practical difficulties and the economic consequences of change. --- The topic of transportability, was quickly exhausted at the final discussion during the Oxford meeting and Dr Ford proposed that a sub-committee be formed with Dr Battiste as Chairman, to meet later this year. After Dr Battiste had expressed a willingness to undertake this role the Group approved the proposal. Oak Brook 1976: =============== Dr. Lawson gave a brief report of the BLAs project, and distributed a draft write-up. The meeting discussed aspects of the example source text included in the document. Dr. Reid regretted the departure from the ANSI FORTRAN Standard in the coding of the routines. Dr. Ford inquired if the routines had been used as a basis for realizing ordinary differential equation or optimization routines. Dr. Lawson had used the BLAs in codes for solving least squares problems. Dr. Krogh had initially used them in ordinary differential equation codes but ultimately decided against retaining them due to the small order of the problems solved. Inevitably in such codes there was a trade-off between size of problems solved and the run-time efficiency of the computation. In answer to a question from Professor Stetter, Dr. Lawson said he hoped to publish a final report on the BLAs in the Transactions on Mathematical Software. Baden 1978: =========== Dr. Ford would be involved in writing a tutorial on transportability for A.C.M. Documents: ========== 1. B. Ford, "Preparing conventions for parameters for transportable numerical software", in Portability of Numerical Software, ed. W. Cowell, Lecture Notes in Computer Science, 57 , 68-91, Springer-Verlag, 1977. 2. B. Ford (ed.), "Parameterization of the Environment of Transportable Software," ACM Trans. Math. Soft., Vol. 4, 100-103, 1978; also in SIGNUM Newsletter, Vol. 13(2), 20-33, 1978; SIGPLAN Notices, Vol. 13(7), 27-30, 1978; IMA Bulletin, Vol. 14, 179-182, 1978; Algol Bulletin 42, 7-10, 1978; Computer Physics Communications, Vol. 15, 1-3, 1978. 3. Stuart Feldman and W. Morven Gentleman, "Controversy: Portability - A No Longer Solved Problem", Computing Systems Journal (the journal of the Usenix Association), Volume 3, Number 2 (Spring 1990), pp. 359-380.