Other development environments have things like the modeling tool. I remember one that Cincom was evaluating a while back. Their business model was to make the tool pretty cheap, but charge you every time you wanted to generate code. If you wanted to modify the default code generation you could do that by putting in some kind of rules to override it. But think what a pain that would be. You would do your design, generate some code, test it out, figure out what didn’t work, figure out how it should be different, figure out how to write the rules to generate different code, regenerate, recompile, retest. SLOW.

Round trip engineering means that you can create your model, generate and test, and fix it or continue development in the running system, like all Smalltalk development. When you have it the way you want it, you push a button to resynchronize, and the system knows how to import the current state of the art back into the model. Easy!