Abstract
We report on an analysis of the inheritance relationships in the Eiffel Base Libraries, a library of container data structures. If inheritance is behaviorally conforming, then polymorphism can be used safely, and the inheritance hierarchy can be considered part of the interface of the library to its clients. We describe a theory of object-oriented specification in higher-order logic that we used to specify part of the Eiffel Base Libraries. With the theorem prover Isabelle/HOL, we mechanically prove conformance relationships between those specifications. This work allows us to draw conclusions about the design of the Eiffel Base Libraries, and about the feasibility of using an interactive theorem prover to apply a strictly formal theory to the specification of a commercial product.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
P. America. Designing an object-oriented programming language with behavioral subtyping. In J.W. de Bakker, W. P. de Roever, and G. Rozenberg,editors,Foundations of Object-Oriented Languages, LNCS 489. Springer-Verlag, 1991.
W. R. Cook. Interfaces and specifications for the Smalltalk-80 collection classes. In Proc. OOPSLA’92, volume 27(10) of ACM SIGPLAN Notices, pages 1–15, 1992.
A. Frick, R. Neumann, and W. Zimmermann. Eine Methode zur Konstruktion robuster Klassenhierarchien. In Softwaretechnik 96, pages 16–23, 1996.
Jifeng He, C. A. R. Hoare, and J. W. Sanders. Data refinement refined. In B. Robinet and R. Wilhelm, editors,European Symposium on Programming (ESOP’86), LNCS 213, pages 187–196. Springer-Verlag, 1986.
S. Helke. Maschinengestützte Analyse der Untertypbeziehungen zwischen Klassen der Eiffel Datenstrukturbibliothek. Master’s thesis, Dept. of Computer Science, Technical University of Berlin, 1998
C. B. Jones. Systematic Software Development using VDM. Prentice Hall, 2nd edition, 1990.
M. B. Josephs. The data refinement calculator for Z specifications. Information Processing Letters, 27:29–33, 1988.
Kolyang, T. Santen, and B. Wolff. A structure preserving encoding of Z in Isabelle/HOL. In J. von Wright, J. Grundy, and J. Harrison, editors, Theorem Proving in Higher-Order Logics, LNCS 1125, pages 283–298. Springer-Verlag, 1996.
B. Liskov and J. Wing. Abehavioral notion of subtyping. ACMTransactions on Programming Languages and Systems, 16(6):1811–1841, 1994.
B. Meyer. Reusable Software. Prentice Hall, 1994.
S. N$#x00E4;her. LEDA manual. version 3.0. Technical Report MPI-I-93-109, Max-Planck-Institut für Informatik, Saarbrücken, February 1993.
L. C. Paulson. Isabelle-A Generic Theorem Prover. LNCS 828. Springer-Verlag, 1994.
T. Santen. A theory of structured model-based specifications in Isabelle/HOL. In E. L. Gunter and A. Felty, editors, Proc. International Conference on Theorem Proving in Higher Order Logics, LNCS 1275, pages 243–258. Springer-Verlag, 1997.
T. Santen. On the semantic relation of Z and HOL. In J. Bowen and A. Fett, editors, ZUM’98: The Z Formal Specification Notation, LNCS 1493, pages 96–115. Springer-Verlag, 1998.
T. Santen. Isomorphisms-a link between the shallow and the deep. InY. Bertot, G. Dowek, A. Hirschowitz, C. Paulin, and L. Théry, editors, Theorem Proving in Higher Order Logics, LNCS 1690, pages 37–54. Springer-Verlag, 1999.
T. Santen. A Mechanized Logical Model of Z and Object-Oriented Specification. Shaker-Verlag, 2000. Dissertation, Fachbereich Informatik, Technische Universität Berlin, (1999).
G. Smith. The Object-Z Specification Language. Kluwer Academic Publishers, 1999.
J. M. Spivey. The Z Notation-A Reference Manual. Prentice Hall, 2nd edition, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Sprinnger-Verlag Berlin Heidelberg
About this paper
Cite this paper
Helke, S., Santen, T. (2001). Mechanized Analysis of Behavioral Conformance in the Eiffel Base Libraries. In: Oliveira, J.N., Zave, P. (eds) FME 2001: Formal Methods for Increasing Software Productivity. FME 2001. Lecture Notes in Computer Science, vol 2021. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45251-6_3
Download citation
DOI: https://doi.org/10.1007/3-540-45251-6_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41791-0
Online ISBN: 978-3-540-45251-5
eBook Packages: Springer Book Archive