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.