Formalization of algebraic specification in the development language Deva

  • Thomas Santen
  • Florian Kammüller
  • Stefan Jähnichen
  • Martin Beyer
Development Systems and Logical Frameworks

Abstract

We show how software development based on algebraic specification can formally be represented in the development language Deva. We have formalized essential parts of the algebraic specification language Spectrum and a semantic development relation. The use of such a representation is three-fold: It makes developments amenable to consistency checks by machine, it documents the development for human readers, and it makes explicit the correspondence of development steps and resulting proof obligations.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Anl93]
    M. Anlauff. Devil: Devas's interactive laboratory. Tutorial and user manual. Technical Report 93-42, Dept. of Computer Science, Technische Universität Berlin, 1993.Google Scholar
  2. [ABS93]
    M. Anlauff, M. Beyer, and T. Santen. Generische Sprachen in Systemen zur formalen Softwareentwicklung. In H. Reichel, editor, Informatik — Wirtschaft — Gesellschaft, Informatik aktuell, pages 247–252. Springer Verlag, 1993.Google Scholar
  3. [BRS93]
    M. Biersack, R. Raschke, and M. Simons. Proof presentation in Deva: The devaweb system. Technical Report 93-39, Dept. of Computer Science, Technische Universität Berlin, December 1993.Google Scholar
  4. [Bir87]
    R. S. Bird. An introduction to the theory of lists. In M. Broy, editor, Logic of Programming and Calculi of Discrete Design, pages 5–42. Springer, 1987.Google Scholar
  5. [BFG93]
    M. Broy, C. Facchi, R. Grosu, et al. The Requirement and Design Specification Language SPECTRUM — An Informal Introduction — Version 1.0. Technical report, Technische Universität München, March 1993.Google Scholar
  6. [BMP86]
    M. Broy, B. Möller, P. Pepper, and M. Wirsing. Algebraic implementations preserve program correctness. Science of Computer Programming, 7:35–53, 1986.CrossRefGoogle Scholar
  7. [CAB86]
    R.L. Constable, S.F. Allen, H.M. Bromley, et al. Implementing Mathematics with the Nuprl Proof Development System. Prentice Hall, 1986.Google Scholar
  8. [CH88]
    Thierry Coquand and Gérard Huet. The calculus of constructions. Information and Computation, 76:95–120, 1988.CrossRefGoogle Scholar
  9. [Bru80]
    N.G. de Bruijn. A survey of the project AUTOMATH. In J.P. Seldin and J.R. Hindley, editors, To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pages 579–606. Academic Press, 1980.Google Scholar
  10. [Gro91]
    Philippe de Groote. Definition et Propiétés d'un métacalcul de représentation de théories. PhD thesis, Université Catholique de Louvain, February 1991.Google Scholar
  11. [EKM82]
    H. Ehrig, H.-J. Kreowski, B. Mahr, and P. Padawitz. Algebraic implementation of abstract data types. Theoretical Computer Science, 20:209–263, 1982.Google Scholar
  12. [EM85]
    H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1. Springer Verlag, 1985.Google Scholar
  13. [EM89]
    H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 2. Springer Verlag, 1989.Google Scholar
  14. [HHP93]
    R. Harper, F. Honsell, and G. Plotkin. A framework for defining logics. Journal of the ACM, 40(1):143–184, January 1993.CrossRefGoogle Scholar
  15. [Hoa72]
    C. A. R. Hoare. Proof of correctness of data representations. Acta Informatica, 1:271–281, 1972.CrossRefGoogle Scholar
  16. [Jon87]
    C.B. Jones. Program specification and verification in VDM. In M. Broy, editor, Logic of Programming and Calculi of Discrete Design, pages 149–184. Springer, 1987.Google Scholar
  17. [JJL91]
    C.B. Jones, K.D. Jones, P.A. Lindsay, and R. Moore. mural: A Formal Development Support System. Springer, 1991.Google Scholar
  18. [Kam94]
    F. Kammüller. Konstruktion von Datentypen und struktureller Induktion am Beispiel von Lazy Listen. Studienarbeit, Dept. of Computer Science, Technische Universität Berlin, 1994.Google Scholar
  19. [Knu84]
    D. E. Knuth. Literate programming. The Computer Journal, 27(2):97–111, 1984.CrossRefGoogle Scholar
  20. [Luo89]
    Z. Luo. ECC, an extended calculus of constructions. In Proc. of the Fourth Ann. Symp. on Logic in Computer Science, pages 386–395, 1989.Google Scholar
  21. [Ned80]
    R.P. Nederpelt. An approach to theorem proving on the basis of a typed lambda calculus. In W. Bibel and R. Kowalski, editors, 5th Conference on Automated Deduction, LNCS 87, pages 182–194. Springer, 1980.Google Scholar
  22. [Old94]
    E.-R. Olderog, editor. IFIP Working Conference on Programming Concepts, Methods and Calculi (PROCOMET'94). North-Holland, 1994.Google Scholar
  23. [SW83]
    D. Sannella and M. Wirsing. A kernel language for algebraic specification and implementation. In Proc. 1983 Intl. Conf. on Foundations of Computation Theory, LNCS 158, pages 413–427. Springer Verlag, 1983.Google Scholar
  24. [ST88]
    D. Sannella and A. Tarlecki. Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Informatica, 25:233–281, 1988.CrossRefGoogle Scholar
  25. [San93]
    T. Santen. Formalization of the Spectrum methodology in Deva: Signature and logical calculus. Technical Report 93-04, Dept. of Computer Science, Technische Universität Berlin, 1993.Google Scholar
  26. [SBR94]
    M. Simons, M. Biersack, and R. Raschke. Literate and structured presentation of formal proofs. In Olderog [Old94], pages 61–81.Google Scholar
  27. [vLe90]
    J. van Leeuwen, editor. Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics. Elsevier, 1990.Google Scholar
  28. [Web93]
    M. Weber. Definition and basic properties of the Deva meta-calculus. Formal Aspects of Computing, 5(5):391–431, 1993.CrossRefGoogle Scholar
  29. [WSL93]
    M. Weber, M. Simons, and C. Lafontaine. The Generic Development Language Deva: Presentation and Case Studies, LNCS 738. Springer, 1993.Google Scholar
  30. [Wir90]
    M. Wirsing. Algebraic Specification, chapter 13 of [vLe90], pages 675–788, 1990.Google Scholar

Copyright information

© Springer-Verlag 1995

Authors and Affiliations

  • Thomas Santen
    • 1
  • Florian Kammüller
    • 1
  • Stefan Jähnichen
    • 1
  • Martin Beyer
    • 1
  1. 1.Technische Universität BerlinDeutschland

Personalised recommendations