A Monitoring Profile for UML Sequence Diagrams

Date of Submission: 
July 24, 2006
Report Number: 
06-024
Report PDF: 
Abstract: 
UML sequence diagrams are widely used during requirements analysis and design for specifying the expected behaviors of a system. In this paper, we present a monitoring profile that extends sequence diagrams to facilitate the comparison between the actual behaviors and expected behaviors of a system. With the profile, the developers can precisely specify the runtime objects to be monitored, the expected sequences of message exchanges among these objects, and the monitoring actions to be performed when the message exchanges are observed. Supported by the tools that we develop, the monitoring actions can inspect program states, verify assertions, record coverage information, and visualize the computation during the progress of various scenarios. These tools allow software developers to effectively use their design knowledge to detect and localize bugs during testing and debugging.