In-Depth
Are you ready for some UML 2.0?
- By Jack Vaughan
- September 1, 2002
Work is well underway to update the Unified Modeling Language (UML), although
the effort has fallen behind some early estimates for completion. Among
enhancements that could eventually comprise UML 2.0 are improved semantics,
which may lead to more practical models, as well as better code generation from
UML models.
But there is a lot more under consideration. Better handling of components,
support for business process models and more able meta data interchange are also
expected to be part of the next mix.
Application development managers can be excused if they have not kept current
with the somewhat arcane deliberations going on under the eye of the Object
Management Group (OMG), which maintains the UML standard. While tighter
semantics and other aspects of UML 2.0 will directly affect their work, many
development managers will simply rely on tool vendors to add UML 2.0 features to
their software packages in upcoming rollouts.
Some suggest parts of UML 2.0 are of primary interest to vendors, and
secondary interest to users. Better (or more complete) code generation from
models, for example, is something many users look to tool vendors to provide.
Better tool-to-tool model interchange, again, is up to vendors to deliver,
although the trait has great advantage for software users who, despite UML's
status as an open standard, still experience tool ''lock-in.''
Amigo days
UML was well received when it first appeared
in the mid-'90s. The modeling world was a Tower of Babel, with competing
methodologies obscuring the benefits of model-based design. When renowned
methodologists Grady Booch, James Rumbaugh and Ivar Jacobson found themselves
all working under one roof at Rational Software in about 1995, they saw their
way to describing a software development process based on UML. The three, billed
as ''The Three Amigos,'' went on a multi-city tour. Many others worked to define
and evangelize UML as well. The language is currently on revision 1.4.
UML, which has been described as a notation for communication, can be used
with paper or a whiteboard. Naturally, many would like to use it with computer
tools to improve development outcomes. Other software tool vendors have followed
RationalÕs lead and come up with a host of UML products.
UML has not necessarily proved to be popular with some programmers, who see
models as extra work that often bears little resemblance to the finished code in
a working application.
The modeling language is found in larger companies, where models seem to have
more value when more team members are involved, programs are bigger, and the
need to swap functions between product lines is more immediate.
Although it can be used with a whiteboard, UML has often been called complex.
''It's too big. It's too complex. It is not evenly precise. It is hard to
customize. It is hard to exchange diagrams. And components are not well
supported,'' said Chris Kobryn, chief technologist at Irvine, Calif.-based
Telelogic, and co-chair of the UML Revision Task Force at the OMG, pointing to
its deficiencies.
The work afoot, maintains Kobryn, should lead to advances. ''It will be a
more balanced language. Overall, you'll find much better integration of all the
behavioral diagrams,'' he said.
''There are a number of primary goals for UML 2.0,'' added Cameron Skinner,
chief architect, application development tools, at San Francisco-based
Embarcadero Technologies. ''One goal was to make it easier to understand and
implement. That boils down to creating a less ambiguous language.''
Efforts right now to enhance the language will largely help embedded
real-time system developers and tool vendors, noted Telelogic's Kobryn.
Working on a building
While UML 2.0 was once pegged for
mid-2002 completion, dueling proposals are still being prepared prior to a
meeting of the OMG later this month in Helsinki, Finland. Several participants
in the standardization process say UML 2.0 has a chance to be finalized by the
end of the year, but that is not assured.
''Competition has slowed down the adoption process,'' said Richard Soley,
head of the OMG. ''Now we are looking at completion by the end of the year. But
we think we will also have better results.''
There is a concern among some participants that, despite declared goals of
simplicity, UML will get bigger and bigger. But UML community members do seem
conscious of that pitfall. Telelogic's Kobryn insists that the individuals
working on UML 2.0 do not want it to grow in such a way that it becomes
wasteful.
''We are aware of the second-system syndrome,'' he said, alluding to the
tendency to over-design one's second system as described in the keystone tome
The Mythical Man Month by Fredrick Brooks.
A number of industry players have taken part in the OMG UML 2.0 revision
process. Attention has focused at times on proposals from the U2 Partner
consortium. The group is offering elements of infrastructure and superstructure
proposals aimed at improving UML in various ways. A revised UML Infrastructure
Library that carries forward model interchange goals of the OMG Model Driven
Architecture (MDA) standard was formally submitted in June for consideration.
Many vendors familiar to users are in the consortium, which includes I-Logix,
Oracle, Rational, Telelogic and Computer Associates, among others.
Will the proposals of the group garner special attention? Some might
anticipate as much. But ''that's not how OMG works,'' said Soley. The OMG, he
noted, now has a majority of user members.
Interchange, generation, biz
For long-time design expert
Jan Popkin, head of New York City-based Popkin Software, there are ''two or
three key trends represented in the unfolding UML 2.0.
''UML is growing up. It is evolving multiple modeling techniques. That's
good, because no one [model] will do everything,'' said Popkin. ''More than one
notation is required, particularly for handling business process modeling.''
Added Popkin: ''UML 2.0 is starting to include BPM. In [UML 1.4], the
activity graphs were a bit restricted for BPM. Even in 2.0, they could still be
better. But the trend is in the right direction.''
Improvements in modeling components are also due in UML 2.0. Component
technology has grown in recent years with the advent of J2EE and Microsoft's
.NET. Better semantics for component description, improved means of component
code generation, and specific modules for .NET and Enterprise JavaBean building
are all under consideration for UML.
The OMG's MDA pops up in a lot of proposals. It is promoted by the OMG as a
means to better ''abstract up'' design architecture, and to better ''generate
out'' code in the languages of the day (or the languages of yesteryear). ''UML
is, in effect, the common language for MDA,'' said Telelogic's Kobryn.
MDA-ready (as well as XMI-ready) data interchange methods under consideration
could help both vendors and users. Said Kobryn, ''You cannot go from one
modeling tool from Vendor A and import that to a tool from Vendor B with UML
right now and see that same model. Parts can be exchanged. But the diagrams are
not provided for in terms of interchange. In the future, you will be able to
[go] across tool[s] to analyze models.''
What is the take of an original Amigo on all this? ''UML 2.0 has many
improvements that target system implementers,'' said Grady Booch, chief
scientist at Rational Software. ''A lot of the improvements target MDA
'people.'''
And there is a reason for that. ''If people invest the effort to draw these
diagrams, the question is: 'What do I get for them?,''' said Booch. ''The answer
is to use tools to get as much as I can out of my models.''
Many consider real-time design and code execution issues odd men out in the
first UML, but that should change with UML 2.0.
Part of the push toward better real-time support rides on a submission by a
group including famed methodologist Stephen Mellor. Mellor -- co-author of
a new book from Addison-Wesley called Executable UML: A Foundation for Model
Driven Architecture -- was not one of the cheering throng when UML 1.0
happened, but he has more recently joined efforts to produce a UML that leads
more directly to executable systems. Such an approach could become an
alternative to Java.
Some of the real-time enhancements to UML will play in the wider development
sphere.
''We've tried to do things that have applicability to non-real-time systems
as well. Many of the problems aren't different and occur in normal desktop
systems, too,'' said Bruce Powell Douglas, chief evangelist at I-Logix, Andover,
Mass. Elements focused specifically on real-time are being handled as part of a
UML ''profile'' (The UML Profile for Schedulability, Performance and Time)
outside of UML 2.0, Powell said.
Even when standardization is achieved, UML 2.0 compliance will be an ongoing,
incremental process for some time. That may not be a new thing. Both users and
vendors have at times been selective -- some would say ''spotty'' --
in their support of UML 1.1 and 1.4.
See related story, 'UML 2.0 RFP
scorecard.'
About the Author
Jack Vaughan is former Editor-at-Large at Application Development Trends magazine.