OctoBubbles is an open source UML tool.
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 reduces the time spent on navigating code fragments and establishes a better traceability between the UML model and the source code by displaying multiple class diagrams and the corresponding source code simultaneously in one fragment.
OctoBubbles tool supports reverse and round-trip engineering features in Java programming languages.
OctoBubbles is developed as a master's thesis project and upgraded version of OctoUML.
UML model of OctoBubbles tool can be seen at link.