IBM's Rational Rose used to do something like that, but it was big buck$, and I don't think it exists, anymore.