Automated deduction techniques are being used in a system called Amphion to derive, from graphical specifications, programs composed from a subroutine library. The system has been applied to construct software for the planning and analysis of interplanetary missions.
The library for that application is a collection of subroutines written in FORTRAN-77 at JPL to perform computations in solar-system kinematics. A domain theory has been developed that describes the procedures in a portion of the library, as well as some basic properties of solar-system astronomy, in the form of first-order axioms.
Specifications are elicited from the user through a menu-driven graphical user interface; space scientists have found the graphical notation congenial. The specification is translated into a theorem, which is proved constructively in the astronomical domain theory by an automated theorem prover, SNARK. An applicative program is extracted from the proof and converted to FORTRAN-77. By the method of its construction, the program is guaranteed to meet the given specification and requires no further verification.
Amphion was tested on a set of fifteen sample problems, developed at NASA, which involve typical computations involving the sun, planets, moons, and spacecraft. Programs for all the problems were constructed by the system entirely automatically. Since then, Amphion has been successfully tested with potential end users from NASA, Stanford, and JPL.
Return to Amphion publications