ArgoUML is a leading open source UML modeling tool.
ArgoUML has been a leading open source UML modeling tool for over a decade. It supports all UML diagram types as well as reverse engineering from and code generation into multiple programming languages include Java, Python, C++, C#, PHP, etc. (not all languages support both import & export). ArgoUML is implemented in Java and provides an extension architecture for adding new features (e.g. support for additional programming languages).
ArgoEclipse is a related project which repackages and extends ArgoUML to work as an Eclipse plugin-in.
The current stable version supports UML 1.4 and UML 1.3 (read only), but development versions include UML 2.x support (based on the Eclipse UML2 plugins).