Design, Verification and Implementation of Exception Control Flows for Product Line Architectures
Separation of concerns is one of the overarching goals of exception handling in order to keep separate normal and exceptional behaviour of a software system. In the context of software product lines, this separation of concerns is important for designing software variability related to different exception handling strategies. This technical report presents a tool-supported solution for designing, verifying and implementing exceptional behaviour variability into product lines architectures. Our solution is based on: (i)~the adoption of an exception handling model that supports explicit exception control flows and pluggable handlers; (ii)~a strategy for designing and automatically verifying the selection of variation points related to exception control flows and handlers; and (iii)~an aspect-oriented implementation for exceptional behaviour variability. We evaluate qualitatively and quantitatively our solution through a case study targeting a real mobile application.
2009