ANNA A Language for Annotating Ada Programs by David C. Luckham, Friedrich W. von Henke, Bernd

By David C. Luckham, Friedrich W. von Henke, Bernd Krieg-Brueckner, Olaf Owe

This reference guide of ANNA is one other quantity addressed to the ADA neighborhood. ANNA is a language extension of ADA to incorporate amenities for officially specifying the meant habit of ADA courses. it's designed to satisfy a perceived have to increase ADA with certain machine-processable annotations in order that good tested formal tools of specification and documentation may be utilized to ADA courses. the present ANNA layout comprises annotations of all ADA constructs other than tasking. related extensions for formal specification may be made to different Algol-like languages akin to Pascal, PL/1, Concurrent Pascal, and Modula; primarily, those extensions will be subsets of ANNA. The layout of ANNA used to be undertaken from the start with 4 crucial issues: 1. developing annotations may be effortless for the ADA programmer and will rely up to attainable on notation and ideas of ADA. 2. ANNA may still own language positive factors which are established within the specification and documentation of courses. three. ANNA may still supply a framework during which some of the proven theories of officially specifying courses should be utilized to ADA. four. Annotations may be both well matched for various attainable purposes throughout the lifestyles cycle of a software. Such purposes comprise not just checking out, debugging and formal verification of a comprehensive application, but additionally specification of application components throughout the previous levels of necessities research and software design.

Show description

Read or Download ANNA A Language for Annotating Ada Programs PDF

Similar compilers books

Ada 95 Rationale: The Language The Standard Libraries

Ada ninety five, the improved model of the Ada programming language, is now in position and has attracted a lot consciousness locally because the foreign ordinary ISO/IEC 8652:1995(E) for the language used to be authorized in 1995. The Ada ninety five motive is available in 4 components. The introductory half is a normal dialogue of the scope and pursuits of Ada ninety five and its significant technical positive aspects.

Pattern Calculus: Computing with Functions and Structures

Over the years, easy learn has a tendency to steer to specialization – more and more slim t- ics are addressed through more and more focussed groups, publishing in more and more con ned workshops and meetings, discussing more and more incremental contri- tions. Already the group of programming languages is divided into numerous s- groups addressing varied elements and paradigms (functional, principal, relational, and object-oriented).

Automated Deduction - Cade-22: 22nd International Conference on Automated Deduction, Montreal, Canada, August 2-7, 2009. Proceedings

This ebook constitutes the refereed complaints of the twenty second overseas convention on computerized Deduction, CADE-22, held in Montreal, Canada, in August 2009. The 27 revised complete papers and five process descriptions provided have been rigorously reviewed and chosen from seventy seven submissions. additionally, 3 invited lectures via unique specialists within the quarter have been incorporated.

Extra resources for ANNA A Language for Annotating Ada Programs

Example text

8 . 2 ) , s o t h a t a l l c o m p o n e n t s o f H E A D are n o w DEFINED. 14. 5 Record States For every record type T, record states are defined as new names. state : := record_name[record_store_operation {; record_store_operaLion}] record s t o r e o p e r a t i o n : : = component_simp]e name => e x p r e s s i o n Record states may be used as names, in particular in selected components. N is replaced by C. The component R. N must exist for the corresponding variant, States beginning with a record name, R, and containing sequences of more than one record store operation denote values of R after the corresponding sequence of changes have been made to its components.

1 Logical Operators In addition to the Ada logical operators, Anna provides operators for logical implication and equivalence. Operator Operation Operand Type Result Type --* *-* implication equivalence BOOLEAN BOOLEAN BOOLEAN BOOLEAN The implication operator ~ has the usual mathematical meaning. A ~, B is defined as (A --* B) and (B --* A). Notes: -* and ~ have the meaning of _< and = on boolean expressions; however, their precedence is the lowest of all operators allowed in boolean-valued expressions and subexpressions.

BIRTHDAIE'DEFINED = TRUE; NAY. all'DEFINED = TRUE; DEFINED ~ always T R U E f o r a c c e s s t y p e o ~ e c t s ~ e e 3 . 8 . 2 ) , s o t h a t a l l c o m p o n e n t s o f H E A D are n o w DEFINED. 14. 5 Record States For every record type T, record states are defined as new names. state : := record_name[record_store_operation {; record_store_operaLion}] record s t o r e o p e r a t i o n : : = component_simp]e name => e x p r e s s i o n Record states may be used as names, in particular in selected components.

Download PDF sample

Rated 4.09 of 5 – based on 11 votes