In the best of all possible worlds, no one writes software any more. Instead, users, not developers, describe desired behavior formally using a language specific to their subject matter. Control engineers, for example, would use control diagrams, while manufacturing plant operators would describe the desired sequence of operations to be carried out in a visual language of their own devising. Accountants would think accounting; lawyers would think about, well, their fees.
This vision does require users to have some abstraction capability. Just as today, such skills will likely be in short supply, but the level of the domain-specific language would be high enough that the semantic gap between domain concepts and the language would be low. This is not as farfetched as it sounds: Spreadsheets do just that. Such a future would make UML an unnecessary evil. Instead, subject-matter experts would work with domain-specific visual languages tied in with the MDA infrastructure, of course in which they themselves "program," relying on MDA infrastructure to deliver an implementation.
Note that this moves away from MDA's focus on infrastructure. Once that infrastructure is constructed, the variability in subject matter will be much greater, and much more interesting, than variability in platforms (just as there are more frameworks and models than compilers today). In addition to the economy of scale that comes from the network effect, we also get an economy of scope due to the enormous number of model combination possibilities plus the fact that a small model delta can be additively combined with all the other existing models, so that a relatively small input creates a great variety. This eventually enables mass customization.
This is where system families play an important role in shifting the focus from thinking about platform independence to breaking up and scoping subject matters from application domains to achieve these economies of scope. Understandably, MDA currently focuses on getting the basic implementation technology standards done. However, systematic ways to scope and select domains, and to develop and manage domain-specific languages, will eventually be much more important. MDA inevitably enables a move in that direction.