Skip to main content
Log in

On hierarchies of abstract data types

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

Hierarchical abstract data types are algebraic specifications of computation structures where certain sorts, function symbols, and axioms are designated as being primitive. On hierarchical abstract data types additional structure is imposed. An algebraic specification is thus decomposed into several well-separated levels, such that both the understanding and the independent implementation of the levels is supported. This paper provides both model-theoretic and deduction-oriented conditions guaranteeing the soundness of a hierarchical specification. Furthermore necessary and sufficient conditions for the existence of initial and terminal models are investigated, and their close connection to the soundness of a hierarchy is demonstrated. In order to provide freedom and flexibility for specifications a wide class of axioms — namely universal-existential formulas — are admitted.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Andreka, H., Burmeister, B., Nemeti, I.: Quasivarieties of partial algebras — a unifying approach towards a two-valued theory of partial algebras. TH Darmstadt, FB Mathematik and Informatik, Preprint Nr. 557, 1980

    Google Scholar 

  2. Bauer, F.L., Broy, M., Dosch, W., Geiselbrechtinger, F., Hesse, W., Krieg-Brückner, B., Laut, A., Matzner, T., Möller, B., Partsch, H., Pepper, P., Samelson, K. (†), Wirsing, M., Wössner, H.: Report on a wide spectrum language for program specification and development (tentative version). Technische Universität München, Institut für Informatik, TUM-I8104, May 1981

  3. Bauer, F.L., Wössner, H.: Algorithmic language and program development. Berlin, Heidelberg, New York: Springer 1982

    Google Scholar 

  4. Bergstra, J.A., Tucker, J.V.: Initial and final algebra semantics for data type specifications: Two characterisation theorems. Afdeling Informatica Amsterdam, IW 142/80, Sept. 1980

  5. Bertoni, A., Mauri, G., Miglioli, P.A.: A characterization of abstract data types as modeltheoretic invariants. In: Maurer, H.A. (ed.). Proc. of the Sixth Colloquium on Automata, Languages and Programming. Graz. Lecture Notes in Computer Science 71, 26–37. Berlin, Heidelberg, New York: Springer 1979

  6. Bertoni, A., Mauri, G., Miglioli, P.A., Wirsing, M.: On different approaches to abstract data types and the existence of recursive models. EATCS Bull. 9, 47–57 (1979)

    CAS  PubMed  Google Scholar 

  7. Birkhoff, G.: Lattice theory (3rd edition). AMS Colloquium Publications 25, Providence, Long Island 1973

  8. Birkhoff, G., Lipson, J.D.: Heterogeneous algebras. J. Combinatorial Theory 8, 115–133 (1970)

    Google Scholar 

  9. Broy, M., Wirsing, M.: Programming languages as abstract data types. In: Dauchet, M. (ed.). Les Arbres en Algèbre et en Programmation. 5ème Colloque de Lille, February 1980, pp. 160–177

  10. Broy, M., Wirsing, M.: Partial abstract types. Acta Informat. 3, 47–64 (1982)

    Google Scholar 

  11. Broy, M., Dosch, W., Partsch, H., Pepper, P., Wirsing, M.: Existential quantifiers in abstract data types. In: Maurer, H.A. (ed.). Proc. of the Sixth Colloquium on Automata, Languages and Programming, Graz. Lecture Notes in Computer Science 71, 73–87. Berlin, Heidelberg, New York: Springer 1979

  12. Burstall, R.M., Goguen, J.A.: Putting theories together to make specifications. Proc. of the Fifth Int. Joint Conf. on Artificial Intelligence. Cambridge, Ma, 1977, pp. 1045–1058

  13. Burstall, R.M., Goguen, J.A.: The semantics of CLEAR: a specification language. In: Bjørner, D. (ed.). Proc. Kopenhagen Winter School on Abstract Software Specification. Lecture Notes in Computer Science 86, 292–332. Berlin, Heidelberg, New York: Springer 1980

  14. Chang, C.C., Keisler, H.J.: Model theory. Studies in logic and the foundations of mathematics, Vol. 73, Amsterdam: North Holland 1973

    Google Scholar 

  15. Ehrich, H.D.: On the theory of specification, implementation and parameterization of abstract data types. Proc. of the Seventh Symposium on Mathematical Foundations of Computer Science, Zakopane, Lecture Notes in Computer Science 64, 155–164. Berlin, Heidelberg, New York: Springer 1978. Also Journal ACM 29:1, 206–227 (1982)

  16. Ehrig, H., Kreowski, HJ., Padawitz, P.: Algebraic implementation of abstract data types: concept, syntax, semantics, and correctness. In: deBakker, J.W., van Leuwen, J. (eds.). Proc. of the Seventh Colloquium on Automata, Languages and Programming. Lecture Notes in Computer Science 85, 142–156. Berlin, Heidelberg, New York: Springer 1980

  17. Ehrig, H.: Algebraic theory of parameterized specifications with requirements. In: Astesiano, E., Boehm, C. (eds.). Proc. of the Sixth Colloquium on Trees in Algebra and Programming. Lecture Notes in Computer Science 112, 1–24. Berlin, Heidelberg, New York: Springer 1979

  18. Ehrig, H., Kreowski, HJ., Thatcher, J.W., Wagner, E.G., Wright, J.B.: Parameterized data types in algebraic specification languages. In: deBakker, J.W., vanLeuwen, J. (eds.). Proc. of the Seventh Colloquium on Automata, Languages and Programming. Lecture Notes in Computer Science 85, 157–168. Berlin, Heidelberg, New York: Springer 1980

  19. Ganzinger, H.: Parameterized specifications: parameter passing and implementation. ACM TOPLAS 5: 3 (1983)

    Google Scholar 

  20. Giarratana, V., Gimona, F., Montanari, U.: Observability concepts in abstract data type specification. In: Winkowski, J. (ed.). Proc. of the Fifth Symposium on Mathematical Foundations of Computer Science. Lecture Notes in Computer Science 45, 567–587. Berlin, Heidelberg, New York: Springer 1979

  21. Goguen, J.A.: Abstract errors for abstract data types. Proc. IFIP Working Conference on Formal Description of Programming Concepts, St. Andrews 1977

  22. Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An initial algebra approach to the specification, correctness, and implementation of abstract data types. In: Yeh, R.T. (ed.). Current Trends in Programming Methodology, Vol. 3, Data Structuring, 80–149. Englewood Cliffs, N.J.: Prentice Hall 1978

    Google Scholar 

  23. Goguen, J.A., Thatcher, J.W., Wagner, E.G.: Initial algebra semantics and continuous algebras. J. ACM 24, 68–95 (1977)

    Google Scholar 

  24. Grätzer, G.: Universal algebra. Princeton, N.J.: van Nostrand 1968

    Google Scholar 

  25. Guttag, J.V.: The specification and application to programming of abstract data types. Ph.D. Thesis, Univ. of Toronto, Dept. of Comp. Sci., Rep. CSRG-59, 1975

  26. Hornung, G., Raulefs, P.: Terminal algebra semantics and retractions for abstract data types. In: deBakker, J.W., vanLeuwen, J. (eds.). Proc. of the Seventh Colloquium on Automata, Languages and Programming. Lecture Notes in Computer Science 85, 310–323. Berlin, Heidelberg, New York: Springer 1980

  27. Lescanne, P.: Etude algébrique et relationelle des types abstraits et de leurs représentations. Thèse d'Etat, Nancy, September 1979, Rapport de Recherche 79-I-059, 1979

  28. Liskov, B., Zilles, S.: Programming with abstract data types. Proc. ACM Sigplan Conf. on Very High Level Languages. SIGPLAN Notices 9, 4, 55–59 (1974)

    Google Scholar 

  29. Liskov, B., Zilles, S.: Specification techniques for data abstraction. IEEE Trans. Software Engrg. 1:1, 7–18 (1975)

    Google Scholar 

  30. Loeckx, J.: Algorithmic specifications of abstract data types. In: Even, S., Kariv, O. (eds.). Proc. of the Eighth Colloquium on Automata, Languages and Programming. Lecture Notes in Computer Science 115, 129–147. Berlin, Heidelberg, New York: Springer 1981

  31. Majster, M.E.: Treatment of partial operations in the algebraic specification technique. Proc. of Specifications of Reliable Software, Boston, IEEE Catalog No. 79 CH 1401-9C, 1979

  32. Manna, Z.: Mathematical theory of computation. New York: McGraw-Hill 1974

    Google Scholar 

  33. Milner, R.: Fully abstract models of typed λ-calculi. Theoretical Comput. Sci. 4, 1–22 (1977)

    Google Scholar 

  34. Partsch, H., Broy, M.: Examples for change of types and object structure. In: Bauer, F.L., Broy, M. (eds.). Program Construction. Proc. of an Intern. Summer School, Marktoberdorf 1978. Lecture Notes in Computer Science 69, 421–463. Berlin, Heidelberg, New York: Springer 1979

  35. Pepper, P.: A Study on Transformational Semantics. In: Bauer, F.L., Broy, M. (eds.). Program Construction. Proc. of an Intern. Summer School, Marktoberdorf 1978. Lecture Notes in Computer Science 69, 322–405. Berlin, Heidelberg, New York: Springer 1979

  36. Prawitz, D.: Natural deduction. Stockholm: Almqvist and Wiksell 1965

    Google Scholar 

  37. Reichel, H.: Theorie der Aequoide. Dissertation B, Humboldt Universität Berlin 1979

  38. Shoenfield, J.R.: Mathematical logic. Reading, Ma. Addison-Wesley 1967

    Google Scholar 

  39. Thatcher, J.W., Wagner, E.G., Wright, J.B.: Data type specification: parameterization and the power of specification techniques. Proc. SIGACT 10th Annual Symposium on the Theory of Computing, 1978

  40. Thatcher, J.W., Wagner, E.G., Wright, J.B.: Specification of abstract data types using conditional axioms. IBM Research Report RC-6214, 1977

  41. Wand, M.: Final algebra semantics and data type extensions. Indiana University. Computer Science Department. Technical Report No. 65, 1978

  42. Wirsing, M., Broy, M.: Abstract data types as lattices of finitely generated models. In: P. Dembinski (ed.): Proc. of the Ninth Symposium on Math. Foundations of Computer Science, Rydzyna, Poland. Lecture Notes in Computer Science 88, 673–685. Berlin, Heidelberg, New York: Springer 1980

  43. Wirsing, M., Broy, M.: An analysis of semantic models for algebraic specifications. In: Broy, M., Schmidt, G. (eds.). Theoretical foundations of programming methodology. Dordrecht: Reidel, pp. 351–412, 1982

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wirsing, M., Pepper, P., Partsch, H. et al. On hierarchies of abstract data types. Acta Informatica 20, 1–33 (1983). https://doi.org/10.1007/BF00264293

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00264293

Keywords

Navigation