Well, Rose had a roundtrip mechanism for a couple of predefined code languages like C++ and Visual Basic 6 which could be customized with a sort of COM interface. Actually you needed to write VB Script to control code generation as well as reverse engineering, but of course from there you could call COM objects, like those you set up yourself via VB or ATL.
We used to model our applications and create a lot of code with Rose many years ago when we were still on VB 6, but had to learn the hard way that reverse engineering is a bugger anyway. But then, for forward generation only, you need mechanisms to separate manual from automatic code, and VB didn't offer much there (while C# has partial class declarations now.).
When we switched to .Net we had the choice to either write two months' worth of VB scripts to make Rose handle C#, or switch to Rational XDE which cost a fortune and fell behind Rose in many respects (no XMI import e.g.).
So we said goodbye to UML for the time being and set up our own code generation thing with hand written XML transformed to code via XSL. Sometimes we even transformed it to XMI and imported it to free tools like ArgoUML or StarUML so we could draw diagrams from the classes we already had.
The day came, of course, when we suffered serious UML withdrawal symptoms. Testing UML tools taught us that the free ones were to slow and incomplete, while the IBM ones still were a rip off. Which left us with Poseideon, Visual Paradigm and EA. The powers that be decided to take on EA. I think it was the adaptability and profile support, and the support for various XMI versions which did it. Still sometimes I'm weeping for the lost chance of using Visual Paradigm (e.g. state machine handling is far better there).
Anyway though, EA had all we needed to maintain our old "XML to code" thing. We only had to export models to XMI and then transform to our old XML schema, and within EA we could set up a profile with stereotypes to control this.
EA has its gaps and inconsistencies but it works for us. I'm still dreaming of something better, but certainly I don't want Rose back again. Ever tried to draw a sequence diagram in Rose? Last time I tried I told'em I'd give notice next time they asked me to do it.