Proposed notation for exception handling in UML 2 sequence diagrams

We present a way to handle exceptions in sequence diagrams. The proposal is inspired by the UML 2 Testing Profiles (U2TP) default mechanism and introduces the use of multiple logical levels of sequence diagrams and what we call dynamic gate matching. The suggested notation distinguishes exception flow from the normal flow of control, creating a visual separation, and providing a way of handling exceptions in both single threaded programs and multi threaded programs. The proposed mechanisms are underpinned by trace semantics