ACM Home Page
Please provide us with feedback. Feedback
Extended exceptions for contingencies and their implications for the engineering process
Full text PdfPdf (340 KB)
Source
Foundations of Software Engineering archive
Proceedings of the 4th international workshop on Exception handling table of contents
Atlanta, Georgia
Pages 16-23  
Year of Publication: 2008
ISBN:978-1-60558-229-0
Authors
Thorsten van Ellen  Business Unit Software Solutions, Oldenburg, Germany
Wilhelm Hasselbring  University of Kiel, Kiel, Germany
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 26,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1454268.1454271
What is a DOI?

ABSTRACT

We observed a general problem of sequential programs, which often results in design and programming errors in industrial software engineering projects, and propose a solution approach. Telephone lines may be busy, banking accounts may be overdrawn and disks may be full. These things happen in the real world, causing the disruption and non-fulfillment of an expected service. Ignoring these problems leads to violations of the postconditions of the caller that depends on the service. The conditions are exactly known and cannot always be avoided, but measures could be taken afterwards. A good program should handle them as part of the specification. As such they are not specification violations and should not be regarded as errors. Unfortunately, they usually can or shall not be handled immediately within the direct caller, e.g., for information hiding reasons. The problem is similar to the problem of error code handling and handling them with exception mechanisms seems reasonable, but the problem is even more complex. These situations must not terminate the system suddenly, because that also violates postconditions. Consequently, exceptions for these situations must be distinguished from exceptions for errors and are worth handling separately. Therefore, we introduce the new concept contingency for such situations. Since the conditions are defined, they are candidates for forward recovery, but conventional exception mechanisms are not appropriate for that purpose. Appropriate mechanisms are presented in this paper. A systematic inspection and handling of contingencies with these mechanisms before runtime can diagnose and avoid subsets of specification violations effectively. This implies some consequences for the engineering process.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
 
4
 
5
Oracle. Oracle9 i database error messages, release 2 (9.2) part no. a96525-01. 2002. http://download.oracle.com/docs/cd/B10501_01/server.920/a96525.pdf.
 
6
K. M. Pitman. Exceptional situations in Lisp. In Proceedings for the First European Conference on the Practical Application of Lisp (EUROPAL'90), Cambridge, UK, 1990.
 
7
M. Raento. What should exceptions look like? Mika Raento's Blog, July 2006. http://www.errorhandling.org/wordpress/?page_id=100.
 
8
B. Ruzek. Effective java exceptions. dev2dev.bea.com, January 2007. http://www.oracle.com/technology/pub/articles/dev2arch/2006/11/effective-exceptions.html.
 
9
P. Seibel. Practical Common Lisp. Apress, September 2004. PDF at http://www.apress.com/resource/freeebook/9781590592397 and HTML at http://gigamonkeys.com/book/.
 
10
T. van Ellen and W. Hasselbring. Extended exception mechanisms for contingencies. In SERENE 2008: Proceedings of the Software EngineeRing for rEsilieNt systEms 2008 workshop, Newcastle upon Tyne (UK), 2008. (In press).
 
11
D. Weinreb. What conditions (exceptions) are really about. Dan Weinreb's Weblog, March 2008. http://danweinreb.org/blog/what-conditions-exceptions-are-really-about.

Collaborative Colleagues:
Thorsten van Ellen: colleagues
Wilhelm Hasselbring: colleagues