You still have time (until May 22) to influence in the development of the new version of the UML (UML 3.0).
Michael Jesse Chonoles (in the SysML forum mailing list ) has perfectly summarized what the OMG wants to hear about:
- How you currently use UML . And if you don’t why NOT?
- Desired uses OF UML . What doesn’t it do now for you — what do you have to tailor or misuse to get it work for you. What non-standard features do you depend on.
- Business case for change . Why would your suggested fixes help your organization? Would they help the spread of UML, MDA, SysML…Would they help the world of System / Software development?
- Advice on the scope (of applicability) of UML , e.g., what should be part of UML vs profiles. Is UML too large,too small. Are there too many dialects? Should UML be capable of representing only OO languages, any language? Should any sort of processor configuration be supported? Should programming features be separated from logical features? Should there be formal executable semantics?
- Technical evolution recommendations . Profiles, subsetting, packet merge,..
- Views on the process for changing UML Is a major 3.0 UML needed? When? Do we need a regression test suite? Would your suggested changes cause temporary havoc? Should we have separate dialects of UML for each programming language/purpose?
Responses may be from any organization (or individual) via the OMG RFI
process. You need not be a member of OMG. Responses may be on any of
the above areas (the more the better). More details here . As always, feel free to also give your opinion as a comment to this post. I’d love TO know your opinions ON this!.
My quick answer would be that I don’t see the need for a UML 3.0. In fact, I didn’t even need/want a UML 2.0. FOR the kind OF applications that I usually model (DATA-intensive applications) UML 2.0 did NOT provide ANY major contribution wrt the 1.5 (I think the ONLY new features I use ARE SOME OF the improvements IN the sequence diagrams) but it did ADD a lot OF “noise” (you just need TO compare the SIZE OF the official UML 2.0 superstructure AND infrastructure specification WITH that OF the previous version). So, please keep UML generic (FOR specific tasks/domains we already have DOMAIN-specific languages) but simple AND usable. If we want practitioners TO adopt the UML, we cannot give them a 700 hundred pages specification TO READ!.
UML 1 was way too loose for full semantic application generation, but it was really good for “up-front” modeling. UML 2 has much more semantic rigidity, enabling MDA-like approaches, but it has also become more complex and difficult to use.
There may be a need for a UML 3 that would better allow the complete modeling lifecycle, with relaxed semantics at the beginning and the possibility of tightening these as you progress through the lifecycle. Basically, the ability to have a low-semantic, “sketching” capability and defined routes to drive to a higher semantic model that could be used to generate applications.
Perhaps fantasy?
I like your point of what I’d call different compliance levels FOR UML models. AS an example, consider the use OF sequence diagrams. AT the beginning I just want TO sketch SOME interaction scenarios (AND thus, FOR instance, I don’t care if the messages between the objects correspond to existing operations in the classes). Later, I may want to have a perfectly consistent sequence diagram, where all the messages and parameters match the operations’ signatures
IN my opinion UML provides different models FOR different purpose.
For high LEVEL interaction AND relationship modeling use Use Cases.
For detailed processes but limited interaction modeling the activity diagrams ARE great.
For detailed interaction you want TO use sequence diagrams.
There are enough companies out there who have not adopted the basics of modern software development. A more complicated UML standard won’t help that, but lead TO the fact that less companies will use the standard.
The OMG needs TO focus ON broaden the USAGE AND adoption OF the 2.0 standard. Just a few people need a 3.0 standard. But if the community gets smaller AND smaller it IS NOT worth it.
Also the tools should extend their adoption of the UML 2.0 standard. Many of them still ignore some of the UML 2.0 constructs (well, even some of the UML 1.0 elements).