Program Developments: Formal Explanations of Implementations.

Saved in:
Bibliographic Details
Title: Program Developments: Formal Explanations of Implementations.
Authors: Wile, David S.1, Horowitz, Ellis
Source: Communications of the ACM. Nov83, Vol. 26 Issue 11, p902-911. 10p.
Subjects: Computer programming, Algorithms, Electronic data processing, Mathematical analysis, Mathematical transformations, Differential invariants
Abstract: Automated program transformation systems are emerging as the basis fur a new programming methodology in which high-level, understandable specifications we transformed into efficient programs. Subsequent modification of the original specification will be dealt with by reimplementation of the specification. For such a system to be practical these reintplementations must occur relatively quickly and reliably in comparison with the original implementation. We believe that reimplementation requires that a formal document-the program development-be constructs during the development process explaining the resulting implementation to future maintainers of the specification. The overall goal of our work is to develop a language for capturing and explaining these developments and the resulting implementations. This language must be capable of expressing:1) the implementor's goal structure; 2) all program manipulations necessary for implementation; and 3) optimization and plans of such optimizations. We discuss the documentation requirements of the development process and then describe a prototype system jot constructing and maintaining this documentation information. Finally we indicate many remaining, open issues and the directions to be taken in the pursuit of adequate solutions. [ABSTRACT FROM AUTHOR]
Copyright of Communications of the ACM is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
Description
Abstract:Automated program transformation systems are emerging as the basis fur a new programming methodology in which high-level, understandable specifications we transformed into efficient programs. Subsequent modification of the original specification will be dealt with by reimplementation of the specification. For such a system to be practical these reintplementations must occur relatively quickly and reliably in comparison with the original implementation. We believe that reimplementation requires that a formal document-the program development-be constructs during the development process explaining the resulting implementation to future maintainers of the specification. The overall goal of our work is to develop a language for capturing and explaining these developments and the resulting implementations. This language must be capable of expressing:1) the implementor's goal structure; 2) all program manipulations necessary for implementation; and 3) optimization and plans of such optimizations. We discuss the documentation requirements of the development process and then describe a prototype system jot constructing and maintaining this documentation information. Finally we indicate many remaining, open issues and the directions to be taken in the pursuit of adequate solutions. [ABSTRACT FROM AUTHOR]
ISSN:00010782
DOI:10.1145/182.358443