Title :
Who is Accountable for Asynchronous Exceptions?
Author :
Morandi, Benjamin ; Nanz, Sebastian ; Meyer, Bertrand
Author_Institution :
Dept. of Software Eng., ETH Zurich, Zurich, Switzerland
Abstract :
Large parts of today´s software systems are devoted to detecting and recovering from failures, making exception handling a critical issue in software development. Concurrent software complicates this issue: most concurrent programming languages require a mechanism to deal with asynchronous exceptions, but because of the diverse design choices underlying each language, no approach fits all situations. We introduce a classification of possible approaches to guide the development of asynchronous exception mechanisms, and we show its applicability by deriving a sound and comprehensible mechanism for SCOOP, an object-oriented programming model for concurrency. We describe the key idea of the mechanism using the accountability framework, which precisely defines the obligations of client and supplier regarding the reporting of exceptions. The framework not only provides the necessary intuition to apply the mechanism correctly, it is also useful to comprehend other approaches.
Keywords :
concurrency control; exception handling; object-oriented programming; programming languages; system recovery; SCOOP; accountability framework; asynchronous exception mechanism; concurrent programming language; concurrent software; diverse design; exception handling; failure detection; failure recovery; object-oriented programming model; software development; software system; Concurrent computing; Context; Delay; Monitoring; Observers; Software engineering; Synchronization; SCOOP; asynchronous exception; concurrent programming;
Conference_Titel :
Software Engineering Conference (APSEC), 2012 19th Asia-Pacific
Conference_Location :
Hong Kong
Print_ISBN :
978-1-4673-4930-7
DOI :
10.1109/APSEC.2012.48