Skip to main content
Log in

Robust data types

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

Data types with total operations and exceptions are proposed as basic building blocks for the construction of modular robust software. A notation for specifying such data types is presented and the issues underlying their correct implementation in a programming language supporting data abstraction and exception handling are discussed and illustrated by examples. New light is shed on some important aspects of exception handling such as the identification and specification of exceptions, the precise detection of exception occurrences, recovery of consistent states after exception detections and verification of the correct implementation of specified exceptional effects for operations.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abrial, J.R.: The Specification Language Z — Syntax and Semantics. Programming Research Group, Oxford University, 1980

  2. Best, E., Cristian, F.: Systematic Detection of Exception Occurrences. Sci. Comput. Progr. 1 (1), 115–144, North Holland Pub. Comp. (1981)

    Google Scholar 

  3. Björner, D.: Formalisation of Data Base Models. In: Abstract Software Specification. D. Björner (ed.), Lecture Notes in Comp. Sci., pp. 144–215 (1979) Springer Berlin-Heidelberg-New York

    Google Scholar 

  4. Broy, M, Wirsing, M.: Initial versus Terminal Algebra Semantics for Partially Defined Abstract Types. TUM-I8018, Technical University Munich, 1980

    Google Scholar 

  5. Cristian, F.: Le Traitement des Exceptions dans les Programmes Modulaires. Doctoral Thesis, University of Grenoble, 1979

  6. Cristian, F.: Robust Data Types. Technical Report 170, Computing Laboratory, University of Newcastle upon Tyne, 1981

  7. Cristian, F.: Exception Handling and Software Fault Tolerance. IEEE Transact. Comput. C-31 (6), 531–540(1982)

    Google Scholar 

  8. Dijkstra, E.W.: A Discipline of Programming. New York: Prentice Hall, 1976

    Google Scholar 

  9. Gerhart, S.L., et al.: An Overview of AFFIRM —a Specification and Verification System, Proc. IFIP80 Congress, Tokyo, 1980

  10. Goguen, J.A.: Abstract Errors for Abstract Data Types. In: Formal Description of Programming Concepts. Neuhold, E.J. (ed.) North Holland, pp. 492–525 (1978)

  11. Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types. In: Current Trends Progr. Methodology. Yeh, R.T. (ed.) New York: Prentice-Hall, pp. 80–149 (1978)

    Google Scholar 

  12. Guttag, J., Horning, J.J.: Formal Specification as a Design Tool. Proc. 7th ACM Symp. Principles Progr. Lang., Las Vegas, 1980

  13. Hoare, C.A.R.: Proof of Correctness of Data Representations. Acta Informat. 1(4), 271–281 (1972)

    Google Scholar 

  14. Horning, J.J., Lauer, H.C., Melliar-Smith, P.M., Randell, B.: A Program Structure for Error Detection and Recovery. Proc. Conf. Operat. Syst. Theor. Pract. Aspects, IRIA, (reprinted in Lecture Notes in Comput. Sci. Vol. 16, Springer) (1974)

  15. Ichbiah, J., et al.: Rationale for the Design of the ADA Programming Language. SIGPLAN Notices 14 (6), (1979)

  16. Jones, C.B.: Software Development: A Rigorous Approach. New York: Prentice-Hall, 1980

    Google Scholar 

  17. Liskov, B.H., Snyder, A.: Exception Handling in CLU. IEEE Trans. Softw. Eng. SE-5(6), 546–558 (1979)

    Article  CAS  PubMed  Google Scholar 

  18. Luckham, D.C., Polak, W.: ADA Exception Handling: An Axiomatic Approach. ACM Trans. Progr. Lang. Syst. 2(2), 225–233 (1980)

    Google Scholar 

  19. Randell, B., Lee, P.A., Treleaven, P.C.: Reliability Issues in Computing System Design. Comput. Surveys 10(2), 123–165 (1978)

    Google Scholar 

  20. Stoy, J.E.: Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. Cambridge: MIT Press, 1977

    Google Scholar 

  21. Wulf, W.A., London, R.L., Shaw, M.: An Introduction to the Construction and Verification of Alphard programs. IEEE Trans. Softw. Eng. SE-2 (4), 253–265 (1976)

    Google Scholar 

  22. Zilles, S.N.: An Introduction to Data Algebras. In: Abstract Software Specifications. Björner, D. (ed.). Lecture Notes in Comput. Sci., pp. 248–272 (1979), Springer Berlin, Heidelberg, New York

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cristian, F. Robust data types. Acta Informatica 17, 365–397 (1982). https://doi.org/10.1007/BF00264158

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00264158

Keywords

Navigation