JPL Verifiable ANSI Fortran subset, mandated for sattelite work
JPL has long used Fortran as a good scientific-mathematical language and currently is requiring a subset of 1966 Ansi Fortran called PFORT for ADF software. Use of this language assures a good degree of portability. However, to improve the modifiability and maintainability of PFORT, a number of restrictions were imposed pertaining to common blocks, constants, statement labels, and data statements.
In addition, to facilitate the efficient production of reliable code, structured programming is prescribed, except for routines of very simple logic. Routines containing no more than one or two If or Goto statements may fall in this exemption.
Since Fortran does not support structured programming directly, Fortran-coded routines are preprocessed through the structured-programming-toFortran translator, SFTRAN,~2 developed at JPL. The SFTRAN output is then processed through the PFORT verifier, which checks the adherence of the program to the PFORT standard.
The importance of comments in making the source code portable is recognized and made explicit in the standards. For example, complete definitions, including units, are required for inputs and outputs, as well as internal variables. Each set of statements that can be grouped on some logical basis has to be explained.