Abstract
The PROSPECTRA project aims to provide a rigorous methodology for developing correct Ada software and a comprehensive support system. It is a cooperative project between Universität Bremen, Universität Dortmund, Universität Passau, Universität des Saarlandes (all D), University of Strathclyde (GB), SYSECA Logiciel (F), Dansk Datamatik Center (DK), and Standard Electrica S.A. (E), and is sponsored by the Commission of the European Communities under the ESPRIT Programme, ref. #390 (see [1]).
The methodology integrates program construction and verification during the development process. User and implementor start with a formal specification, the interface or "contract". This initial specification is then gradually transformed into an optimised machine-oriented executable program. The final version is obtained by stepwise application of transformation rules. These are carried out by the system, with interactive guidance by the implementor, or automatically by compact transformation tools. Transformation rules form the nucleus of an extendible knowledge base.
The strict methodology of Program Development by Transformation (based on the CIP approach, see e.g. [2, 3]) is completely supported by the system. Any kind of activity is conceptually and technically regarded as a transformation of a "program" at one of the system layers. This provides for a uniform user interface, reduces system complexity, and allows the construction of system components in a highly generative way.
A methodology for PROgram development by SPECification and TRAnsformation is described. Formal requirement specifications in Anna are the basis for constructing correct and efficient Ada programs by gradual transformation.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Krieg-Brückner, B., Hoffmann, B., Ganzinger, H., Broy, M., Wilhelm, R., Möncke, U., Weisgerber, B., McGettrick, A.D., Campbell, I.G., Winterstein, G.: PROgram Development by SPECification and TRAnsformation. in: CEC, Directorate General XIII (eds.): ESPRIT '86: Results and Achievements. Elsevier Sci. Publ. (North-Holland) (1987) 301–311
Bauer, F.L.: Program Development by Stepwise Transformations — The Project CIP. in: Bauer, F. L., Broy, M. (eds.): Program Construction. LNCS 69, Springer 1979.
Bauer, F.L., Berghammer, R., Broy, M., Dosch, W., Gnatz, R., Geiselbrechtinger, F., Hangel, E., Hesse, W., Krieg.-Brückner, B., Laut, A., Matzner, T.A., Möller, B., Nickl, F., Partsch, H., Pepper, P., Samelson, K., Wirsing, M., Wössner, H.: The Munich Project CIP, Vol. 1: The Wide Spectrum Language CIP-L. LNCS 183, Springer 1985.
Partsch, H., Steinbrüggen, R.: Program Transformation Systems. ACM Computing Surveys 15 (1983) 199–236.
Reference Manual for the Ada Programming Language. ANSI/MIL.STD 1815A. US Government Printing Office, 1983. Also in: Rogers, M. W. (ed.): Ada: Language, Compilers and Bibliography. Ada Companion Series, Cambridge University Press, 1984.
Luckham, D.C., von Henke, F.W., Krieg-Brückner, B., Owe, O.: Anna, a Language for Annotating Ada Programs, Preliminary Reference Manual. Technical Report No. 84–248, Computer Systems Laboratory, Stanford University, June 1984; also: LNCS, Springer (to appear).
Krieg-Brückner, B.: Informal Specification of the PROSPECTRA System. PROSPECTRA Study Note M.1.1.S1-SN-9.1, Universität Bremen, 1986.
Bertling, H., Ganzinger, H.: A Structure Editor Based on Term Rewriting. in: Proc. 2nd ESPRIT Technical Week, Brussels (1985) 455–466.
Bertling, H., Ganzinger, H.: Paraphrasing in the PROSPECTRA System. PROSPECTRA Report M.1.4-R-1.0, Universität Dortmund, 1986.
Heckmann, R.: An Efficient ELL(1) Parser Generator. Acta Informatica 23 (1986) 127–148.
Möncke, U., Weisgerber, B., Wilhelm, R.: Generative Support for Transformational Programming. in: Proc. 2nd ESPRIT Technical Week, Brussels (1985) 511–528.
Möncke, U., Pistorius, S., Weisgerber, B.: OPTRAN under UNIX. PROSPECTRA Report S.1.6-R-3.0, Universität des Saarlandes, 1986.
Heckmann, R.: A Proposal for the Sytactic Part of the PROSPECTRA Transformation Language. PROSPECTRA Study Note S.1.6-SN-6.0, Universität des Saarlandes, 1987.
Owe. O.: An Approach to Program Reasoning Based on a First Order Logic for Partial Functions. Research Report No. 89, Institute of Informatics, University of Oslo, 1985.
Krieg-Brückner, B.: Transformation of interface Specifications. in: Kreowski, H.-J. (ed.): Recent Trends in Data Type Specification. Informatik Fachberichte 116, Springer 1985, 156–170.
Krieg-Brückner, B.: Systematic Transformation of Interface Specifications: Applicative to Imperative Style, Exceptions. in: Partsch, P. (ed.): Program Specification and Transformation, Proc. IFIP TC2 Working Conf. (Tölz). Elsevier Sci. Publ. (North-Holland) (to appear).
Bauer, F.L., Wössner, H.: Algorithmic Language and Program Development. Springer 1982.
Pepper, P.: A Study of Transformational Semantics. in: Bauer, F.L., Broy, M (eds.): Program Construction. LNCS 69, Springer (1979) 322–405.
Treff, L.: The Static Semantic Analysis of PAnndA-S; Vol. 1: Rationale, Vol. 2: Attribute Grammar. PROSPECTRA Report S.3.1-R-4.0, Karlsruhe: SYSTEAM KG, 1986.
Broy, M., Nickl, F.: PAnndA-S Semantics. PROSPECTRA Study Note M.2.1.A1-SN-2.1, Universität Passau, 1986.
Krieg-Brückner, B.: PAnndA-S, its Canonical Syntax and Alternative Paraphrasings. PROSPECTRA Study Note M.1.1.S1-SN-7.2, Universität Bremen, 1986.
Kahrs, S.: PAnndA-S Standard Types. PROSPECTRA Study Note M.1.1.S1-SN-11.2, Universität Bremen, 1986.
Broy, M.: Program Construction by Transformations: A Family Tree of Sorting Programs. in: Biermann, A. W. et al. (eds.): Computer Program Synthesis Methodologies. Proc. NATO Advanced Study Institute, Bonas 1981. NATO Advanced Study Series 95, Dordrecht: Reidel (1983) 1–49.
Partsch, H.: An Exercise in the Transformational Derivation of an Efficient Program by Joint Development of Control and Data Structure. Science of Computer Programming 3, 1983, 1–35.
Partsch, H.: Structuring Transformational Developments: a Case Study Based on Early's Recogniser. Science of Computer Programming 4 (1984) 17–44.
Broy, M., Krieg-Brückner, B.: Derivation of Invariant Assertions During Program Development by Transformation. ACM TOPLAS 2:3 (1980) 321–337.
Kahrs, S.: From Constructive Specifications to Algorithmic Specifications. PROSPECTRA Study Note M.3.1.S1-SN-1.2, Universität Bremen, 1986.
Ganzinger, H.: Ground Term Confluence in Parametric Conditional Equational Specifications. in: Brandenburg, F.J., Vidal-Naquet, G., Wirsing, M.(eds.): Proc. 4th Annual Symp. on Theoretical Aspects of Comp. Sci., Passau '87. LNCS 247 (1987) 286–298.
Broy, M., Möller, B., Pepper, P., Wirsing, M.: Algebraic Implementations Preserve Program Correctness. Science of Computer Programming 7 (1986) 35–53.
Qian, Z.: Structured Contextual Rewriting. in: Proc. 2nd Int'l Conf. on Rewriting Techniques and Applications, Bordeaux '87. LNCS (to appear).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Krieg-Brückner, B. (1987). Integration of program construction and verification: the PROSPECTRA methodology. In: Habermann, A.N., Montanari, U. (eds) System Development and Ada. Lecture Notes in Computer Science, vol 275. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18341-8_21
Download citation
DOI: https://doi.org/10.1007/3-540-18341-8_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18341-9
Online ISBN: 978-3-540-47885-0
eBook Packages: Springer Book Archive