Summary
Hierarchical abstract types, where particular sorts, operations, and axioms are designated as primitive, with conditional equational formulas are studied. Introducing notions of different homomorphisms particular models of this class can be distinguished as initial or (weakly) terminal. Sufficient conditions for the existence of such models are given and their relationship to the principle of fully abstract semantics is investigated. By this the concept of algebraic specification is extended to specify the semantics of programming languages in a completely abstract algebraic way as it is demonstrated for two toy languages.
Similar content being viewed by others
References
Andréka, H., Burmeister, B., Németi, I.: Quasivarieties of partial algebras — a unifying approach towards a two-valued model theory for partial algebras. TH Darmstadt, FB Mathematik, Preprint Nr. 557
Bauer, F.L., Wössner, H.: Algorithmische Sprache und Programmentwicklung. Berlin-Heidelberg-New York: Springer 1981
Bergstra, J.A., Broy, M., Tucker, J.V., Wirsing, M.: On the power of algebraic specifications. In: Gruska, J. (ed.): 10th MFCS, Strbske Pleso, CSSR, Sept. 1981. LNCS118, 193–204 (1981)
Bergstra, J.A., Tucker, J.V.: A characterization of computable data types by means of a finite, equational specification method. Math. Centr. Rep. IWi24/79, 1979
Bertoni, A., Mauri, G., Miglioli, P.A., Wirsing, M.: On different approaches to abstract data types and the existence of recursive models. EATCS Bulletin No.9, 47–57 (1979)
Broy, M.: Transformational semantics for concurrent programs. IPL11, 87–91 (1980)
Broy, M., Wirsing, M.: Algebraic definition of a functional programming language. TU München, Tech. Rep. TUM-I8008, to appear in RAIRO Computer Science
Broy, M., Wirsing, M.: Programming languages as abstract data types. In: Dauchet, M. (ed.): 5ème Coll. sur les Arbres en Algèbre et Programmation, Lille 1980, Univ. de Lille, 160–177 (1980)
Broy, M., Wirsing, M.: Partial recursive functions and abstract data types. EATCS Bulletin11, 34–41 (1980)
Broy, M., Wirsing, M.: On the algebraic specification of nondeterministic programming languages. In: Astesiano, E., Böhm, C. (eds.): 6th Colloquium on Trees in Algebra and Programming. LNCS112, 162–179 (1981)
Broy, M., Wirsing, M.: On the algebraic extension of abstract data types. In: Diaz, J., Ramos, I. (eds.): Formalization of Programming Concepts. LNCS107, 244–251 (1981)
Broy, M., Wirsing, M.: On the algebraic specification of finitary infinite communicating sequential processes. In: Bjørner, D. (ed.): IFIP Wkng. Conf. on Formal Description of Programming Language Concepts, Garmisch, June 1982 (to appear)
Broy, M., Pair, C., Wirsing, P.: A systematic study of models of abstract data types. Centre de Recherche en Informatique de Nancy, Rapport 81-R-042, 1981
Burstall, R.M., Goguen, J.A.: Putting theories together to make specifications. 5th Int. Conf. en Artificial Intelligence, Cambridge, Mass., pp. 1045–1058, 1977
Courcelle, B., Nivat, M: The algebraic semantics of programm schemas. In: Winkowski, J. (ed.): 7th MFCS (1978), LNCS64, 16–30 (1978)
Ehrich, H.D., Lipeck, U.: Proving implementations correct — two alternative approaches. In: Lavington, D. (ed.): IFIP-Congress 80. Amsterdam: North-Holland, pp. 83–88 (1980)
Ehrig, H., Kreowski, H.J., Thatcher, J.W., Wagner, E.G., Wright, J.B.: Parameterized data types in algebraic specification languages. In: De Bakker, J., van Leenwen, J. (eds.): 7th ICALP (1980), LNCS85, 157–168 (1980)
Gaudel, M.C.: Génération et preuve de compilateurs basés sur une sémantique formelle des langages de programmation. Thèse d'Etat, Nancy, March 1980
Giarratana, V., Gimona, F., Montanari, U.: Observability concepts in abstract data type specifications. In: A. Mazurkiewicz (ed.): 5th MFCS (1976), LNCS45, 576–587 (1976)
Goguen, J.A.: Abstract errors for abstract data types. UCLA Semantics and Theory of Computation Report 46, Proc. IFIP Wkng. Confr. Formal Description of Programming Language Concepts, St. Andrews, 21.1–21.32, 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: Current Trends in Programming Methodology IV: Data Structuring (R. Yeh, ed.), pp. 80–144, Englewood Cliffs: Prentice Hall 1978
Grätzer, G.: Universal algebra. Princeton: Van Nostrand 1968
Greif, L, Meyer, A.: Specifying programming language semantics. 6th POPL (1979)
Guttag, J.V.: The specification and application to programming of abstract data types. Ph.D. Thesis, University of Toronto, 1975
Hennessy, M., Milner, R.: On observing nondeterminism and concurrency. In: De Bakker, J., van Leeuwen, J. (eds.): 7th ICALP, LNCS85, 299–309 (1980)
Hennessy, M., Plotkin, G.: A term model for CCS. In: Dembinski, P. (ed): 9th MFCS (1980), LNCS88, 261–274 (1980)
Hornung, G., Raulefs, P.: Terminal algebra semantics and retractions for abstract data types. In: De Bakker, J, van Leeuwen, J. (eds.): 7th ICALP (1980), LNCS85, 310–323 (1980)
Kamin, S.: Final data type specifications: a new data type specification method. 7th POPL, Las Vegas 1979
Klaeren, H.A.: Eine Klasse von Algebren mit struktureller Rekursion und ihre Anwendung bei der abstrakten Software-Spezifikation. Dissertation, RWTH Aachen, 1980
Lescanne, P.: Etude algebraique et relationelle des types abstraits et de leurs représentations. Thése d'Etat, Université de Nancy, 1979
Milner, R.: Fully abstract models of typed λ-calculi. TCS4, 1–22 (1977)
Milner, R.: Synthesis of communicating behavior. In: Winkowski, J. (ed.): 7th MFCS, LNCS64, 71–83 (1978)
Nourani, F.: A model theoretic approach to specification, extension, and implementation. In: Robinet, B. (ed.): 4ème Colloque Int. sur la Programmation, LNCS83, 282–297 (1980)
Pair, C: Types abstraits et sémantique algébrique des langages de programmation. Centre de Recherche en Informatique de Nancy, 80-R-011, 1980
Pair, C.: Sur les modèles des types abstraits algébriques. Centre de Recherche en Informatique de Nancy. 80-P-052, 1980
Reichel, H.: Theorie der Aequoide, Dissertation B. Humbold-Universität Berlin, 1979
Veloso, P.A., Pequeno, T.H.: Don't write more axioms than you have to: A methodology for the complete and correct specification of abstract data types, with examples. Univ. Rio de Janeiro, Monografias en Ciencia do Computacao No. 10, 1979, Ext. Abstr. in Proc. Int. Comp. Cump., Nankang (China) 1978
Wagner, E.G., Thatcher, J.W., Wright, J.B.: Programming languages as mathematical objects. In: Winkowski, J. (ed.): 7th MFCS (1978), LNCS64, 84–101 (1978)
Wand, M.: Final algebra semantics and data type extensions. JCSS19, 27–44. Preliminary Version: Indiana University TR65, 1978
Wirsing, M., Pepper, P., Partsch, H., Dosch, W., Broy, M.: On hierarchies of abstract data types. Preliminary Version: TU München, Tech. Rep. TUM-I8007, 1980. (To appear in Acta Informat.)
Wirsing, M., Broy, M.: An analysis of semantic models for algebraic specifications. In: Broy, M.; Schmidt, G. (eds.): Int. Summerschool on Theoretical Foundations of Programming Methodology, Marktoberdorf, August 1981 Dordrecht: Reidel, pp. 351–413 (1982)
Author information
Authors and Affiliations
Additional information
This research has been partially sponsored by the Sonderforschungsbereich 49 — Programmiertechnik, München
Rights and permissions
About this article
Cite this article
Broy, M., Wirsing, M. Partial abstract types. Acta Informatica 18, 47–64 (1982). https://doi.org/10.1007/BF00625280
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00625280