Fortran portability via models and tools

  • W. S. Brown
  • A. D. Hall
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 57)

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

A. Background

  1. 1.
    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.Google Scholar

B. Snobol4

  1. 2.
    R. E. Griswold, J. F. Poage and I. P. Polonsky The SNOBOL4 Programming Language Prentice-Hall, Englewood Cliffs, N.J., 1971.Google Scholar
  2. 3.
    R. E. Griswold The Macro Implementation of SNOBOL4 — A Case Study of Machine-Independent Software Development W. H. Freeman, San Francisco, 1972.Google Scholar

C. Altran

  1. 4.
    W. S. Brown Altran User's Manual, Third Edition Bell Laboratories, Murray Hill, N.J., December 1973.Google Scholar
  2. 5.
    A. D. Hall Altran Installation and Maintenance Manual, Second Edition Bell Laboratories, Murray Hill, N.J., September 1972.Google Scholar
  3. 6.
    S. I. Feldman ALTRAN Reference Card Bell Laboratories, Murray Hill, N.J., April 1975.Google Scholar

D. Port

  1. 7.
    P. A. Fox, A. D. Hall and N. L. Schryer The PORT Mathematical Subroutine Library Computing Science Technical Report #47 Bell Laboratories, Murray Hill, N.J., August 1976.Google Scholar
  2. 8.
    P. A. Fox PORT Mathematical Subroutine Library User's Manual Bell Laboratories, Murray Hill, N.J., April 1976.Google Scholar

E. Pfort

  1. 9.
    B. G. Ryder The PFORT Verifier Software Practice and Experience 4, pp. 359–377 (October 1974).Google Scholar
  2. 10.
    A. D. Hall and B. G. Ryder The PFORT Verifier Computing Science Technical Report #12 Bell Laboratories, Murray Hill, N.J. May 1973, Rev. July 1975, 61 pages.Google Scholar

F. Ratfor

  1. 11.
    B. W. Kernighan RATFOR — A Preprocessor for a Rational FORTRAN Software Practice and Experience 5, pp. 395–406 (October 1975).Google Scholar

G. Utilities

  1. 12.
    A. D. Hall The M6 Macro Processor Computing Science Technical Report #2 Bell Laboratories, Murray Hill, N.J., April 1972, 13 pages.Google Scholar
  2. 13.
    A. D. Hall SEDIT — A Source Program Editor Computing Science Technical Report #16 Bell Laboratories, Murray Hill, N.J., May 1974, 9 pages.Google Scholar
  3. 14.
    A. D. Hall FDS: A FORTRAN Debugging System Overview and Installer's Guide Computing Science Technical Report #29 Bell Laboratories, Murray Hill, N.J., April 1975, 38 pages.Google Scholar

Copyright information

© Springer-Verlag 1977

Authors and Affiliations

  • W. S. Brown
  • A. D. Hall

There are no affiliations available

Personalised recommendations