Year of Graduation
Kaan burak Sener
Synchronized Visualization of UML Model and Code
System and Software Engineering
Unified Modeling Language (UML) is a visual modeling language. It provides common, semantically and syntactically rich, graphical mod- els for the architecture, design, and implementation of complex soft- ware systems from both behavioral and structural perspectives. UML is commonly used in Model-Driven Engineering (MDE) to describe the architecture of complex systems. OctoUML is an open source UML tool which is designed as a next-generation of software model- ing tool with the intention of combining formal UML notation with informal notations. This thesis is devoted to extending the existing OctoUML tool by adding reverse and round-trip engineering features. The prototype developed, OctoBubbles, aims to decrease the abstract gap between the source code and the model by allowing modifications to both the UML model and the source code concurrently. This re- duces the time spent on navigating code fragments and establishes a better traceability between the UML model and the source code by displaying multiple classes and the corresponding source code simulta- neously in one fragment. In this paper, based on our main objectives, we came with several possible approaches to solve the problem at hand but, for reasons that will be expounded upon in the main body of the thesis, we finally settled on the scaling approach, implemented and integrated that into the OctoUML tool. A quantitative evaluation shows that software developers could expect to display a sizeable num- ber of source code fragments and UML model concurrently. Finally, a qualitative user evaluation with 15 software developers from both the industry and the academy demonstrates a high level of excitement, interest, and potential benefits and uses of OctoBubbles tool.