A basic Abstract Semantic Algebra
It seems that there are some pragmatic advantages in using Abstract Semantic Algebras (ASAs) instead of λ-notation in denotational semantics. The values of ASAs correspond to “actions” (or “processes”), and the operators correspond to primitive ways of combining actions. There are simple ASAs for the various independent “facets” of actions: a functional ASA for data-flow, an imperative ASA for assignments, a declarative ASA for bindings, etc. The aim is to obtain general ASAs by systematic combination of these simple ASAs.
Here we specify a basic ASA that captures the common features of the functional, imperative and declarative ASAs — and highlights their differences. We discuss the correctness of ASA specifications, and sketch the proof of the consistency and (limiting) completeness of the functional ASA, relative to a simple model.
Some familiarity with denotational semantics and algebraic specifications is assumed.
KeywordsDenotational Semantic Imperative Action Primitive Action Abstract Data Type Auxiliary Operation
Unable to display preview. Download preview PDF.
- [Goguen 83]J. A. Goguen, “Parameterised programming”, in Proc. Workshop on Reusability in Programming (ed. A. Perlis) (1983).Google Scholar
- [Guttag & Horning 78]J. V. Guttag, J. J. Horning, “The algebraic specification of abstract data types”, Acta Inf. 10 (1978), 27–52.Google Scholar
- [Main & Benson 83]M. G. Main, D. B. Benson, “Functional behavior of non-deterministic programs”, in Proc. FCT'83, Borgholm, springer LNCS 158 (1983).Google Scholar
- [Meseguer 77]J. Meseguer, “An order-complete universal algebra and functorial semantics”, in Proc. FCT'77, Poznań, Springer LNCS 56 (1977).Google Scholar
- [Milner 77]R. Milner, “Fully abstract models of typed lambda-calculus”, TCS 4 (1977), 1–22.Google Scholar
- [Mosses 77]P. D. Mosses, “Making denotational semantics less concrete”, in Proc. Int. Workshop on Semantics of Programming Languages, Bad Honnef, Ber.Nr.41, Abteilung Informatik, Univ. Dortmund (1977).Google Scholar
- [Mosses 80]—, “A constructive approach to compiler correctness”, in Proc. ICALP'80, Noordwijkerhout, Springer LNCS 85 (1980).Google Scholar
- [Mosses 81]—, “A semantic algebra for binding constructs”, in Proc. Int. Coll. on Formalization of Programming Concepts, Peniscola, Springer LNCS 107 (1981).Google Scholar
- [Mosses 83]—, “Abstract semantic algebras!”, in Proc. IFIP TC2 Working Conf. on Formal Description of Programming Concepts — II, Garmisch-Partenkirchen, 1982 (North-Holland, 1983).Google Scholar
- [Reynolds 77]J. C. Reynolds, "Semantics of the domain of flow diagrams”. J.ACM 24 (1977), 484–503.Google Scholar
- [Wadsworth 76]C. P. Wadsworth, “The relation between the computational and denotational properties for Scott's D∞-models of the lambda-calculus”, SIAM. J. Comput. 5 (1976), 488–521.Google Scholar
- [Wand 79]M. Wand, “Final algebra semantics and data type extensions", JCSS 19 (1979), 27–44.Google Scholar
- [Wirsing et al. 83]M. Wirsing, P. Pepper, H. Partsch, W. Dosch, M. Broy, “On hierarchies of abstract data types”, Acta Inf. 20 (1983), 1–34.Google Scholar
- [Zilles et al. 82]S. N. Zilles, P. Lucas, J. W. Thatcher, “A look at algebraic specifications”, IBM Res. Rep. RJ-3568 (June, 1982).Google Scholar