BOUML is a free UML 2 tool box including a modeler allowing you to specify and generate code in C++, Java, Idl, Php, Python and MySQL.
Since the release 7.0 BOUML is again a free software.
BOUML runs under Windows, Linux and MacOS X.
BOUML is very fast and doesn't require much memory to manage several thousands of classes, see benchmark.
BOUML is extensible, and the external tools named plug-outs can be written in C++ or Java, using BOUML for their definition as any other program. The code generators, reverses and roundtrips are ones of the pre-defined plug-outs included in the BOUML distribution. See features.
If you need private exchanges you can contact me directly by mail at contact@bouml.fr