ANNA A Language for Annotating Ada Programs von David C. Luckham | Reference Manual | ISBN 9783540472025

ANNA A Language for Annotating Ada Programs

Reference Manual

von David C. Luckham, Friedrich W. von Henke, Bernd Krieg-Brueckner und Olaf Owe
Mitwirkende
Autor / AutorinDavid C. Luckham
Autor / AutorinFriedrich W. von Henke
Autor / AutorinBernd Krieg-Brueckner
Autor / AutorinOlaf Owe
Buchcover ANNA A Language for Annotating Ada Programs | David C. Luckham | EAN 9783540472025 | ISBN 3-540-47202-9 | ISBN 978-3-540-47202-5

ANNA A Language for Annotating Ada Programs

Reference Manual

von David C. Luckham, Friedrich W. von Henke, Bernd Krieg-Brueckner und Olaf Owe
Mitwirkende
Autor / AutorinDavid C. Luckham
Autor / AutorinFriedrich W. von Henke
Autor / AutorinBernd Krieg-Brueckner
Autor / AutorinOlaf Owe
This reference manual of ANNA is another volume addressed to the ADA community. ANNA is a language extension of ADA to include facilities for formally specifying the intended behavior of ADA programs. It is designed to meet a perceived need to augment ADA with precise machine-processable annotations so that well established formal methods of specification and documentation can be applied to ADA programs. The current ANNA design includes annotations of all ADA constructs except tasking. Similar extensions for formal specification can be made to other Algol-like languages such as Pascal, PL/1, Concurrent Pascal, and Modula; essentially, these extensions would be subsets of ANNA. The design of ANNA was undertaken from the beginning with four principal considerations: 1. Constructing annotations should be easy for the ADA programmer and should depend as much as possible on notation and concepts of ADA. 2. ANNA should possess language features that are widely used in the specification and documentation of programs. 3. ANNA should provide a framework within which the various established theories of formally specifying programs may be applied to ADA. 4. Annotations should be equally well suited for different possible applications during the life cycle of a program. Such applications include not only testing, debugging and formal verification of a finished program, but also specification of program parts during the earlier stages of requirements analysis and program design.