|
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 virtul 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 generalizations 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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Bauer, F.L., Broy, M., Gnatz, R., Hesse, W. and Krieg-Brückner, B., A Wide Spectrum Language for Program Development. In: Robinet, B. (ed.), Program Transformations: 3rd Int. Symp. on Programming, Paris (1978), 1-15.
|
 |
2
|
|
 |
3
|
|
| |
4
|
Hoare, C.A.R, and Wirth, N., An Axiomatic Definition of the Programming Language Pascal, Acta Informatica 2 (1973), 335-355.
|
 |
5
|
|
 |
6
|
Jean D. Ichbiah , Bernd Krieg-Brueckner , Brian A. Wichmann , John G. P. Barnes , Olivier Roubine , Jean-Claude Heliard, Rationale for the design of the Ada programming language, ACM SIGPLAN Notices, v.14 n.6b, p.1-261, June 1979
[doi> 10.1145/956653.956654]
|
 |
7
|
|
 |
8
|
|
 |
9
|
|
| |
10
|
David C. Luckham , Steven M. German , Friedrich W. von Henke , Richard A. Karp , P. W. Milne , Derek C. Oppen , Wolfgang Polak , William L. Scherlis, Stanford Pascal Verifier user manual, Stanford University, Stanford, CA, 1979
|
CITED BY 3
|
|
|
|
|
Marina Biberstein , Vugranam C. Sreedhar , Bilha Mendelson , Daniel Citron , Alberto Giammaria, Instrumenting annotated programs, Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments, June 11-12, 2005, Chicago, IL, USA
|
|
|
|
|