Skip to main content

Equations Compared with Clauses for Specification of Abstract Data Types

  • Chapter
Advances in Data Base Theory

Abstract

Our goal is to obtain a specification of a relational data base as an abstract data type in such a way that a computer program can simulate on a small scale the intended use of the data base by generating formal consequences of the specification (that is, without the existence of any implementation of the data base). There are two candidates for the specification formalism to be used: equations and the Horn clauses of logic.

Apart from a specification of a relational data base, the paper is devoted entirely to a comparison between equations and clauses. We compare three aspects: mathematical semantics, the computational aspect, and expressiveness. We propose to discard equations as a distinct formalism, but will regard them as a special case of clauses. In principle we use as specification a clausal sentence containing literally the equations conventionally used in data type specification, but we find certain slight departures conducive to clarity. As program (to be executed by a PROLOG processor) we use another sentence obtained from the specification by a translation process that guarantees correctness.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ADA: Ichbiah, J.D., Barnes, J.G.P., Heliard, J.C., Krieg-Brueckner, B., Roubine, O., Wichmann, B.A. [1979] Preliminary ADA Reference Manual and Rationale for the Design of the ADA Programming Language, SIGPLAN Notices 14, 6 (June 1979).

    Google Scholar 

  2. ADJ — Goguen, J.A., Thatcher, J.W., Wagner, E.G., and Wright, J.B. [1978] “An Initital Algebra Approach to the Specification, Correctness, and Implementation of Abstract Data Types,” In: Current Trends in Programming Methodology 4 (R. T. Yeh, Ed.), Prentice-Hall, 1978, 80–149.

    Google Scholar 

  3. de Carvalho, R.L., Maibaum, T.S.E., Pequeno, T.H.C., Pereda Borquez, A.A., and Veloso, P.A.S. [1979] “A Model-Theoretic Approach to the Semantics of Data Types and Structures,” Technical Report, DI-PUC/RJ, Rio De Janeiro, Brazil, 1979.

    Google Scholar 

  4. Clark, K. L., and Tärnlund [1977] “A First-Order Theory of Data and Programs,” Proc. IFIP 1977, 939–944.

    Google Scholar 

  5. Colombetti, M., Paolini, P., and Pelagatti, G. [1978] “Non-deterministic Languages Used for the Definition of Data Models”, In: Logic and Data Bases (H. Gallaire and J. Minker, Eds.) Plenum Press, 1978, 237–257.

    Google Scholar 

  6. Courcelle, B. [1979] “Infinite Trees in Normal Form and Recursive Equations Having a Unique Solution,” Technical Report 7906, U.E.R. de mathematique et informatique U. de Bordeaux I, 1979.

    Google Scholar 

  7. van Emden, M.H. and Kowalski, R.A. [1976] “The Semantics of Predicate Logic as a Programming Language,” J. ACM 23 (1976), 733–742.

    Article  MATH  Google Scholar 

  8. Goguen, J.A. [1977] “Abstract Errors for Abstract Data Types,” Proc. of IFIP Working Conference on Formal Description of Programming Concepts, North-Holland, 1977.

    Google Scholar 

  9. Goguen, J. A. [1978] “Some Design Principles and Theory for OBJ-O, A Language to Express and Execute Algebraic Specifications of Programs” Proc. of International Conference on Mathematical Studies of Information Processing, Kyoto, 1978, 429–475.

    Google Scholar 

  10. Gotlieb, C. C. and Gotlieb, L. R. [1978] Data Types and Structures, Prentice-Hall, 1978.

    MATH  Google Scholar 

  11. Guttag, J. V. [1977] “Abstract Data Types and the Development of Data Structures,” CACM 20, 6 (1977), 396–404.

    Google Scholar 

  12. Guttag, J. and Horning, J. J. [1980]. “Formal Specification as a Design Tool,” In: 7th Annual Sump. on Principles of Programming Languages, 1980, 251–261

    Google Scholar 

  13. Hoare, C.A.R. [1972] “Proof of Correctness of Data Representa-tionsV” Acta Informatica 1, 1 (1972), 271–281.

    Article  MATH  Google Scholar 

  14. Hoffman, C., and O’Donnell, M. [1979] “Interpreter Generation Using Tree Pattern Matching” 6th Annual Symp. on Principles of Programming Languages (1979) 169–179.

    Google Scholar 

  15. Huet, G. [1977] “Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems,” Proc. of the 18th IEEE Symp. on Foundations of Computer Science, Providence (1977) 30–45.

    Google Scholar 

  16. Huet, G., and Lankford, D. [1978] “On the Uniform Halting Problem for Term Rewriting Systems,” IRIA Laboria Report 283, 1978.

    Google Scholar 

  17. Kowalski, R. A. [1979] Logic for Problem-Solving, North-Holland, New York (1979).

    MATH  Google Scholar 

  18. Kowalski, R. A. and Kuehner, D. [1971] “Linear Resolution with Selection Function,” Artificial Intelligence 2, 227–260.

    Article  MATH  MathSciNet  Google Scholar 

  19. Lampson, B.W. et al. [1977] “Report on the Programming Language Euclid,” SIGPLAN Notices 12, #2 (Feb. 1977).

    Google Scholar 

  20. Levy, M. R. [1978a] “Verification of Programs with Data Referencing”, Proc. of 3 me Colloque International sur la Programmation, Dunod (1978) 411–426.

    Google Scholar 

  21. Levy, M. R. [1978b] Data Types with Sharing and Circularity, Ph.D. Thesis, Dept. of Comp. Sci., U. of Waterloo, 1978. (Technical Report CS-78–26)

    Google Scholar 

  22. Liskov, B., Snyder, A., Atkinson, R., and Schaffert, C. [1977] “Abstraction Mechanisms in CLU”, CACM 20, 8 (1977), 564–576.

    MATH  Google Scholar 

  23. Liskov, B. H., and Zilles, S. N. [1975] “Specification Techniques for Data Abstractions,” IEEE TSE, SE-1, No. 1, 1975, 7–18.

    Google Scholar 

  24. Lockemann, P. C., and Wohlleber, W. H. [1979] “Constraints and Transactions: Extensions to the Algebraic Specification Method,” Technical Report, University of Karlsruhe, 1979.

    Google Scholar 

  25. Maibaum, T.S.E. [1979b] “Data Base Instances, Abstract Data Types and Data Base Specifications.”

    Google Scholar 

  26. Nivat, M. [1973] “On the Interpretation of Recursive Polyadic Program Schemes,” Atti dei Convegno d’Informatica Teorica, Rome, 1973.

    Google Scholar 

  27. O’Donnell, M. J. [1977] “Computing in Systems Described by Equations,” Lecture Notes in Computer Science 58, Springer-Verlag, 1977.

    MATH  Google Scholar 

  28. Rosen, B. K. [1973] “Tree-Manipulating Systems and Church-Rosser Theorems,” J. ACM 20 (1973), 160–187.

    Article  MATH  Google Scholar 

  29. Shaw, M., Wulf, W. A., and London, R. I. [1977] “Abstraction and Verification in ALPHARD: Defining and Specifying Iteration and Generators,” CACM 20, 8 (1977) 553–564.

    MATH  Google Scholar 

  30. Zilles, S. N. [1974] “Algebraic Specification of Data Types,” Project MAC Progress Report II, MIT (1974), 28–52.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1981 Plenum Press, New York

About this chapter

Cite this chapter

van Emden, M.H., Maibaum, T.S.E. (1981). Equations Compared with Clauses for Specification of Abstract Data Types. In: Gallaire, H., Minker, J., Nicolas, J.M. (eds) Advances in Data Base Theory. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-8297-7_7

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-8297-7_7

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4615-8299-1

  • Online ISBN: 978-1-4615-8297-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics