Characterizing Communication Channel Deadlocks in Sequence Diagrams

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.

[1]  Arend Rensink,et al.  An Algebraic Semantics for Message Sequence Chart Documents , 1998, FORTE.

[2]  Bill Mitchell,et al.  Phase Automaton for Requirements Scenarios , 2003, FIW.

[3]  Winfried Dulz,et al.  Automated TTCN-3 test case generation by means of UML sequence diagrams and Markov chains , 2003, 2003 Test Symposium.

[4]  Sebastián Uchitel,et al.  Incremental elaboration of scenario-based specifications and behavior models using implied scenarios , 2004, TSEM.

[5]  Hanêne Ben-Abdallah,et al.  Syntactic Detection of Process Divergence and Non-local Choice inMessage Sequence Charts , 1997, TACAS.

[6]  Bill Mitchell,et al.  Inherent Causal Orderings of Partial Order Scenarios , 2004, ICTAC.

[7]  Rajeev Alur,et al.  Model Checking of Message Sequence Charts , 1999, CONCUR.

[8]  Michel A. Reniers,et al.  An Algebraic Semantics of Basic Message Sequence Charts , 1994, Comput. J..

[9]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[10]  Rajeev Alur,et al.  Inference of message sequence charts , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[11]  Jon Whittle,et al.  From scenarios to code: An air traffic control case study , 2004, Software & Systems Modeling.

[12]  Anca Muscholl,et al.  Compositional message sequence charts , 2001, International Journal on Software Tools for Technology Transfer.

[13]  Patrick Heymans,et al.  Turning High-Level Live Sequence Charts into Automata , 2002 .

[14]  Bill Mitchell,et al.  Detecting and resolving semantic pathologies in UML sequence diagrams , 2005, ESEC/FSE-13.

[15]  Bill Mitchell,et al.  Characterizing Communication Channel Deadlocks in Sequence Diagrams , 2008, IEEE Transactions on Software Engineering.

[16]  Bill Mitchell,et al.  Automatic Generation of Conformance Tests from Message Sequence Charts , 2002, SAM.

[17]  Pierre-Yves Schobbens,et al.  Synthesis of open reactive systems from scenario-based specifications , 2003, Third International Conference on Application of Concurrency to System Design, 2003. Proceedings..

[18]  Rajeev Alur,et al.  An Analyser for Mesage Sequence Charts , 1996, TACAS.

[19]  Sebastián Uchitel,et al.  Scenarios and state machines: models, algorithms, and tools , 2002, ICSE '02.

[20]  Byung-Sun Lee,et al.  Testing of concurrent programs based on message sequence charts , 1999, 1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

[21]  David Harel,et al.  Synthesizing State-Based Object Systems from LSC Specifications , 2000, Int. J. Found. Comput. Sci..

[22]  Manfred Broy,et al.  From MSCs to Statecharts , 1998, DIPES.

[23]  Rajeev Alur,et al.  Realizability and verification of MSC graphs , 2005, Theor. Comput. Sci..

[24]  Johann Schumann,et al.  Generating statechart designs from scenarios , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[25]  Jun Sun,et al.  Synthesis of Distributed Processes from Scenario-Based Specifications , 2005, FM.

[26]  Jun Sun,et al.  Realizing Live Sequence Charts in SystemVerilog , 2007, First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering (TASE '07).

[27]  Bill Mitchell,et al.  Resolving race conditions in asynchronous partial order scenarios , 2005, IEEE Transactions on Software Engineering.

[28]  Michel A. Reniers,et al.  Operational Semantics for MSC'96 , 1999, Comput. Networks.

[29]  Ina Schieferdecker,et al.  Development of a MSC/UML Test Format , 2000, FBT.

[30]  Daniel Amyot,et al.  An Evaluation of Scenario Notations and Construction Approaches for Telecommunication Systems Development , 2003, Telecommun. Syst..

[31]  Mohammad Reza Mousavi,et al.  Synthesizing software architecture descriptions from Message Sequence Chart specifications , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[32]  Amir Pnueli,et al.  Synthesis Revisited: Generating Statechart Models from Scenario-Based Requirements , 2005, Formal Methods in Software and Systems Modeling.

[33]  Markus Lohrey Safe Realizability of High-Level Message Sequence Charts , 2002, CONCUR.

[34]  Marsha Chechik,et al.  Behaviour Model Synthesis from Properties and Scenarios , 2007, 29th International Conference on Software Engineering (ICSE'07).

[35]  A. Rountev,et al.  Object naming analysis for reverse-engineered sequence diagrams , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[36]  Rajeev Alur,et al.  An Analyzer for Message Sequence Charts , 1996, Softw. Concepts Tools.