Algebraic semantics of exception handling

  • Gilles Bernot
  • Michel Bidoit
  • Christine Choppy
Semantics And Abstract Data Types
Part of the Lecture Notes in Computer Science book series (LNCS, volume 213)

Abstract

In this paper, a new semantics for exception handling in algebraic specifications is provided. Our formalism allows all forms of exception and error handling (several error messages, implicit error progagation rule, exception recovery policy), while preserving the existence of initial models. It handles complex examples where various exceptional cases (leading to different processings) can be specified. The main concept of our approach is the distinction between exception and error. This formalism allows use of congruences in a similar manner as in the classical abstract data type theory. Moreover, we show how a functorial semantics of enrichment can be carried over to our framework, and we show how hierarchical consistency and sufficient completeness can be redefined. These results provide a firm basis for writing modular, structured specifications with exception handling features.

Keywords

Standard Form Error Message Exception Handling Algebraic Semantic Abstract Data Type 
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.

References

  1. [ADJ 76]
    Goguen J., Thatcher J., Wagner E.: "An initial algebra approach to the specification, correctness, and implementation of abstract data types", Current Trends in Programming Methodology, Vol.4, Yeh Ed. Prentice Hall, 1978 (also IBM Report RC 6487, Oct. 1976).Google Scholar
  2. [ADJ 79]
    Thatcher J., Wagner W., Wright J.: "Data type specification: parameterization and the power of specification techniques", Proc. of SIGACT 10th Annual Symposium on Theory of Computing, 1979.Google Scholar
  3. [ADJ 80]
    Ehrig H., Kreowski H., Thatcher J., Wagner J., Wright J.: "Parameterized data types in algebraic specification languages", Proc. 7th ICALP, July 1980.Google Scholar
  4. [BBC 86]
    Bernot G., Bidoit M., Choppy C.: "Abstract implementations and correctness proofs", Proc. 3rd STACS, January 1986, Springer-Verlag LNCS.Google Scholar
  5. [Ber 84]
    Bernot G.: "Implémentations de types abstraits algébriques en présence d'exceptions", DEA Report, LRI, Orsay, Sept. 1984.Google Scholar
  6. [Ber 86]
    Bernot G.: "Une sémantique algébrique pour une spécification différenciée des exceptions et des erreurs: application à l'implémentation et aux primitives de structuration des spécifications formelles", Thèse de troisième cycle, Université de Paris-Sud, 1986.Google Scholar
  7. [Bid 82]
    Bidoit M.: "Algebraic data types: structured specifications and fair presentations", Proc. of AFCET Symposium on Mathematics for Computer Science, Paris, March 1982.Google Scholar
  8. [Bid 84]
    Bidoit M.: "Algebraic specification of exception handling by means of declarations and equations", Proc. 11th ICALP, Springer-Verlag LNCS 172, July 1984.Google Scholar
  9. [BW 82]
    Broy M., Wirsing M.: "Partial abstract data types", Acta Informatica, Vol.18–1, Nov 1982.Google Scholar
  10. [EKMP 80]
    Ehrig H., Kreowski H., Mahr B., Padawitz P.: "Algebraic implementation of abstract data types", Theoretical Computer Science, Oct. 1980.Google Scholar
  11. [EPE 81]
    Engels G., Pletat V., Ehrich H.: "Handling errors and exceptions in the algebraic specification of data types", Osnabruecker Schriften zur Mathematik, July 1981.Google Scholar
  12. [GDLE 84]
    Gogolla M., Drosten K., Lipeck U., Ehrich H.D.: "Algebraic and operational semantics of specifications allowing exceptions and errors", Theoretical Computer Science 34, North Holland, 1984.Google Scholar
  13. [Gog 77]
    Goguen J.A.: "Abstract errors for abstract data types", Formal Description of Programming Concepts E.J. NEUHOLD Ed., North Holland, New YorkGoogle Scholar
  14. [Gog 78]
    Goguen J.A.: "Exceptions and error sorts, coercion and overloading operators", SRI Research Report, 1978.Google Scholar
  15. [Gut 79]
    Guttag J.V.: "Notes on type abstraction (Version 2)", IEEE Transactions on Software Engineering, 1979.Google Scholar
  16. [Loe 81]
    Loeckx J.: "Algorithmic specifications of abstract data types", ICALP 1981.Google Scholar
  17. [McL 71]
    Mac Lane S.: "Categories for the working mathematician", Graduate texts in mathematics, 5, Springer-Verlag, 1971.Google Scholar
  18. [Pla 82]
    Plaisted D.: "An initial algebra semantics for error presentations", Unpublished Draft, 1982.Google Scholar
  19. [SW 83]
    Sannella D., Wirsing M.: "A kernel language for algebraic specification and implementation", Proc. Intl. Conf. on Foundations of computation Theory, Springer-Verlag, LNCS 158, 1983.Google Scholar
  20. [Wir 82]
    Wirsing M.: "Structured algebraic specifications", Proc. of AFCET Symposium on Mathematics for Computer Science, Paris, March 1982.Google Scholar
  21. [Wir 83]
    Wirsing M.: "Structured algebraic specifications: a kernel language", Habilitation thesis, Technische Universitat Munchen, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • Gilles Bernot
    • 1
  • Michel Bidoit
    • 1
  • Christine Choppy
    • 1
  1. 1.Laboratoire de Recherche en InformatiqueUniversité Paris-sudOrsay CedexFrance

Personalised recommendations