Language Workbenches
Language workbenches are another way of looking at the problem. They are tools for building DSL's more easily. I am not convinced that they are the right approach as the hard part of creating DSL's is envisioning an elegant grammar - implementing a DSL is fairly trivial (be sure to check out FAQU 3 when it is published for a cool article on Software Product Lines and generating your applications more efficiently).
That said, it is still important to understand language workbenches if you want to see the classes of problems that software engineering will have to solve in the future. Check out Martin Fowler and Sergey Dmitriev as they talk about the future of programming using language workbenches. The links are pretty old, but the technology is still not really out in the wild (there is some pre-beta software from JetBrains, but nothing from Intentional. Microsofts Software Factories and the OMG's MDA are out there and trying to solve the same problem - but in a fairly half assed way from everything I've seen).


I understand that Intentional talked about a 'Domain Workbench' at OOPSLA 2006 but I'm afraid I don't know whether they showed anything.
My company is putting together an event to take place in Cambridge, UK in May 2007 which will cover code generation, model-based development, domain-specific languages and software product lines. This should be an ideal opportunity to find out more about the state of the art in these areas. More info at http://www.codegeneration.net/cg2007/
Good point. I've checked out their site but not played with the product. I note that they're offering heavily discounted software to get people started with it right now, so if someone was going to buy their software, this would probably be a good time!