Advertisement

Mechanized Analysis of Behavioral Conformance in the Eiffel Base Libraries

  • Steffen Helke
  • Thomas Santen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2021)

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.

Keywords

State Schema Class Schema Multiple Inheritance Conformance Relation Signature Morphism 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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.Google Scholar
  2. 2.
    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.Google Scholar
  3. 3.
    A. Frick, R. Neumann, and W. Zimmermann. Eine Methode zur Konstruktion robuster Klassenhierarchien. In Softwaretechnik 96, pages 16–23, 1996.Google Scholar
  4. 4.
    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.Google Scholar
  5. 5.
    S. Helke. Maschinengestützte Analyse der Untertypbeziehungen zwischen Klassen der Eiffel Datenstrukturbibliothek. Master’s thesis, Dept. of Computer Science, Technical University of Berlin, 1998Google Scholar
  6. 6.
    C. B. Jones. Systematic Software Development using VDM. Prentice Hall, 2nd edition, 1990.Google Scholar
  7. 7.
    M. B. Josephs. The data refinement calculator for Z specifications. Information Processing Letters, 27:29–33, 1988.CrossRefMathSciNetGoogle Scholar
  8. 8.
    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.Google Scholar
  9. 9.
    B. Liskov and J. Wing. Abehavioral notion of subtyping. ACMTransactions on Programming Languages and Systems, 16(6):1811–1841, 1994.CrossRefGoogle Scholar
  10. 10.
    B. Meyer. Reusable Software. Prentice Hall, 1994.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    L. C. Paulson. Isabelle-A Generic Theorem Prover. LNCS 828. Springer-Verlag, 1994.Google Scholar
  13. 13.
    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.CrossRefGoogle Scholar
  14. 14.
    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.CrossRefGoogle Scholar
  15. 15.
    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.CrossRefGoogle Scholar
  16. 16.
    T. Santen. A Mechanized Logical Model of Z and Object-Oriented Specification. Shaker-Verlag, 2000. Dissertation, Fachbereich Informatik, Technische Universität Berlin, (1999).Google Scholar
  17. 17.
    G. Smith. The Object-Z Specification Language. Kluwer Academic Publishers, 1999.Google Scholar
  18. 18.
    J. M. Spivey. The Z Notation-A Reference Manual. Prentice Hall, 2nd edition, 1992.Google Scholar

Copyright information

© Sprinnger-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Steffen Helke
    • 1
  • Thomas Santen
    • 1
  1. 1.Institut für Kommunikations- und SoftwaretechnikTechnische Universität BerlinBerlin

Personalised recommendations