Speaking of darkness, I spent some time yesterday producing updated XMI serializations for UML 2.2 and was reminded of some recent banter in the blogosphere about UML's apparent demise. As original author of the de facto reference implementation of the UML 2.x metamodel (i.e. the abstract syntax), I feel the need to offer my perspective on the issue.
In my opinion, tool vendors have failed. MDD is a sham, at least the way it has been employed in tools to date. Rather than contorting the artifacts, interface, and user (!) to meet the needs of the model or modeling language (UML, DSL, or otherwise), tools should be applying MDD (and visualization in general) where it makes sense to bring about real productivity and result in better quality software. I know there’s increased productivity and quality to be gained from modeling because I (and many others I know) have experienced it. But then I tend to be more accepting of the whole “no pain, no gain” mentality than most users. Tools need to evolve to make consumption of this stuff painless.
What's interesting to me, despite reports of UML's decent into darkness, is that a once long-time detractor of UML has recently changed its tune and started incorporating support for it into one of its tools. Maybe this really is the beginning of the end. UML is dead! Long live UML!