Simon Johnston of IBM has written a note about DSLs (domain specific languages) compared with UML.
One of the excellent points he makes is that very few tools support refinement properly -- that is, the layering of a design from abstract requirements...