Answers are grounded in this paper and cite their sources.
Anna is a language extension of Ada to include facilities for formally specifying the intended behavior of Ada programs. It augments Ada with precise machine-processable annotations so that well established formal methods of specification and documentation can be applied to Ada programs.This paper describes an implementation of a subset of Anna. The implementation is a transformer that accepts as input an Anna parse tree and produces as output an equivalent Ada parse tree that contains the necessary executable runtime checks for the Anna specifications. An approach called the Checking Function Approach is used. This involves the generation of a function for each annotation and generating calls to these functions at appropriate places. The transformer has to take care of various details like hiding, overloading, nesting, etc.It is hoped that the transformer will eventually cover most of Ann and have various features like a good user interface, interaction with a symbolic debugger, and optimization of runtime checks for permanent inclusion.
No takes yet. Share an insight, caveat, or question.
Sankar et al. (1985) studied this question.
Synapse has enriched 10 related papers. Consider them for comparative context: