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.
Similar content being viewed by others
References
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
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
Bauer, F.L., Wössner, H.: Algorithmic language and program development. Berlin, Heidelberg, New York: Springer 1982
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
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
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)
Birkhoff, G.: Lattice theory (3rd edition). AMS Colloquium Publications 25, Providence, Long Island 1973
Birkhoff, G., Lipson, J.D.: Heterogeneous algebras. J. Combinatorial Theory 8, 115–133 (1970)
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
Broy, M., Wirsing, M.: Partial abstract types. Acta Informat. 3, 47–64 (1982)
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
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
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
Chang, C.C., Keisler, H.J.: Model theory. Studies in logic and the foundations of mathematics, Vol. 73, Amsterdam: North Holland 1973
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)
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
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
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
Ganzinger, H.: Parameterized specifications: parameter passing and implementation. ACM TOPLAS 5: 3 (1983)
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
Goguen, J.A.: Abstract errors for abstract data types. Proc. IFIP Working Conference on Formal Description of Programming Concepts, St. Andrews 1977
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
Goguen, J.A., Thatcher, J.W., Wagner, E.G.: Initial algebra semantics and continuous algebras. J. ACM 24, 68–95 (1977)
Grätzer, G.: Universal algebra. Princeton, N.J.: van Nostrand 1968
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
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
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
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)
Liskov, B., Zilles, S.: Specification techniques for data abstraction. IEEE Trans. Software Engrg. 1:1, 7–18 (1975)
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
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
Manna, Z.: Mathematical theory of computation. New York: McGraw-Hill 1974
Milner, R.: Fully abstract models of typed λ-calculi. Theoretical Comput. Sci. 4, 1–22 (1977)
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
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
Prawitz, D.: Natural deduction. Stockholm: Almqvist and Wiksell 1965
Reichel, H.: Theorie der Aequoide. Dissertation B, Humboldt Universität Berlin 1979
Shoenfield, J.R.: Mathematical logic. Reading, Ma. Addison-Wesley 1967
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
Thatcher, J.W., Wagner, E.G., Wright, J.B.: Specification of abstract data types using conditional axioms. IBM Research Report RC-6214, 1977
Wand, M.: Final algebra semantics and data type extensions. Indiana University. Computer Science Department. Technical Report No. 65, 1978
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
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
Author information
Authors and Affiliations
Rights 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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF00264293