Abstract : This report describes a method for the formal development of Ada programs from a formal specification written in Z. ANNotated Ada (Anna) is used as an intermediate language linking the more abstract Z specifications to the concrete Ada program. The method relies on the notion that successive small transformations of a specification are easier to verify than a few large transformations. Essentially the method uses three notations for the representation of the system: an implementation-independent notation for the specification of the system, an implementation-dependent notation for the representation of a lower level specification of the system, and the implementation language. Z and Anna are outlined briefly and examples of transformations are presented. A simple Z specifications has been chosen and the transformations presented in the report are transformations of the Z specifications into Anna. Conclusions are drawn about the development method presented. This report describes recent work performed by the formal specifications project of the Software Engineering Institute in conjunction with members of the Anna project at Stanford University.
[1]
Henry Ledgard,et al.
Reference Manual for the ADA® Programming Language
,
1983,
Springer New York.
[2]
Carroll Morgan,et al.
Programming from specifications
,
1990,
Prentice Hall International Series in computer science.
[3]
David C. Luckham.
Programming with Specifications: An Introduction to ANNA, A Language for Specifying Ada Programs
,
1990
.
[4]
Juris Hartmanis,et al.
The Programming Language Ada Reference Manual American National Standards Institute, Inc. ANSI/MIL-STD-1815A-1983
,
1983,
Lecture Notes in Computer Science.
[5]
J. Michael Spivey,et al.
An introduction to Z and formal specifications
,
1989,
Softw. Eng. J..
[6]
J. Michael Spivey,et al.
The Z notation - a reference manual
,
1992,
Prentice Hall International Series in Computer Science.
[7]
Jean D. etc. Ichbiah.
Reference Manual for the ADA Programming Language
,
1983
.
[8]
Olaf Owe,et al.
ANNA A Language for Annotating Ada Programs
,
1987,
Lecture Notes in Computer Science.