Exception handling: issues and a proposed notation
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Some extensions to algebraic specifications
Proceedings of an ACM conference on Language design for reliable software
Report on the programming language Euclid
ACM SIGPLAN Notices
Reliable software through composite design
Reliable software through composite design
Programming-in-the-Large Versus Programming-in-the-Small
IEEE Transactions on Software Engineering
An Introduction to the Construction and Verification of Alphard Programs
IEEE Transactions on Software Engineering
Specification techniques for data abstractions
IEEE Transactions on Software Engineering
A mechanism for exception handling and its verification rules
Computer Languages
Hi-index | 0.00 |
Recognizing that an error condition is an intrinsic part of the abstract type to which the operation that detects the condition belongs, an attempt is made to specify and implement error condition detection and handling within the framework of the Alphard form, a construct for encapsulation of data type specification and implementation. The essence of the problem is this: while error condition detection is done by the operation in the form, only the user of the type can determine the meaning of the condition with respect to the way the type is used. Thus, the user must be able to specify the handler. Unfortunately, programming the handler often requires access to encapsulated implementation details which are hidden from the user. After discussing the general issues of exception handling, modularity, and abstract data types, this paper proposes a solution for one category of exceptions, namely errors. Specifically an externally visible condition name is the link between an error's occurrence and some externally visible but internally programmed handler for it. Issues raised by this partial solution, including those of proof rules, are discussed.