Design and Evaluation of Extensions to UML Sequence Diagrams for Modeling Multithreaded Interactions
- 22 January 2009
- journal article
- Published by SAGE Publications in Information Visualization
- Vol. 8 (2), 120-136
- https://doi.org/10.1057/ivs.2009.6
Abstract
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.Keywords
This publication has 19 references indexed in Scilit:
- Assessing the benefits of synchronization-adorned sequence diagramsPublished by Association for Computing Machinery (ACM) ,2008
- Design and Evaluation of a Diagrammatic Notation to Aid in the Understanding of Concurrency Concepts29th International Conference on Software Engineering (ICSE'07), 2007
- Is abstraction the key to computing?Communications of the ACM, 2007
- Learning concurrency: evolution of students’ understanding of synchronizationInternational Journal of Human-Computer Studies, 2004
- UML and ConcurrencyLecture Notes in Computer Science, 2003
- Visualizing the synchronization of Java-threads with UMLPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A study of common pitfalls in simple multi-threaded programsPublished by Association for Computing Machinery (ACM) ,2000
- On the Concurrent Object Model of UML*Lecture Notes in Computer Science, 1999
- Modeling Java Threads in UMLPublished by Springer Science and Business Media LLC ,1998
- A system for teaching concurrent programmingPublished by Association for Computing Machinery (ACM) ,1991