I just arrived back from the Object Management Group’s September meeting in Cambridge (the one across the river from Boston, not the one in UK where I went to university and go to work).
I want to make UML more relevant to mainstream developers and a better match for modern platforms, so that it and its derivatives can play seamlessly and add value to modern development environments. We’re making decent progress with this. UML 2.4 is almost finished, UML 2.5 is in the works, and discussions for the future of UML and its associated technologies past 2.5 are well under way.
UML 2.4 has cleaned up the UML metamodel considerably, and also clarified some ambiguous constructs that inhibited effective implementation, especially around sequence diagrams and profiles. UML 2.4 will be aligned with related standards MOF 2.4 and XMI 2.4. The end result will be that UML 2.4 will be defined in itself, which considerably simplifies the task of implementing it.
The submission team for UML 2.5 has been established. There now exists a simplified metamodel based on UML 2.4 with all “package merge” removed. The detailed work of re-writing the simplified specification around that metamodel will take place during 2011. This should make it a lot clearer what UML actually is.
SMOF (MOF support for Semantic Structures) was accepted for adoption as a standard. This is an important element because it will help enable the eventual refactoring/simplification/unbundling of UML, hence enabling it to be a better match to modern technologies. It now goes into finalization (which I am co-chairing), and should become a published standard towards the end of 2011.
We’re still working on the roadmap past UML 2.5, but I believe that one of the first things on that roadmap should be a replacement of the UML Profile facility with a better-integrated capability based on SMOF. How UML profiles actually work is a mess, and although some of them are increasingly popular (SysML, SoaML, UPDM, and more) it is increasingly difficult to manage the complexity and confusion that results from the poor definition of the profile mechanism. Fixing and enhancing this will really help UML derivatives to take off.