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 handbook 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 really is designed to fulfill a perceived have to increase ADA with particular machine-processable annotations in order that good confirmed 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 will be made to different Algol-like languages similar 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 critical concerns: 1. developing annotations will be effortless for the ADA programmer and will rely up to attainable on notation and ideas of ADA. 2. ANNA may still own language gains which are regularly occurring within the specification and documentation of courses. three. ANNA may still supply a framework in 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 functions throughout the lifestyles cycle of a software. Such functions contain not just trying out, debugging and formal verification of a accomplished software, but additionally specification of software elements in the course of the previous phases of necessities research and software design.

Show description

Read or Download ANNA A Language for Annotating Ada Programs PDF

Similar compilers books

Quantifiers in Action: Generalized Quantification in Query, Logical and Natural Languages

The database is a multi-billion, world-wide, all-encompassing a part of the software program international. Quantifiers in motion: Generalized Quantification in question, Logical and average Languages introduces a question language referred to as GQs—Generalized Quantification in question. such a lot question languages are easily types of First Order common sense (FOL).

Programming in Prolog

Initially released in 1981, this used to be the 1st textbook on programming within the Prolog language and remains to be the definitive introductory textual content on Prolog. even though many Prolog textbooks were released on account that, this one has withstood the try out of time as a result of its comprehensiveness, educational process, and emphasis on normal programming functions.

HL7 for BizTalk

HL7 for BizTalk presents a close consultant to the making plans and supply of a HL7-compliant process utilizing the committed Microsoft BizTalk for HL7 Accelerator. The HL7 basic typical, its numerous types, and using the HL7 Accelerator for BizTalk are damaged out and completely defined. HL7 for BizTalk presents transparent information at the particular healthcare situations that HL7 is designed to beat and gives operating case research versions of the way HL7 strategies should be carried out in BizTalk, deployed in perform and monitored in the course of operation.

Computer Safety, Reliability, and Security: 35th International Conference, SAFECOMP 2016, Trondheim, Norway, September 21-23, 2016, Proceedings

This ebook constitutes the refereed court cases of the thirty fifth foreign convention on desktop safeguard, Reliability, and protection, SAFECOMP 2016, held in Trondheim, Norway, in September 2016. The 24 revised complete papers provided have been rigorously reviewed and chosen from seventy one submissions. The papers are prepared in topical sections on fault injection, defense coverage, formal verification, car, anomaly detection and resilience, cyber safety, fault timber, and security research.

Additional info for ANNA A Language for Annotating Ada Programs

Example text

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.

E.. an empty collection. C'NEXT For a prefix C that denotes a collection state of type T'COLLECTION'TYPE: Yields the next value of type T to be allocated when the collection has state C. If T1 is a subtype of access type T then the collection associated with T I is the collection of T and may be referred to as T1 'COLLECTION or as T I ' BASE' COLLECTION. T'COLLECIION is a dynamic attribute in the sense that its value changes during a computation. ) In annotations it is treated as a program variable; its current value is used in elaboration of a type annotation and its occurrences in annotations may be modified by in and out.

Note the semantic difference between the two forms of annotations: an out annotation in a compound statement annotation applies to all exits from the statement, including those resulting from executing a goto statement, whereas an assertion constrains only final states corresponding to the textual end of the compound statement. Note the difference between a declarative object constraint and an assertion: an object constraint in a declarative part applies to all (observable) states in its scope, whereas an assertion applies only to the final state.

Download PDF sample

Rated 4.94 of 5 – based on 36 votes