I use Enterprise Architect UML tool for modeling different parts of the ALMA system. This has proven to be useful when I need to understand new code, plan and design modifications, etc.
Enterprise Architect is the only tool that I have found that, within a reasonable price, allows to reverse engineer Java, C++, Python and CORBA IDL; all the languages used in the ALMA project. I wrote some macros so I can also import the TMCDB SQL files. The drawback is that it is a Windows tool, although that is not really so much of a problem, because the standard tool to write the project documentation is MS Word anyway.
You can open the models in this section using a read-only version of the tool, available here.