Skip to Main Content
UML sequence diagrams (SDs) are a mainstay of requirements specifications for communication protocols. Mauw and Reniers' algebraic (MRA) semantics formally specifies a behavior for these SDs that guarantees deadlock-free processes. Practitioners commonly use communication semantics that differ from MRA, which may result in deadlocks, for example, FIFO, token ring, etc. We define a process algebra that is an extension of the MRA semantics for regular SDs. Our algebra can describe several commonly used communication semantics. Regular SDs are constructed from concurrent message flows via iteration, branching, and sequential composition. Their behavior is defined in terms of a set of partial orders on the events in the SD. Such partial orders are known as causal orders. We define partial order theoretic properties of a causal order that are particular kinds of race condition. We prove that any of the common communication semantics that we list either guarantees deadlock-free SDs or can result in a deadlock if and only if a causal order of an SD contains one of these types of race condition. This describes a complete classification of deadlocks as specific types of race condition.