Design and evaluation of extensions to UML sequence diagrams for modeling multithreaded interactions


Learning about concurrency and synchronization is difficult for novices. Our research seeks to support and improve the teaching and learning of concurrency concepts and to improve comprehension of the intricacies of multiple thread interactions. This paper describes a series of empirical studies in the first phase of our research. We began by conducting a comparative study to empirically evaluate the usability by novices of the existing variants of the UML sequence diagram notation in solving comprehension tasks involving multiple thread interactions. The results implied that a deliberately designed variant of this notation may provide better support for reasoning about concurrent behavior. We then investigated the factors that complicate learning, with the idea that the same complexities would also complicate comprehension tasks. In order to understand the practical difficulties novices encounter in learning about concurrency, we conducted an instructor interview and an observational study. These investigations guided us in determining the desirable properties of a new notation. We then designed synchronization-adorned UML (saUML) sequence diagrams, which extend UML sequence diagrams with those properties. Finally, we performed four empirical studies to evaluate the usability and efficacy of saUML. Through these empirical studies, we were able to validate the benefits of saUML in enhancing novices understanding of programs with different levels of synchronization complexity. © 2009 Palgrave Macmillan.

Publication Title

Information Visualization