Abstract
The ESPRIT project PROgram development by SPECification and TRAnsformation is based on the CIP approach of TU München. Its most distinguishing feature is perhaps the use of algebraic specification and the transformational development paradigm not only for program but also for meta-program development, in fact to formalise the program development process itself. Transformation rules and their applicability conditions act as requirement specifications for transformation algorithms.
The extension of algebraic specification by higher order functions leads to a considerable increase in abstraction, avoiding much repetitive development effort. Homomorphic extension functionals, in particular, allow a concentration on the essential basic functions. Compared with classical functional programming, the algebraic properties allow reasoning about correctness and optimisation; the recursion schema of homomorphic extension acts as a program development strategy and as an induction schema for proofs.
Preview
Unable to display preview. Download preview PDF.
References
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.
Bauer, F.L., Ehler, H., Horsch, B., Möller, B., Partsch, H., Paukner, O., Pepper, P.,: The Munich Project CIP, Vol. 2: The Transformation System CIP-S. LNCS 292, Springer 1987.
Bauer, F.L., Möller, B., Partsch, H., Pepper, P.: Formal Program Construction by Stepwise Transformations — Computer-Aided Intuition-Guided Programming IEEE Trans. on SW Eng. 15:2 (1989) 165–180.
Bauer, F.L., Wössner, H.: Algorithmic Language and Program Development. Springer 1982.
Bird, R.S.: Transformational Programming and the Paragraph Problem. Science of Computer Programming 6 (1986) 159–189.
Bird, R., Wadler, Ph.: Introduction to Functional Programming. Prentice Hall, 1988.
Bird, R.: Lectures on Constructive Functional Programming. in: Broy, M. (ed.): Constructive Methods in Computing Science. Springer (1989) 1–65.
Breu, M., Broy, M., Grünler, Th., Nickl, F.: PAnndA-S Semantics. PROSPECTRA Study Note M.2.1.S1-SN-1.4, Universität Passau, 1989.
Broy, M.: Equational Specification of Partial Higher Order Algebras. in: Broy, M. (ed.): Logic of Programming and Calculi of Discrete Design. NATO ASI Series, Vol. F36, Springer (1987) 185–241.
Broy, M.: Predicative Specification for Functional Programs Describing Communicating Networks. Information Processing Letters 25:2 (1987) 93–101.
Broy, M.: An Example for the Design of Distributed Systems in a Formal Setting: The Lift Problem. Universität Passau, Tech. Rep. MIP 8802 (1988).
Broy, M.: Towards a Design Methodology for Distributed Systems. in: Broy, M. (ed.): Constructive Methods in Computing Science. Springer (1989) 311–364.
Broy, M., Pepper, P., Wirsing, M.: On the Algebraic Definition of Programming Languages. ACM TOPLAS 9 (1987) 54–99.
Broy, M., Wirsing, M.: Partial Abstract Types. Acta Informatica 18 (1982) 47–64.
Feijs, L.M.G., Jonkers, H.B.M, Obbink, J.H., Koymans, P.P.J., Renardel de Lavalette, G.R., Rodenburg, P.M.: A Survey of the Design Language Cold. in: Proc. ESPRIT Conf. 86 (Results and Achievements). North Holland (1987) 631–644.
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.
Ganzinger, H.: A Completion Procedure for Conditional Equations. Techn. Bericht No. 243, Fachbereich Informatik, Universität Dortmund, 1987 (to appear in J. Symb. Comp.)
Gordon, M., Milner, R., Wadsworth, Ch.: Edinburgh LCF: A Mechanised Logic of Computation. LNCS 78.
Heckmann, R.: A Functional Language for the Specification of Complex Tree Transformations. in: Proc. European Symposium On Programming '88, LNCS 300 (1988).
Jähnichen, S., Hussain, F.A., Weber, M.: Program Development Using a Design Calculus. in: Rogers, M. W. (ed.): Results and Achievements, Proc. ESPRIT Conf. '86. North Holland (1987) 645–658.
Karlsen, E., Joergensen, J., Krieg-Brückner, B.: Functional in PAnndA-S. PROSPECTRA Study Note S.3.1.C1-SN-10.0, Dansk Datamatic Center, 1988.
Krieg-Brückner, B.: Systematic Transformation of Interface Specifications. in: Meertens, L.G.T.L. (ed.): Program Specification and Transformation, Proc. IFIP TC2 Working Conf. (Tölz '86). North Holland (1987) 269–291.
Krieg-Brückner, B.: Formalisation of Developments: An Algebraic Approach. in: Rogers, M. W. (ed.): Achievements and Impact. Proc. ESPRIT Conf. 87. North Holland (1987) 491–501.
Krieg-Brückner, B.: Algebraic Formalisation of Program Development by Transformation. in: Proc. European Symposium On Programming '88, LNCS 300 (1988) 34–48.
Krieg-Brückner, B.: The PROSPECTRA Methodology of Program Development. in: Zalewski (ed.): Proc. IFIP/IFAC Working Conf. on HW and SW for Real Time Process Control (Warsaw). North Holland (1988) 257–271.
Krieg-Brückner, B.: Algebraic Specification and Functionals for Transformational Program and Meta Program Development. in Díaz, J., Orejas, F. (eds.): Proc. TAPSOFT '89 (Barcelona), Vol. 2. LNCS 352 (1989) 36–59.
Krieg-Brückner, B.: Algebraic Specification with Functionals in Program Development by Transformation. in: ESPRIT '89, Proc. 6th Annual ESPRIT Conference, Kluwer Acad. Publ. (1989) 302–320.
Krieg-Brückner, B. (ed.): PROgram development by SPECification and TRAnsformation: Part I: The PROSPECTRA Methodology, Part II: The PROSPECTRA Language Family, Part III: The PROSPECTRA System. PROSPECTRA Reports M.1.1.S3-R-55.1,-56.1,-57.1. Universität Bremen, 1990. (to be published).
Luckham, D.C., von Henke, F.W., Krieg-Brückner, B., Owe, O.: Anna, a Language for Annotating Ada Programs, Reference Manual. LNCS 260, Springer (1987).
Möller, B.: Algebraic Specification with Higher Order Operators. in: Meertens, L.G.T.L. (ed.): Program Specification and Transformation, Proc. IFIP TC2 Working Conf. (Tölz '86). North Holland (1987) 367–398.
Nickl, F., Broy, M., Breu, M., Dederichs, F., Grünler, Th.: Towards a Semantics of Higher Order Specifications in PAnndA-S. PROSPECTRA Study Note M.2.1.S1-SN-2.0, Universität Passau, 1988.
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.
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.
Reps., Teitelbaum: The Synthesizer Generator. Springer, 1988.
Reps., Teitelbaum: The Synthesizer Generator; Reference Manual. Springer, 1988.
Sintzoff, M.: Expressing Program Developments in a Design Calculus. in: Broy, M. (ed.): Logic of Programming and Calculi of Discrete Design. NATO ASI Series, Vol. F36, Springer (1987) 343–365.
Smith, D.R.: Top-Down Synthesis of Divide-and-Conquer Algorithms. Artificial Intelligence 27:1 (1985) 43–95.
Steinbrüggen, R.: Program Development using Transformational Expressions. Rep. TUM-I8206, Institut für Informatik, TU München, 1982.
Traynor, O.: The Methodology of Verification in PROSPECTRA. PROSPECTRA Study Note S.3.4.-SN-19.0, University of Strathclyde, 1989.
Traynor, O.: The PROSPECTRA Proof Editor. PROSPECTRA Study Note S.3.4.-SN-15.2, University of Strathclyde, 1989.
von Henke, F.W.: An Algebraic Approach to Data Types, Program Verification and Program Synthesis. in: Mazurkiewicz, A. (ed.): Mathematical Foundations of Computer Science 1976. LNCS 45 (1976) 330–336.
Wile, D. S.: Program Developments: Formal Explanations of Implementations. CACM 26: 11 (1983) 902–911. also in: Agresti, W. A. (ed.): New Paradigms for Software Development. IEEE Computer Society Press/North Holland (1986) 239–248.
Wile, D. S.: Organizing Programming Knowledge into Syntax Directed Experts. Proc. Int'l Workshop on Advanced Programming Environments (Trondheim). LNCS 244 (1986) 551–565.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Krieg-Brückner, B. (1991). Transformational meta program development. In: Broy, M., Wirsing, M. (eds) Methods of Programming. Lecture Notes in Computer Science, vol 544. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0018267
Download citation
DOI: https://doi.org/10.1007/BFb0018267
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54576-7
Online ISBN: 978-3-540-38491-5
eBook Packages: Springer Book Archive