Fortran portability via models and tools
This talk is a survey of recent Bell Labs work on FORTRAN-based software portability. Our approach is based on our experience with the ALTRAN language and system for symbolic algebra, and the PORT Library of state-of-the-art procedures for numerical mathematics.
Both ALTRAN and PORT are written in PFORT, a large and mechanically verifiable subset of ANS FORTRAN. To make PFORT programs easier to write and easier to read, we now use an extension called RATFOR and a preprocessor that translates it into PFORT. A more ambitious extension called EFL is under development.
From a theoretical viewpoint the key to all our work on software portability is a model of the computing environments in which our programs will be expected to operate. We assume a hardware-software environment that fully supports the PFORT language and is characterized by parameters (machine constants) in four basic areas: (1) logical unit numbers, (2) word size, (3) integer arithmetic, and (4) floating-point arithmetic. To demonstrate the use of this model, we discuss an algorithm by J. L. Blue for computing the Euclidean norm of a real vector. The algorithm is portable, accurate, and efficient, avoids overflow and underflow, and will be included in the next edition of PORT.
- W. S. Brown Software Portability Report of the 1969 NATO Conference on Software Engineering Techniques Ed. J. N. Buxton and B. Randell NATO Science Committee, 1970, pages 80–84.
- Griswold, R. E., Poage, J. F., Polonsky, I. P. (1971) The SNOBOL4 Programming Language. Prentice-Hall, Englewood Cliffs, N.J.
- Griswold, R. E. (1972) The Macro Implementation of SNOBOL4 — A Case Study of Machine-Independent Software Development. W. H. Freeman, San Francisco
- Brown, W. S. (1973) Altran User's Manual. Bell Laboratories, Murray Hill, N.J.
- Hall, A. D. (1972) Altran Installation and Maintenance Manual. Bell Laboratories, Murray Hill, N.J.
- Feldman, S. I. (1975) ALTRAN Reference Card. Bell Laboratories, Murray Hill, N.J.
- Fox, P. A., Hall, A. D., Schryer, N. L. (1976) The PORT Mathematical Subroutine Library. Bell Laboratories, Murray Hill, N.J.
- Fox, P. A. (1976) PORT Mathematical Subroutine Library User's Manual. Bell Laboratories, Murray Hill, N.J.
- Ryder, B. G. (1974) The PFORT Verifier. Software Practice and Experience 4: pp. 359-377
- Hall, A. D., Ryder, B. G. (1973) The PFORT Verifier. Bell Laboratories, Murray Hill, N.J.
- Kernighan, B. W. (1975) RATFOR — A Preprocessor for a Rational FORTRAN. Software Practice and Experience 5: pp. 395-406
- Hall, A. D. (1972) The M6 Macro Processor. Bell Laboratories, Murray Hill, N.J.
- Hall, A. D. (1974) SEDIT — A Source Program Editor. Bell Laboratories, Murray Hill, N.J.
- Hall, A. D. (1975) FDS: A FORTRAN Debugging System Overview and Installer's Guide. Bell Laboratories, Murray Hill, N.J.
- Fortran portability via models and tools
- Book Title
- Portability of Numerical Software
- Book Subtitle
- Workshop, Oak Brook, Illinois, June 21–23, 1976
- pp 158-164
- Print ISBN
- Online ISBN
- Series Title
- Lecture Notes in Computer Science
- Series Volume
- Series ISSN
- Springer Berlin Heidelberg
- Copyright Holder
- Additional Links
- Industry Sectors
- eBook Packages
To view the rest of this content please follow the download PDF link above.