Conversion of Executable Descartes Specifications into Program Code

Joseph E. Urban, Praneet K. Rattan, Vinitha H. Subburaj, and Austin E. Carver


automatic programming, formal specification, the Descartes, program code


Automatic programming is the systematic generation of a program from a given specification. The goal of automatic programming is to allow programmers to specify what a program should do, and let the system generate the program code describing how the given program will work. Programs can be specified using a constructible, formal, and comprehensible specification language. Descartes is one such formal specification language, based on the functional model and has the advantages of easy constructability and comprehensibility. This paper overviews the use of formal methods to specify requirements and the advantage of using an executable formal specification language in order to specify software systems. In Descartes, specifications are described by defining the input and output data and relating the output data as a function of the input data. This research paper analyzes the various approaches towards automatic programming and reduces the gap between specification and programming, by introducing a method to automatically transform a Descartes specification of a program into executable Java code.

Important Links:

Go Back