ANNA: towards a language for annotating Ada programs

  • Authors:
  • Bernd Krieg-Brückner;David C. Luckham

  • Affiliations:
  • Stanford University, Stanford, California;Stanford University, Stanford, California

  • Venue:
  • SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on Ada programming language
  • Year:
  • 1980

Quantified Score

Hi-index 0.00

Visualization

Abstract

ANNA is a proposal to extend Ada to include facilities for formally specifying the intended behaviour of Ada programs (or portions thereof) at all stages of program development. ANNA programs are Ada programs with formal comments. Formal comments in ANNA consist of virtual Ada text and annotations. The syntax and semantics of different kinds of annotations are defined: declarative annotations (for variables, subtypes, subprograms, and packages), statement annotations, exception annotations, and visibility annotations. ANNA includes a small number of predefined attributes which may appear only in annotations, e.g., access type collections.The lexical structure of ANNA is designed so that the extensions of Ada appear as Ada comments. ANNA programs are therefore acceptable by Ada translators. The semantics of annotations are defined in terms of Ada concepts, in particular many annotations are generalization of the constraint concept. It is therefore a simple step for the Ada programmer to use ANNA to give formal specifications of programs.ANNA is intended to provide a formal framework within which different theories of formal specification may be applied to Ada. Our proposal omits tasking for the time being.