Theory and practice of canonical term functors in abstract data type specifications

  • Christoph Beierle
  • Angelika Voss
Session CFLP 6 Types, Polymorphism And Abstract Data Type Specifications
Part of the Lecture Notes in Computer Science book series (LNCS, volume 250)


Term algebras have been widely used in the theory of abstract data types. Here, the concept of canonical term algebra is generalized to the notion of canonical term functor, which is useful for various aspects of abstract data type specifications. In particular, we show how canonical term functors provide a constraint mechanism in loose specifications and how they constitute a junction between axiomatic and constructive approaches. These concepts are the semantic base for the specification development language ASPIK which has been implemented as a core component of an integrated software development and verification system.


Partial Algebra Abstract Data Type Signature Morphism Constructor Property Algebraic Specification 
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.


  1. [BG 77]
    Burstall, R.M., Goguen, J.A.: Putting Theories together to Make Specifications. Proc. 5th IJCAI, 1977, pp. 1045–1058.Google Scholar
  2. [BG 80]
    Burstall, R.M., Goguen, J.A.: The semantics of Clear, a specification language. Proc. of Advanced Course on Abstract Software Specifications, Copenhagen. LNCS Vol.86, pp. 292–332.Google Scholar
  3. [BG 81]
    Burstall, R.M., Goguen, J.A.: An informal introduction to specifications using Clear. in: The Correctness problem in Computer Science (Eds. R.S. Boyer, J.S. Moore). Academic Press 1981.Google Scholar
  4. [BOV 86]
    Beierle, C., Olthoff, W., Voß, A.: Towards a formalization of the software development process. Proc. Software Engineering '86, Southampton, U.K. (Eds. D. Barnes, P. Brown). Peter Peregrinus Ltd., pp. 130–144, 1986.Google Scholar
  5. [BV 85]
    Beierle, C., Voß, A.: Algebraic Specifications and Implementations in an Integrated Software Development and Verification System. Memo SEKI-85-12, FB Informatik, Univ. Kaiserslautern, (joint SEKI-Memo containing the Ph.D. thesis by Ch. Beierle and the Ph.D. thesis by A. Voß), Dec. 1985.Google Scholar
  6. [Cart 80]
    Cartwright, R.: A constructive alternative to abstract data type definitions. Proc. 1980 LISP Conf., Stanford University, pp. 46–55, 1980.Google Scholar
  7. [CIP 85]
    CIP Language Group: The Munich Project CIP, Vol. I: The Wide Spectrum Language CIP-L. LNCS, Vol. 183, 1985.Google Scholar
  8. [EKTWW 80]
    Ehrig, H., Kreowski, H.-J., Thatcher, J., Wagner, E., Wright, J.: Parameterized data types in algebraic specification languages, Proc. 7th ICALP, LNCS Vol. 85, 1980, pp. 157–168.Google Scholar
  9. [EM 85]
    Ehrig, H., Mahr, B.: fundamentals of Algebraic Specifications 1 — Equations and Initial Semantics, Springer Verlag, 1985.Google Scholar
  10. [EWT 82]
    Ehrig, H., Wagner, E., Thatcher, J.: Algebraic Constraints for specifications and canonical form results. Draft version, TU Berlin, June 1982.Google Scholar
  11. [EWT 83]
    Ehrig, H., Wagner, E., Thatcher, J.: Algebraic specifications with generating constraints, Proc. ICALP 83, LNCS 154, 1983, pp. 188–202.Google Scholar
  12. [GB 83]
    Goguen, J.A., Burstall, R.M.: Institutions: Abstract Model Theory for Program Specification. Draft version. SRI International and University of Edinburgh, January 1983, revised 1985.Google Scholar
  13. [GGM 76]
    Giarratana, V., Gimona, F., Montanari, V.: Observability concepts in abstract data type specifications. 5th MFCS, LNCS 45, 1976, pp. 576–587.Google Scholar
  14. [GTW 78]
    Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An initial algebra approach to the specification, correctness, and implementation of abstract data types, in: Current Trends in Programming Methodology, Vol.4, Data Structuring (ed. R. Yeh), Prentice-Hall, 1978, pp. 80–144. also: IBM Research Report RC 6487, 1976.Google Scholar
  15. [HKR 80]
    Hupbach, U.L., Kaphengst, H., Reichel, H.: Initial algebraic specifications of data types, parameterized data types, and algorithms. VEB Robotron, Zentrum für Forschung und Technik, Dresden, 1980.Google Scholar
  16. [Kam 80]
    Kamin S.: Final data type specifications: a new data type specification method. 7th POPL, Las Vegas, 1979.Google Scholar
  17. [Karl 84]
    Karl Mark G Raph: The Markgraf Karl Refutation Procedure. SEKI-Projekt, Memo SEKI-MK-34-01, Univ. Kaiserslautern, 1984.Google Scholar
  18. [Kl 83]
    Klaeren, H.: Algebraische Spezifikation. Springer Verlag, 1983.Google Scholar
  19. [Kl 84]
    Klaeren, H.: A constructive method for abstract algebraic software specification. TCS, Vol.30, No. 2, pp. 139–204, Aug. 1984.Google Scholar
  20. [Lo 84]
    Loeckx, J.: Algorithmic specifications: A constructive specification method for abstract data types. Bericht A 84/03, Fachrichtung Informatik, Universität des Saarlandes, April 1984. (to appear in TOPLAS)Google Scholar
  21. [Pad 79]
    Padawitz, P.: Proving the correctness of implementations by exclusive use of term algebras. Bericht Nr. 79-8, TU Berlin, Fachbereich Informatik, 1979.Google Scholar
  22. [Pad 83]
    Padawitz, P.: Correctness, Completeness, and Consistency of Equational Data Type Specifications. Dissertation, TU Berlin, Fachbereich Informatik, Bericht Nr. 83-15, 1983.Google Scholar
  23. [SW 82]
    Sannella, D.T., Wirsing, M.: Implementation of parameterized specifications, Proc. 9th ICALP 1982, LNCS Vol. 140, pp 473–488.Google Scholar
  24. [Tho 84]
    Thomas, Ch.: RRLab — Rewrite Rule Labor. Entwurf, Spezifikation und Implementierung eines Software-werkzeuges zur Erzeugung und Vervollständigung von Rewrite-Rule Systemen. SEKI-Projekt, Memo SEKI-84-01, Univ. Kaiserslautern, FB Informatik, 1984.Google Scholar
  25. [TWW 82]
    Thatcher, J.W., Wagner, E.G., Wright, J.B.: Data Type Specification: Parameterization and the Power of Specification Techniques. ACM TOPLAS Vol. 4, No. 4, Oct. 1982, pp. 711–732.Google Scholar
  26. [Wa 79]
    Wand, M.: Final algebra semantics and data type extensions. J. Comp. Syst. Sci. 19, 1979.Google Scholar
  27. [ZLT 82]
    Zilles, S.N., Lucas, P., Thatcher, J.W.: A Look at Algebraic Specifications. RJ 3568 (41985), IBM Research Division Yorktown Heights, New York, 1982.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Christoph Beierle
    • 1
  • Angelika Voss
    • 2
  1. 1.TK LILOG, IBM Deutschland GmbHStuttgart 1
  2. 2.GMD, Gruppe ExpertensystemeSt. Augustin 1

Personalised recommendations