This paper describes a formal approach to automating domain-oriented software design. The formal approach ensures that a user's problem specification is correctly implemented, given a validated domain theory. A declarative domain theory defines the semantics of a domain-oriented specification language and its relationship to implementation-level subroutines. Formal specification development and reuse is made accessible through an intuitive graphical interface that incorporates the advantages of structured editors and visual programming environments at the specification level. This approach has been implemented in Amphion, a generic KBSE system that automates component-based programming from specifications. Amphion has been applied to the domain of solar system kinematics; other NASA applications are under development. Amphion enables space scientists to develop, modify, and reuse specifications an order of magnitude more rapidly than manual program development. Program synthesis is efficient and completely automatic. Both sequential and iterative programs are synthesized.
Return to Amphion publications