Abstract
We present a method for implementing abstract data type specifications by object-oriented programs and for proving implementation correctness. The method uses an algebraic description of the semantics of object-oriented programs which allows one to relate an abstract data type specification and its object-oriented implementation within a common formal framework. On this algebraic level the correctness of an implementation can be proved using the notion of observational implementation and its associated proof techniques.
Preview
Unable to display preview. Download preview PDF.
References
M. Bidoit, R. Hennicker: Modular correctness proofs of behavioural implementations. Available by WWW: http://www.pst.informatik.uni-muenchen.de/∼hennicke/, 1995. A short version appeared as: Proving the correctness of behavioural implementations. Proc. AMAST '95, Springer Lecture Notes in Computer Science 936, 152–168, 1995.
M. Bidoit, R. Hennicker: Behavioural theories and the proof of behavioural properties. To appear in Theor. Comp. Science. Previous version in: Report LIENS-95-5, Ecole Normale Supérieure, 1995.
M. Bidoit, R. Hennicker, M. Wirsing: Behavioural and abstractor specifications. Science of Computer Programming 25 (2–3), 149–186, 1995.
R. Breu: Algebraic Specification Techniques in Object Oriented Programming Environments. Springer Lecture Notes in Computer Science 562, 1991.
R. Breu, E. Zucca: An Algebraic Compositional Semantics of an Object Oriented Notation with Concurrency. In: C. E. Veni Madhavan (ed.): Proc. 9th Conf. on Foundations of Software Technology and Theoretical Computer Science, Springer Lecture Notes in Computer Science 405, 131–142, 1990.
H. Ehrig, B. Mahr: Fundamentals of algebraic specification 1, EATCS Monographs on Theoretical Computer Science 6, Springer, 1985.
J. Guttag, J. Horning: Larch: Languages and Tools for Formal Specification. Texts and Monographs in Computer Science, Springer, 1993.
J. A. Goguen, J. Meseguer: Universal realization, persistent interconnection and implementation of abstract modules. In Proc. ICALP '82, Springer Lecture Notes in Computer Science 140, 265–281, 1982.
J. A. Goguen, J. Meseguer: Unifying functional, object-oriented and relational programming with logical semantics. In: B. Shriver, P. Wegner (eds.): Research Directions in Object-Oriented Programming, 417–477, MIT Press, 1987.
R. Hennicker: Context induction: a proof principle for behavioural abstractions and algebraic implementations. Formal Aspects of Computing 3 (4), 326–345, 1991.
R. Hennicker, C. Schmitz: Object-oriented implementation of abstract data type specifications. Extended version of this paper. Available by WWW: http://www.pst.informatik.unimuenchen.de/∼hennicke/, 1996.
R. Jungclaus, G. Saake, T. Hartmann and C. Sernadas: Object-oriented specification of information systems: The TROLL language. Informatik-Bericht 91-04, Technische Universität Braunschweig, 1991.
G. Kreisel, J. L. Krivine: Eléments de Logique Mathematique. Dunod (Paris), 1967.
U. Lechner, C. Lengauer and M. Wirsing: An object-oriented airport: specification and refinement in Maude. In: E. Astesiano, G. Reggio, A. Tarlecki (eds.): Recent Trends in Data Type Specification, Springer Lecture Notes in Computer Science 906, 351–367, 1995.
J. Meseguer: A logical theory of concurrent objects and its realization in the Maude language. In: G. Agha, P. Wegner and A. Yonezawa (eds.): Research Directions in Object-Based Concurrency, MIT Press, 314–390, 1993.
B. Meyer: Programming for reusability and extendibility. Sigplan Notices 22 (2), 85–94, 1987.
B. Meyer: Eiffel: the language. Prentice Hall International, 1992.
G. Malcolm, J. A. Goguen: Proving correctness of refinement and implementation. Technical Monograph PRG-114, Oxford University Computing Laboratory, 1994.
P. Nivela, F. Orejas: Initial behaviour semantics for algebraic specifications. In: D. T. Sannella, A. Tarlecki (eds.): Proc. 5th Workshop on Algebraic Specifications of Abstract Data Types, Springer Lecture Notes in Computer Science 332, 184–207, 1988.
H. Reichel: Initial computability, algebraic specifications, and partial algebras. International Series of Monographs in Computer Science No. 2, Oxford: Clarendon Press, 1987.
D. T. Sannella, A. Tarlecki: Toward formal development of programs from algebraic specifications: implementation revisited. Acta Informatica 25, 233–281, 1988.
M. Wirsing: Structured algebraic specifications: a kernel language. Theoretical Computer Science 42, 123–249, 1986.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hennicker, R., Schmitz, C. (1996). Object-oriented implementation of abstract data type specifications. In: Wirsing, M., Nivat, M. (eds) Algebraic Methodology and Software Technology. AMAST 1996. Lecture Notes in Computer Science, vol 1101. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014314
Download citation
DOI: https://doi.org/10.1007/BFb0014314
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61463-0
Online ISBN: 978-3-540-68595-1
eBook Packages: Springer Book Archive