Il y a par exemple "ArgoUML" (http://argouml.tigris.org/) qui est gratuit, mais à mon avis le code produit est rarement facile à lire.
Je n'ai plus utilisé depuis longtemps les outils Rational. A l'époque il me semblait que le code était un tout petit peu plus simple. Rational est un outil commercial et assez cher. De plus dans chacun de ces outils le plus gros problème est ensuite de réimporter dans les diagrammes les modifs que tu aurais faites directement dans le code.