Skip to main content

Abstraction Barriers in Equational Proof

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1548))

Abstract

Module constructs in programming languages have protection mechanisms hindering unauthorised external access to internal operators of data types. In some cases, granting external access to internal operators would result in serious violation of a data type’s specified external properties. In order to reason consistently about specifications of such data types, it is necessary in general to incorporate a notion of protective abstraction barrier in proof strategies as well. We show how this can be done in equational calculus by simply restricting the congruence axiom, and see how the motivation for this naturally arises from FI and FRI approaches to specification refinement.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Bidoit, D. Sannella, and A. Tarlecki. Behavioural encapsulation. CoFI Language Design Study Note, 1996. Available at ftp://ftp.brics.dk/Projects/CoFI/StudyNotes/Lang/MB+DTS+AT-1.ps.Z.

  2. M.V. Cengarle. Formal Specification with Higher-Order Parameterization. PhD thesis, Fakultät für Mathematik, LMU, München, 1994.

    Google Scholar 

  3. O.-J. Dahl and O. Owe. Formal development with ABEL. Forskningsraport 552, Institutt for informatikk, Universitetet i Oslo, 1991.

    Google Scholar 

  4. H. Ehrig, H.-J. Kreowski, B. Mahr, and P. Padawitz. Algebraic implementation of abstract data types. Theoretical Computer Science, 20:209–263, 1982.

    Article  MATH  Google Scholar 

  5. J. Farrés-Casals. Verification in ASL and Related Specification Languages, Report CST-92-92. PhD thesis, Dept. of Computer Science, University of Edinburgh, 1992.

    Google Scholar 

  6. J.E. Hannay. Referential opacity in equational reasoning. Tech. rep. ECS-LFCS-98-398, LFCS, Division of Informatics, Univ. of Edinburgh, 1998.

    Google Scholar 

  7. R. Hennicker. Structured specifications with behavioural operators: Semantics, proof methods and applications. Habilitationsschrift, Inst. für Informatik, LMU, München, 1997.

    Google Scholar 

  8. M. Hofmann. Extensional Concepts in Intensional Type Theory, Report CST-117-95 and Tech. Report ECS-LFCS-95-327. PhD thesis, Dept. of Computer Science, University of Edinburgh, 1995.

    Google Scholar 

  9. M. Hofmann and D. Sannella. On behavioural abstraction and behavioural satisfaction in higher-order logic. Theoretical Computer Science, 167:3–45, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  10. C. Morgan. Programming from Specifications, 2nd ed. Prentice Hall International Series in Computer Science; C.A.R. Hoare, Series Editor. Prentice-Hall, UK, 1994.

    Google Scholar 

  11. X. Qian and A. Goldberg. Referential opacity in nondeterministic data re_nement. ACM LoPLaS, 2(1–4):233–241, 1993.

    Article  Google Scholar 

  12. D. Sannella. Formal development in extended ML. In Proc. 3rd BCS/FACS Workshop on Refinement, pages 99–130, Hursley Park, 1991. Springer Workshops in Computing.

    Google Scholar 

  13. D. Sannella and A. Tarlecki. Toward formal development of programs from algebraic specifications: implementations revisited. Acta Inform., 25(3):233–281, 1988.

    Article  MATH  MathSciNet  Google Scholar 

  14. D. Sannella and A. Tarlecki. Essential concepts of algebraic specification and program development. Formal Aspects of Computing, 9:229–269, 1997.

    Article  MATH  Google Scholar 

  15. O. Schoett. Data Abstraction and the Correctness of Modular Programming. PhD thesis, University of Edinburgh, 1986.

    Google Scholar 

  16. H. Søndergaard and P. Sestoft. Referential transparency, definiteness and unfoldability. Acta Inform., 27(6):505–517, 1990.

    Article  MATH  MathSciNet  Google Scholar 

  17. A.S. Troelstra and D. van Dalen. Constructivism in Mathematics, An Introduc-tion, volume 121 of Studies in Logic and The Foundations of Mathematics. North Holland, 1988.

    Google Scholar 

  18. M. Wirsing. Algebraic specification. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, chapter 13, pages 675–788. Elsevier, 1990.

    Google Scholar 

  19. M. Wirsing. Structured specifications: Syntax, semantics and proof calculus. In F.L. Bauer, W. Brauer, and H. Schwichtenberg, editors, Logic and Algebra of Specification, Intl. Summer School Marktoberdorf, NATO ASI Series F, pages 411–442. Springer, 1993.

    Google Scholar 

  20. M. Wirsing. Algebraic Specification Languages: An Overview. In E. Astesiano, G. Reggio, and A. Tarlecki, editors, Recent Trends in Data Type Specification, LNCS, pages 81–115. Springer, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hannay, J.E. (1998). Abstraction Barriers in Equational Proof. In: Haeberer, A.M. (eds) Algebraic Methodology and Software Technology. AMAST 1999. Lecture Notes in Computer Science, vol 1548. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49253-4_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-49253-4_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65462-9

  • Online ISBN: 978-3-540-49253-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics