Advertisement

Systematics of transformation rules

  • F. L. Bauer
  • M. Broy
  • H. Partsch
  • P. Pepper
  • H. Wössner
III. Program Development By Transformation
Part of the Lecture Notes in Computer Science book series (LNCS, volume 69)

Abstract

There are essentially two ways to attack the problem of the "correctness" of program transformations: transformation rules can be given as axioms — thus determining (parts of) the semantics of the language — or they can be verified with respect to a particular definition of the semantics. This classification is taken here as a guide-line for a systematic survey of transformation rules.

Keywords

Transformation Rule Applicative Level Program Scheme Program Transformation Applicability Condition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literature

  1. /Arsac 77/.
    J. Arsac: La Construction de Programmes Structurés. Paris: Dunod 1977Google Scholar
  2. /de Bakker 69/.
    J. W. de Bakker: Semantics of Programming Languages. In: J. T. Tou (ed.): Advances in Information System Sciences 2, New York: Plenum Press 1969, 173–227Google Scholar
  3. /Balzer 77/.
    R. M. Balzer: Correct and Efficient Software Implementation via Semi-Automatic Transformations (Research Proposal, unpublished)Google Scholar
  4. /Bauer 73/.
    F. L. Bauer: A Philosophy of Programming. A Course of three Lectures given at the University of London, October 1973. Also in: Proc. Intern. Summer School on Language Hierarchies and Interfaces, Marktoberdorf 1975. Lecture Notes in Computer Science 46. Berlin, Heidelberg, New York: Springer 1976Google Scholar
  5. /Bauer 76/.
    F. L. Bauer: Programming as an Evolutionary Process. Technische Universität München, Institut für Informatik, Rep. No. 7617, 1976. Also: Proc 2nd Int. Conf. on Software Engineering, Oct, 1976, San Francisco, Ca., 223–234Google Scholar
  6. /Bauer et al. 76/
    F. L. Bauer, H. Partsch, P. Pepper, H. Wössner: Techniques for Program Development. Technische Universität München, Institut für Informatik, Interner Bericht, Sept. 1976. Also in: Software Engineering Techniques. Infotech State of the Art Report 34, 1977, 27–50Google Scholar
  7. /Bauer et al. 77/
    F. L. Bauer, H. Partsch, P. Pepper, H. Wössner: Notes on the Project CIP: Outline of a Transformation System. Technische Universität München, Institut für Informatik, TUM-INFO-7729, 1977Google Scholar
  8. /Bauer et al. 78/
    F. L. Bauer, M. Broy, R. Gnatz, W. Hesse, B. Krieg-Brückner, H. Partsch, P. Pepper, H. Wössner: Towards a Wide Spectrum Language to Support Program Specification and Program Development. SIGPLAN Notices 13 (12), 15–24 (1978). See also this volume.Google Scholar
  9. /Bauer 78 a/.
    F. L. Bauer: Program Development by Stepwise Transformations — the Project CIP. This volumeGoogle Scholar
  10. /Bauer 78 b/.
    F. L. Bauer: Detailization and Lazy Evaluation, Infinite Objects and Pointer Representation. This volumeGoogle Scholar
  11. /Bauer, Wössner 79/.
    F. L. Bauer, H. Wössner: Algorithmic Language and Program Development. London: Prentice-Hall International 1979Google Scholar
  12. /Broy 78/.
    M. Broy: A Case Study in Program Development: Sorting. Technische Universität München, Institut für Informatik, TUM-INFO-7831, 1978Google Scholar
  13. /Broy et al. 78 a/
    M. Broy, R. Gnatz, M. Wirsing: Problemspezifikation — eine Grundlage für Programmentwicklung. Workshop on Reliable Software, Bonn University, September 22–23, 1978. To appear in Hanser Verlag.Google Scholar
  14. /Broy et al. 78 b/
    M. Broy, R. Gnatz, M. Wirsing: Semantics for Nondeterministic and Noncontinuous Constructs. This volume.Google Scholar
  15. /Burstall, Darlington 75/.
    R. M. Burstall, J. Darlington: Some Transformations for Developing Recursive Programs. Proc. of 1975 Int. Conf. on Reliable Software, Los Angeles 1975, 465–472. Also (revised version) J. ACM 24, 1, 44–67 (1977)Google Scholar
  16. /Burstall, Feather 78/.
    R. Burstall, M. Feather: Program Development by Transformations: an Overview. Proc. of Toulouse CREST Course on Programming, Toulouse, 1978Google Scholar
  17. /Cooper 66/.
    D. C. Cooper: The Equivalence of Certain Computations. Comp. J. 9, 45–52 (1966)Google Scholar
  18. /Courcelle, Nivat 76/.
    B. Courcelle, M. Nivat: Algebraic Families of Interpretations. 17th Symposium on Foundations of Computer Science, Houston 1976Google Scholar
  19. /Darlington, Burstall 76/.
    J. Darlington, R. M. Burstall: A System which Automatically Improves Programs. Acta Informatica 6, 41–60 (1976)Google Scholar
  20. /Darlington 76/.
    J. Darlington: A Synthesis of Several Sorting Algorithms. D.A.I. Research Report no. 23, Dept. of Artificial Intelligence, University of Edinburgh, 1976Google Scholar
  21. /DeRemer 74/.
    F. L. DeRemer: Transformational Grammars. In: F.L. Bauer, J. Eickel (eds.): Compiler Construction. An Advanced Course. Lecture Notes in Computer Science 21. Berlin, Heidelberg, New York: Springer 1974, 121–145Google Scholar
  22. /Friedman, Wise 78/.
    D. P. Friedman, D. S. Wise: Functional Combination. Computer Languages 3, 31–35 (1978)Google Scholar
  23. /Feather 78/.
    M. S. Feather: Program Transformations Applied to the Telegram Problem. In: B. Robinet (ed.): Program Transformations. Proc. of the 3rd International Symposium on Programming, March 28–30, 1978, Paris: Dunod 1978, 173–186Google Scholar
  24. /Gerhart 75/.
    S. L. Gerhart: Correctness-Preserving Program Transformations. Conf. Rec. Second ACM Symp. on Principles of Programming Languages, Jan. 1975, 54–66Google Scholar
  25. /Gerhart 76/.
    S. L. Gerhart: Control Structure Abstractions of the Backtracking Programming Technique. 2nd Int. Conf. on Software Engineering, 1976, 44–49Google Scholar
  26. /Igarashi 64/.
    S. Igarashi: An Axiomatic Approach to the Equivalence Problems of Algorithms with Applications. PhD Thesis, University of Tokyo (1964). Reprinted in: Report of the Computer Center Univ. of Tokyo, 1, 1–101 (1968)Google Scholar
  27. /Loveman 77/.
    D. B. Loveman: Program Improvement by Source-to-Source Transformation. J. ACM 24: 1, 121–145 (1977)Google Scholar
  28. /Partsch, Pepper 76/.
    H. Partsch, P. Pepper: A Family of Rules for Recursion Removal Related to the Towers of Hanoi Problem. Technische Universität München, Institut für Informatik, Rep. No. 7612, 1976. Also Inf. Proc. Letter 5: 6, 174–177 (1976)Google Scholar
  29. /Partsch, Pepper 77/.
    H. Partsch, P. Pepper: Program Transformations on Different Levels of Programming. Technische Universität München, Institut für Informatik, TUM-INFO-7715, 1977Google Scholar
  30. /Partsch, Broy 78/.
    H. Partsch, M. Broy: Examples for Change of Types and Object Structures. This volume.Google Scholar
  31. /Paterson, Hewitt 70/.
    M. S. Paterson, C. E. Hewitt: Comparative Schematology. In: Record of the Project MAC Conf. on Concurrent Systems and Parallel Computation, New York: ACM 1970, 119–127Google Scholar
  32. /Pepper 78/.
    P. Pepper: A Study on Transformational Semantics. Dissertation, Munich 1978. See also this volumeGoogle Scholar
  33. /Pepper et al. 78/
    P. Pepper, H. Partsch, H. Wössner, F. L. Bauer: A Transformational Approach to Programming. In: B. Robinet (ed.): Program Transformations. Proc. of the 3rd International Symposium on Programming, March 28–30, 1978, Paris: Dunod 1978Google Scholar
  34. /Rosen 73/.
    B. K. Rosen: Tree-Manipulating Systems and Church-Rosser Theorems. Journal ACM 20: 1, 160–187 (1973)Google Scholar
  35. /Standish et al. 76/
    T. A. Standish, D. C. Harriman, D. F. Kibler, J. M. Neighbors: The Irvine Program Transformation Catalogue. Dep. Inform. and Comp. Sc., University of California at Irvine, Irvine, Calif., Jan. 1976Google Scholar
  36. /Standish et al. 76/
    T. A. Standish, D. C. Harriman, D. F. Kibler, J. M. Neighbors: Improving and Refining Programs by Program Manipulation. Proc. 1976 ACM Annual Conf., Oct. 1976, 509–516Google Scholar
  37. /Strong 71/.
    H. R. Strong: Translating Recursion Equations into Flow Charts. In: Proc. 2nd Annual ACM Symposium on Theory of Computing, New York 1970, 184–197. Also J. CSS 5, 254–285 (1971)Google Scholar
  38. /Weber 76/.
    J. Weber: Programmtransformationen mit Attributierten Transformationsgrammatiken. Technische Universität München, Institut für Informatik, Rep. No. 7604, 1976Google Scholar
  39. /Wegbreit 76/.
    B. Wegbreit: Goal-Directed Program Transformation. IEEE Transactions on Software Engineering, vol. SE-2, no. 2, 69–80 (1976)Google Scholar
  40. /Wössner et al. 78/
    H. Wössner, P. Pepper, H. Partsch, F. L. Bauer: Special Transformation Techniques. This volumeGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1979

Authors and Affiliations

  • F. L. Bauer
    • 1
  • M. Broy
    • 1
  • H. Partsch
    • 1
  • P. Pepper
    • 1
  • H. Wössner
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenMünchen

Personalised recommendations