In-Depth

Are you ready for some UML 2.0?

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.