Abstract
In the theory of algebraic specifications, many-sorted algebras are used to model programs: the representation of data is arbitrary and operations are modelled as ordinary functions. The theory that underlies the formal development of programs from specifications takes advantage of the many useful properties that these models enjoy.
The models that underlie the semantics of programming languages are different. For example, the semantics of Standard ML uses rather concrete models, where data values are represented as closed constructor terms and functions are represented as “closures”. The properties of these models are quite different from those of many-sorted algebras.
This discrepancy brings into question the applicability of the theory of specification and formal program development in the context of a concrete programming language, as has been attempted in the Extended ML framework for the formal development of Standard ML programs. This paper is a preliminary study of the difference between abstract and concrete models of specifications, inspired by the kind of concrete models used in the semantics of Standard ML, in an attempt to determine the consequences of the discrepancy.
This research was supported by the EC-funded COMPASS Basic Research working group and MeDiCiS Scientific Cooperation Network, by EPSRC grants GR/J07303 and GR/H73103 and by an EPSRC Advanced Fellowship.
This research was supported by the EC-funded COMPASS Basic Research working group and MeDiCiS Scientific Cooperation Network, and by EPSRC grant GR/J07303.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
J. Bergstra and J. Tucker. Algebraic specifications of computable and semicomputable data types. Theoretical Computer Science 50:137–181 (1987).
M. Bidoit, H.-J. Kreowski, P. Lescanne, F. Orejas and D. Sannella (eds.) Algebraic System Specification and Development: A Survey and Annotated Bibliography. Springer LNCS 501 (1991).
R. Diaconescu, J.A, Goguen and P. Stefaneas. Logical support for modularisation. In: Logical frameworks (G. Huet and G. Plotkin, eds.), 83–130. Cambridge Univ. Press (1993).
H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1: Equations and Initial Semantics. Springer (1985).
J. Goguen and R. Burstall. Institutions: abstract model theory for specification and programming. Journal of the ACM 39:95–146 (1992).
C.A.R. Hoare. Proofs of correctness of data representations. Acta Informatica 1:271–281 (1972).
S. Kahrs, D. Sannella and A. Tarlecki. The definition of Extended ML. Report ECS-LFCS-94-300, Univ. of Edinburgh (1994).
S. Kahrs, D. Sannella and A. Tarlecki. The definition of Extended ML: a gentle introduction. Report ECS-LFCS-95-322, Univ. of Edinburgh (1995). Theoretical Computer Science, to appear (1996).
J. Loeckx, H.-D. Ehrich and M. Wolf. Specifications of Abstract Data Types. Wiley (1996).
A.I. Mal'cev. Constructive algebras I. Russian Mathematical Surveys 16:77–129 (1961). Also in: The Metamathematics of Algebraic Systems. Collected papers 1936–1967 (B. Wells ed.), 148–212. North-Holland (1971).
J. Meseguer. General logic. Logic Colloquium'87 (H.-D. Ebbinghaus et al., eds.), 279–329. North-Holland (1989).
R. Milner, M. Tofte and R. Harper. The Definition of Standard ML. MIT Press (1990).
L. Paulson. ML for the Working Programmer. Cambridge Univ. Press (1991).
M. Rabin. Computable algebra, general theory and theory of computable fields. Trans, of the AMS 95:341–360 (1960).
H. Rogers, Jr. Theory of Recursive Functions and Effective Computability. McGraw-Hill (1967).
G. Rosolini. About modest sets. Intl. Journal of Foundations of Computer Science 1:341–353 (1990).
D. Sannella. Formal program development in Extended ML for the working programmer. Proc. 3rd BCS/FACS Workshop on Refinement, Hursley Park. Springer Workshops in Computing, 99–130 (1991).
D. Sannella, S. Sokolowski and A. Tarlecki. Toward formal development of programs from algebraic specifications: parameterisation revisited. Acta Informatica 29:689–736 (1992).
D. Sannella and A. Tarlecki. Specifications in an arbitrary institution. Information and Computation 76:165–210 (1988).
D. Sannella and A. Tarlecki. Toward formal development of programs from algebraic specifications: implementations revisited. Acta Informatica 25:233–281 (1988).
D. Sannella and A. Tarlecki. Toward formal development of ML programs: foundations and methodology. Proc. 3rd Joint Conf. on Theory and Practice of Software Development, Barcelona. Springer LNCS 352, 375–389 (1989).
D. Sannella and A. Tarlecki. Model-theoretic foundations for formal program development: basic concepts and motivation. ICS PAS Report 791, Institute of Computer Science PAS, Warsaw (1995).
D. Sannella and A. Tarlecki. Foundations of Algebraic Specifications and Formal Program Development. Cambridge Univ. Press, to appear (199?).
D. Sannella and M. Wirsing. A kernel language for algebraic specification and implementation. Proc. 1983 Intl. Conf. on Foundations of Computation Theory, Borgholm. Springer LNCS 158, 413–427 (1983).
O. Schoett. Data Abstraction and the Correctness of Modular Programming. Ph.D. thesis; Report CST-42-87, Univ. of Edinburgh (1987).
V. Stoltenberg-Hansen and J. Tucker. Effective algebras. In: Handbook of Logic in Computer Science, Vol. 4 (S. Abramsky, D. Gabbay and T. Maibaum, eds.), 357–526. Oxford Univ. Press (1995).
A. Tarlecki. Moving between logical systems. Recent Trends in Data Type Specifications. 11th Workshop on Specification of Abstract Data Types (M. Haveraaen et al., eds.). Springer LNCS, to appear (1996).
M. Wirsing. Algebraic specification. In: Handbook of Theoretical Computer Science, Vol. B (J. van Leeuwen, ed.), 675–788. North-Holland (1990).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sannella, D., Tarlecki, A. (1996). Mind the gap! Abstract versus concrete models of specifications. In: Penczek, W., Szałas, A. (eds) Mathematical Foundations of Computer Science 1996. MFCS 1996. Lecture Notes in Computer Science, vol 1113. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61550-4_143
Download citation
DOI: https://doi.org/10.1007/3-540-61550-4_143
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61550-7
Online ISBN: 978-3-540-70597-0
eBook Packages: Springer Book Archive