11/10/09 :: [MOP] Simplifying UML [permalink]
Jordi reports that the OMG has just released a draft proposal for simplifying UML. Like many others I don't have access to the document but here are a few comments.
UML has its roots in OO and it should decide once and for all if UML is OML or something else, such as PML (Power Point Modeling Language), GML (Garbage Modeling Language)...
It would make sense to simplify UML if it had a well defined purpose, but even OO no longer exist. I have argued for a long time that modern software architecture has long gone passed OO principles and POJO-Oriented Programming is just a convenient way to inject behavior within metadata. There is nothing Object Oriented about that.
OO is not well suited to model information either. DDD may artificially represent some aspect of an information model but it can't be used to create efficiently the representation of this information model in different contexts (message exchanges, UI bindings,...).
So, simplifying UML would first require that we understand why people use UML, it would take real courage from the fathers of UML to realize that their initial thoughts, though perfectly respectable and logical, has been overwhelmed by the advances of software engineering. It would take them courage to realize that OO is no longer the prominent programming paradigm, by far and unbeknownst to the vast majority of developers. It would take them courage to actually facilitate the development of architecture independent programming models, that are so critically needed in our industry. But no, I can guaranty you that none of that will happen (why a vendor would promote Architecture Independent Programming Models?). The OMG will make sure that the OO bubble remains as big as it can. I respect the OMG, I think their processes and the quality of their work is very high compared to many other standards but the right thing to do today is not to simplify UML, it is to overhaul UML.
You can be sure that won't happen: this is what Steve Cook , leader of the UML revision task force, explains as an introduction:
There was a lot of agreement that UML is too complicated and we need to find a way to simplify it for normal people
Of, course, based on the discussion I had with Doug Purdy and Keith Short last spring, the plan will be to absolutely kill the M3 layer, such that we can make sure that Architecture Independent Programming Models will never see the light. With Microsoft driving it, we can expect that Power Point and Visio will become the prevalent UML tools after that effort is complete.
Our industry is about to lose another 20 years of progress, sad.