Exception Handling
18-849b Dependable Embedded Systems Charles P. Shelton March 9, 1999
Required Reading: Romanovsky, Alexander; Xiu, Jie; Randell, Brian; Exception Handling in Object-Oriented Real-Time Distributed Systems
Exception Handling 18-849b Dependable Embedded Systems Charles P. - - PowerPoint PPT Presentation
Exception Handling 18-849b Dependable Embedded Systems Charles P. Shelton March 9, 1999 Required Reading: Romanovsky, Alexander; Xiu, Jie; Randell, Brian; Exception Handling in Object-Oriented Real-Time Distributed Systems Overview:
18-849b Dependable Embedded Systems Charles P. Shelton March 9, 1999
Required Reading: Romanovsky, Alexander; Xiu, Jie; Randell, Brian; Exception Handling in Object-Oriented Real-Time Distributed Systems
2
◆ Introduction ◆ Key concepts
◆ Tools / techniques
◆ Metrics
◆ Relationship to other topics ◆ Conclusions & future work
3
◆ Exception Handling is a method of achieving
Robustness:
Fault Injection Exception Handling VERIFICATION/ VALIDATION/ CERTIFICATION ROBUSTNESS
4
◆ Exception Handling is the method of building a system
to detect and recover from exceptional conditions
◆ Exception failures are estimated to
account for up to 2/3 of system crashes and 50% of security vulnerabilities
5
◆ Known exceptions
designers know are likely to occur
conditions that can be accounted for
assuring files exist before attempting to read/write to them, etc.
◆ Unknown exceptions
anticipate?
damage
6
◆ Forward Error Recovery: Programmed Exception
Handling
to recover from error condition, but try to continue execution from error state back to normal operation
◆ Backward Error Recovery: Default Exception Handling
design defects
to return system to a previous known state
where simply retrying the operation will fix the problem
7
◆ Robust Exception Handling may require extra
processing time
◆ Real-Time Systems may not tolerate delays due to
exception handling
be factorable into deadline constraints because of unpredictability of whether exceptions will occur
longer processing time to account for different execution paths
8
◆ No rigorous methods of exception handling design exist ◆ Major problem is covering all exceptional cases
code reviews, testing
◆ Xept
wrappers correcting for exceptional inputs before passing them to the software module
not available for modification but you want more exception handling than module provides
9
◆ Measuring a system’s level of exception handling is
difficult
we cannot think of all possible exceptions?
◆ Ballista
responses to exceptional inputs
10
◆ Robustness ◆ Fault Tolerant Computing ◆ Software Fault Tolerance ◆ Checkpoint/Recovery
state
◆ Security
◆ Human Interface/Human Error
faults
11
◆ Conclusions
exceptional conditions because they are not predictable
unanticipated situations
meeting real-time system deadline constraints
◆ Future Work
exceptional inputs to COTS software modules
handlers
12
◆ Trying to apply Object-Oriented techniques to
exception handling in real-time distributed systems
◆ Uses coordinated atomic (CA) actions to encapsulate all
exception handlers
◆ Developing a more structured approach to resolving
exception handling and real-time constraints
and procedure exceptions