×

Abstract data types with exception handling: An initial approach based on a distinction between exceptions and errors. (English) Zbl 0603.68015

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, implict error propagation rule, exception recovery policy), while preserving the existence of initial models. The main concepts of our approach are: the distinction between exception and error, and the introduction of exception labelling allowing to formalize various error messages. 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 include exception handling. Indeed, abstract implementation of specifications including exception handling was one of main motivations for the work reported here.

MSC:

68P05 Data structures
PDFBibTeX XMLCite
Full Text: DOI

References:

[1] Bernot, G.; Bidoit, M.; Choppy, C., Initial models of algebraic specifications with exception handling, Rept. LRI 201 (1984), Orsay
[2] Bernot, G.; Bidoit, M.; Choppy, C., Abstract implementations and correctness proofs, (Proc. 3rd STACS. Proc. 3rd STACS, Lecture Notes in Computer Science, 210 (1986), Springer: Springer Berlin) · Zbl 0585.68025
[3] Bernot, G., Implémentations de types abstraits algébriques en présence d’exceptions, (DEA Rept (1984), Laboratoire de Recherche en Informatique: Laboratoire de Recherche en Informatique Orsay)
[4] 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écification formelles, (Thèse de troisième cycle (1986), Univ. de Paris-Sud)
[5] Bidoit, M.; Gaudel, M. C., Spécification des cas d’exceptions dans les types abstraits algébriques: problèmes et perspectives, Rept. LRI 146 (1983), Orsay
[6] Bidoit, M., Algebraic specification of exception handling by means of declarations and equations, (Proc. 11th ICALP. Proc. 11th ICALP, Lecture Notes in Computer Science, 172 (1984), Springer: Springer Berlin) · Zbl 0553.68013
[7] Broy, M.; Wirsing, M., Partial abstract data types, Acta Inform., 18, 1 (1982) · Zbl 0433.68014
[8] Ehrig, H.; Kreowski, H.; Thatcher, J.; Wagner, J.; Wright, J., Parameterized data types in algebraic specification langages, (Proc. 7th ICALP (July 1980))
[9] Ehrig, H.; Kreowski, H.; Padawitz, P., Algebraic implementation of abstract data types: concept, syntax, semantics and correctness, (Proc. 6th ICALP. Proc. 6th ICALP, Lecture Notes in Computer Science, 85 (1980), Springer: Springer Berlin) · Zbl 0457.68019
[10] Ehrig, H.; Kreowski, H.; Mahr, B.; Padawitz, P., Algebraic implementation of abstract data types, Theoret. Comput. Sci., 20, 209-263 (1982) · Zbl 0483.68018
[11] Engels, G.; Pletat, V.; Ehrich, H., Handling errors and exceptions in the algebraic specification of data types, Osnabrücker Schriften zur Mathematik (1981)
[12] Gaudel, M.-C., Génération et preuve de compilateurs basées sur une sémantique formelle des langages de programmation, (Thèse d’Etat (1980), Univ. de Nancy)
[13] Gogolla, M.; Drosten, K.; Lipeck, U.; Ehrich, H. D., Algebraic and operational semantics of specifications allowing exceptions and errors, Theoret. Comput. Sci., 34, 289-313 (1984) · Zbl 0553.68012
[14] Goguen, J.; Thatcher, J.; Wagner, E., An initial algebra approach to the specification, correctness, and implementation of abstract data types, (Yeh, R. T., Current Trends in Programming Methodology, Vol. 4 (1978), Prentice-Hall: Prentice-Hall Englewood Cliffs, NJ)
[15] Goguen, J. A., Abstract errors for abstract data types, (Neuhold, E. J., Formal Description of Programming Concepts (1977), North-Holland: North-Holland New York) · Zbl 0373.68024
[16] Goguen, J. A., Exceptions and error sorts, coercion and overloading, SRI Res. Rept. (1978)
[17] Guttag, J. V., The specification and application to programming, (Ph.D. Thesis (1975), Univ. of Toronto) · Zbl 0395.68020
[18] Liskov, B.; Zilles, S., Specification techniques for data abstractions, IEEE Trans. Software Engrg., SE-1, 1 (1975)
[19] Loeckx, J., Algorithmic specifications of abstract data types, (Proc. 7th ICALP (1981)) · Zbl 0237.68009
[20] MacLane, S., Categories for the Working Mathematician, (Graduate Texts in Mathematics, 5 (1971), Springer: Springer Berlin) · Zbl 0705.18001
[21] Plaisted, D., An initial algebra semantics for error presentations (1982), Unpublished draft
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.