Title :
Characterizing Communication Channel Deadlocks in Sequence Diagrams
Author_Institution :
Dept. of Comput., Univ. of Surrey, Guildford
Abstract :
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.
Keywords :
Unified Modeling Language; formal specification; process algebra; system recovery; UML; algebraic semantics; branching; communication channel deadlocks; communication protocols; deadlock-free processes; iteration; sequence diagrams; sequential composition; Distributed networks; Distributed programming; Formal methods; Protocol verification; Requirements Analysis;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2008.28