In-Depth
Connecting the dots
- By Deborah Melewski
- July 10, 2001
The Unified Modeling Language (UML) has been receiving accolades
for some time now and has been formally approved as a standard for the Framingham, Mass.-based Object Management
Group (OMG). The UML has been used in practice, and there are some reportable successes. There are also some areas
that may require further scrutiny, including the UML's lack of a process; the need for clarification in portions
of the specification; UML compliancy within toolsets; and the ability to bring a completed design to code and implementation.Most
people will agree that software development is not a predictable process. Therefore, it should come as no surprise
that the UML was intentionally developed without a specific process in mind.
The UML is intended to provide a standard set of analysis and design notations for modeling and software systems.
Without a process, however, is the UML similar to a game of connect the dots -- without the numbers? Does the lack
of process reduce the UML standard to a simple set of pictures?
Probably not, according to industry observers. Surprisingly, many developers are relieved that a specific process
has not been forced upon them. There is debate over the advantages or disadvantages of having an imposed process
with the UML. Development teams that have been using object-oriented techniques for some time like the flexibility
of using their own process or customizing an existing process.
On the other hand, companies that are just beginning to move to object-oriented development are more likely
to want a standardized process.
To help people implement the UML as it stands today, analysis and design tool providers have stepped in to provide
customizable processes, consulting and training with their toolsets. The UML remains open and can be used with
any process. There are a number of existing processes to choose from including Catalysis from Iconix Software Engineering
Inc., Santa Clara, Calif.; Team Fusion from Hewlett-Packard Co., Palo Alto, Calif.; and Rational Objectory Process
from Rational Software Corp., Santa Clara, Calif.
There has even been some speculation among development tool suppliers as to whether Rational's Objectory Process
has been positioning for the UML process slot. Rational was, after all, instrumental in bringing together the leading
methodologies of Grady Booch, Jim Rumbaugh and Ivar Jacobson, thereby laying the groundwork for the UML specification.
According to Per Kroll, marketing manager for Rational's Objectory Process, Rational's plan is instead to make
its process more of a "common knowledge" process. "Right now, we don't have any plans to try to
standardize on a process," he said.
Kroll would like to see Objectory become more a de facto standard than a rigid, standardized process. "Many
people are afraid of implementing a process because they've been burned by trying to adhere to an expensive, rigorous
process and then finding it didn't work," he said. "A vast majority of companies would rather have guidelines
with best practices, which is what we've incorporated into Objectory Process." The Objectory Process works
with Rational's Rose, SQA testing and requirements management products to fully support the UML.
Setting the stage
"One of the biggest UML issues is the lack of process," noted Greg Schottland, president and founder
of Advanced Software Technology Inc., Littleton, Colo. "People are left with a lot of pictures, and they need
to know what to do with them. Software development needs an organizable, repeatable discipline, and that's what
the UML is intended to bring," explained Schottland. "The UML is a standard set of notations, and it
sets the stage so that we can start to make software an engineering standard."
To help facilitate the UML within a software development project, Advanced Software Technology provides GDPro,
a design and reengineering tool that currently supports all of the UML models.
According to Schottland, GDPro helps developers learn to use the UML on the first pass. "We have to keep
in mind that developers don't have time to read all of the latest journals," he said. The best balance, he
added, is to keep development easy while maintaining the ability to graduate in levels of sophistication.
Roger Toennis, software technologies engineer at Lucent Technologies/Bell Labs Innovations in Westminster, Colo.,
is implementing GDPro in prototype projects at his company. Lucent's Bell Labs designs and manufactures telephone
switching equipment.
Toennis is pleased that the UML does not dictate a specific process. "The needs of people and projects
are so varied that it's a benefit that the UML does not have a specified process," he said. "Trying to
implement a process with the UML would be like buying the whole farm but in reality needing only 60% of it."
The UML, however, has not yet become a standard within Lucent. "There is a lot of open mindedness at the
company, and we try to implement new technology wherever it can be used," said Toennis. The problem in moving
completely to the UML, he explained, stems from the fact that there are too many groups with mixed technologies.
"We have some groups that want abstract, high-level design for huge systems that require well-designed
software," said Toennis. These groups are a good match for GDPro and the UML. "There are also groups
using older hardware technologies, and because we have to maintain what's out in the field we don't want to mix
in newer software technology," he said, explaining that the UML would not be a good match there.
Early success
Perhaps one of the earliest UML success stories is that of Harpreet Oberoi, a software project manager at a
major multinational medical diagnostics corporation. Oberoi was also an early participant in the initial formulation
of the UML. Because of the highly competitive nature of the medical diagnostics business, it was imperative that
Oberoi's UML-based project be completed on time and without problems. "This project is of global significance
to the company," said Oberoi. "It is expected that this tool will generate $1 billion in worldwide sales."
The project called for a redesign of the company's existing Immuno-Assay Analyser, a realtime medical analysis
tool that gathers patient information, automates remote testing and stores information in a database. To ensure
that no functionality would be lost, the second generation of the tool had to be completely backward-compatible.
The original tool was character-based, and extending its functionality had become a real problem. The decision
was made to redesign the tool as an NT application for 100,000 people worldwide.
"My goal was to get a grasp of the system fast, then model the system completely, including how the application
would be implemented and used," said Oberoi. "I decided to go with the UML, which is a good notation
but has no methodology. I really needed a good methodology, and because my background was with the Object Modeling
Technique (OMT), I was most comfortable with having a methodology."
Oberoi chose the UML implementation of the Select Component Factory product from Select Software Tools Inc.,
Irvine, Calif. "Our team went right to the requirements phase with Use Cases, and then to the design phase,"
said Oberoi. "We finished analysis and design in only three months."
Oberoi's team used the Select code generation tool for Microsoft Visual C++. Some of the more complex algorithms,
such as those required to process results remotely, were then implemented. Screens, database functionality and
remote host functionality were added using Microsoft Visual C++ and MS-Foundation Classes. Select's link to Princeton,
N.J.-based Logic Works Inc.'s ER-Win tool was used for database modeling. "We used the UML successfully in
all facets," said Oberoi. "I attribute the success of our project to the UML, the Select tools and their
use of a modern object-oriented methodology, and the ability to visualize the system in a 3D view."
Oberoi is a strong methodology proponent. Because he was able to implement Select and OMT, he can see the benefits
of "keeping people in their zone" by allowing them to use their own process. On the other hand, he noted
that "the point of the UML is to have a standard, and I think you should have a standard process to go with
it, even if it is more of a recommended methodology that can be used as a guideline."
The UML is also being used extensively at On Command Video, San Jose, Calif., a provider of entertainment such
as games, cable channels and films in hotels.
The company currently has 3,300 proprietary blue boxes installed worldwide, and has 1.4 billion hotel rooms
under contract. Due to dramatic growth at the company during the last year, several development projects have been
implemented.
The company has a number of large COM/DCOM object-oriented development projects, including a new back office
system with Windows clients and NT, in an N-tier environment with the Oracle database and HP-9000s. All of the
company's projects use the UML, and Platinum Paradigm Plus, from Platinum Technology Inc., Oak Brook Terrace, Ill.
"We've used all of the diagrams in the UML," said Darrell Thurmond, On Command's chief IT architect,
software development. The business logic is completely distributed, and database calls are completely isolated.
Paradigm Plus allowed Thurmond to keep the database fairly independent from the user interface.
"We also follow a very formal process, using the SEI CIM process model with the UML," said Thurmond,
adding that having a formal process helped tremendously. "For the first time, we see significant time and
cost savings, which we found to be a 40% savings when we applied the Cocomo project cost model." This has
helped acceptance of the UML considerably at his company. "The UML was initially a hard sell to people, and
it was difficult at first for those accustomed to doing IT development."
While pleased with the UML performance, Thurmond kept a log of issues that he would like to see resolved. For
one thing, there was some confusion in the aggregation composition and some things that did not always seem to
make sense. He also found that the UML was difficult to use on smaller projects, but scales better on large projects.
UML Compliance
Issues relevant to the UML standard have surfaced. One is the issue of UML support, or compliance, by analysis
and design tools.
Tools suppliers have been working to support the modeling techniques and diagrams currently detailed in the
UML. In some cases, a company may choose to support only five of these diagrams within its product, and may call
itself UML-compliant, which means compliant in those specific areas. These five diagrams may have been implemented
first because they were deemed the most needed by the company's customer base. Some companies have chosen not to
incorporate certain diagrams because they decided they were not yet concise enough in detail. The OMG has established
a Revision Task Force (RTF) to help out in areas that are lacking in detail or need to be clarified.
Popkin Software and Systems, New York City, has integrated both UML support and relational data modeling into
its SA/Object Architect analysis and design tool. Popkin also recently started working with the OMG Revision Task
Force.
According to Lou Varveris, product manager at Popkin, "The UML is a definitive specification, but we find
it's still a little loose in terminology. We all need to be working from the same page."
Popkin currently supports seven of the UML diagrams. "We aren't supporting the Activity Diagram yet because
it posed a problem for us," said Varveris. "We're trying to work with it, but the specification isn't
real clear. But it's definitely a hot issue for realtime developers and needs to be cleared up. The UML is good
but it's just not the whole solution," continued Varveris. "It provides diagrams, but it's not a complete
set. We have people in relational database design who want to keep their existing process. For example, we still
have customers using process modeling and data flow diagrams."
The lack of a standard UML process has not been a real issue for Popkin customers. According to Varveris, most
Popkin customers have their own process. "We can recommend others as needed, for example Fusion or Catalysis.
Books help as well. Sometimes products that really stick to a process can scare people off," he said. "It
depends on the customer really; some want to be steered toward a process while others have their own ideas."
Model to code
Meanwhile, Riverton Software, Cambridge, Mass., has taken a more blue-collar approach to modeling. "We're
very pragmatic," said Don Roedner, director of marketing. "Modeling has to be much more than drawing
pictures, and it should be tightly coupled with application development."
According to Else Marie Ostling, Riverton's vice president of customer services, "Not all companies need
to use every single modeling option of the UML, and many tend to start out with a subset."
Riverton's HOW product provides a framework. "Our customers tend to focus more on the business components,
so we allow them to model user interface objects but beyond the classes, we help define the flow. The effort then
is to focus on development. You have to be able to implement the model in code," said Ostling.
One of the biggest challenges, she said, is providing the ability to take the UML pictures and translate them
into a component-based architecture. "The UML won't help you with that, so that's where the Riverton framework
comes in."
Riverton currently supports those UML diagrams that customers want, including Use Case, Class, Activity, Sequence
and State Diagrams. According to Ostling, the UML's lack of process makes it difficult for people just starting
out. "Those people want a process to help them in their implementation of the UML," she said. "So
we've put together KnowHOW, a process to help people understand and work with UML notations. Because each development
organization has different needs, we customize the process for them," she said. Another challenge, said Ostling,
is that the OMG is trying to get a set of notations that cover all needs.
"Also, the user interface is one huge issue on the business applications side," she said. "It's
an important piece." The class diagram, according to Ostling, is too abstract. "It contains attributes
of the window itself, but not what's in the window," she explained. "Riverton customers can work through
this with our tool, but others will be lacking."
KEV Systems, a consultancy based in Newton, Mass., has partnered with Riverton Software to provide client/server
and Web consulting. Bernie Metzker, president of KEV Systems, has implemented HOW, PowerBuilder and the UML for
a project at ADP.
ADP Global Proxy Services provides voting services for non-U.S. companies, specifically for fund managers who
vote via proxy. A system is currently in place, but it is not extensible enough to grow with the business.
Riverton's HOW product is being used to reengineer the old system. Important pieces to the project are the workflow
diagram, Use Case analysis and the domain modeler. "The different perspectives the HOW tool allows you to
have makes it easier to spot mistakes in design, as opposed to later in development," said Metzker. "We
found we had 90% of the model correct."
The code generation capabilities were also a plus for the project. Metzker saved time in design and maintenance,
which was proven because business changes since then haven't hindered the design.
The ability to generate code from a design has also proven a huge benefit to CRI A/S, an aerospace and defense
contractor in Denmark. CRI has been using ObjectTeam from Cayenne Software, Bedford, Mass., to develop a system
for a client.
According to Thomas Christensen, systems engineer at CRI, ObjectTeam 7 includes all the UML features his company
requires. "We've used the Class Diagrams and Use Case Diagrams, but haven't used the others yet," he
said. "Some of the other diagrams just aren't useful for us."
This is the first time CRI has used a design tool to actually generate Corba (Common Object Request Broker Architecture)
IDL code. The company is building distributed systems, with implementations in Java. "We're very keen on using
the UML to describe our architecture and the system. We use the diagrams in much the same way we would have used
OMT, but the OMT notation was lacking in several places and we found that more information was available using
the UML."
The team perspective is another key piece of ObjectTeam, said Christensen. "The repository piece is very
important," he explained. "We don't have to worry about files that we've copied or edited."
There are minor things that Christensen's team would like to see changed. Integration with Corba and distributed
systems is one example. "We'd like to be more involved in the process of building the code generator, especially
relative to IDL generation for Corba. We have to include some extra scripts and add some code to make it functional,"
he added. "The basic principal of ObjectTeam code generation makes sense, it's just difficult to bring the
architectures together, for example, Corba to Java."
Naresh Bhatia, Cayenne's director of product marketing, noted that his company supports five of the UML diagrams.
Bhatia agrees with Popkin's Varveris that the UML's Activity Diagram remains poorly defined. "The OMG RTF
may decide to nail that diagram down first," said Bhatia. "Cayenne has decided to wait to implement that
because the spec is likely to change. The UML standard was approved even though people knew it wasn't consistent,"
said Bhatia. "For example, the semantics and notation guide point to each other, but they are not fully consistent.
There are various inconsistencies in the (UML) document, so it really does have to bake a little bit."
The approved standard is in a revision process, where inconsistencies will be clarified. There are also some
things that not everyone understands, which may be somewhat open to interpretation. Nevertheless, Bhatia is optimistic
that what remains fuzzy will eventually be cleaned up.
Regarding process adoption, Cayenne provides a flexible and general process within ObjectTeam. "We believe
that the process is something that should in fact be kept open," said Bhatia.
From ObjectQuest Corp., Burlington, Ontario, Canada, ObjectQuest Developer includes a UML-compliant object modeling
tool, a GUI builder, database schema generator, business logic environment and documentation tools.
Richard Page, CIO at PDX Inc., a developer of pharmacy software in Fort Worth, Texas, is using ObjectQuest with
the UML to document the company's existing Unix-based environment. "To take advantage of a newer environment
like Windows 95 and NT, you need to first document what you've got," said Page. "We decided to use the
UML as the basis for our documentation, and over time we want to used to UML to extend our product. Documentation
is an emerging area in programming," said Page. "It used to be the stepchild, but these days it's especially
important," he explained. Having decided upon the UML, Page evaluated tools from Rational, Platinum and ObjectQuest.
He chose ObjectQuest, because of its shorter learning curve.
UML for realtime
ObjecTime, Kanata, Ontario, Canada, has been working on UML for realtime. Many of these extensions will be derived
from ROOM, ObjecTime's realtime object-oriented methodology.
Kevin Smith, senior software designer at Nortel Canada, used the ObjecTime tool, Rational Rose, and the UML
to implement a realtime control and monitoring system for a fault tolerant telephony switch.
"We needed a high-level analysis and design tool and a good process," said Smith. "We used Use
Cases and Structural Models, and we found that the Structural Models were not good for describing internal behavior
of objects or runtime behavior of the system very well, although they do describe the high-level architecture of
the system. We have a pretty picture of the system, but we were missing a lot of detail at that point," said
Smith. "That's where we turned from the UML to ObjecTime. But we had to translate from the UML/Rational Rose
model to the ObjecTime model."
ObjecTime is working closely with Rational now to help facilitate this translation," he added. "The
Rose tool for the most part provided what we needed, but occasionally we run into pieces that are not in Rose but
are in the UML."
This may be due to the fact that many tool vendors are still working to add various degrees of compliance to
their tools now that the UML specification has become OMG UML Version 1.1. Adam Frankel, director of marketing
at Rational, said Rational Rose currently supports UML 1.1 diagrams, the only exclusion being the Activity Diagram
because it is so new. "Rose 98 will support the same diagrams but at the OMG UML 1.1 level," he said.
I-Logix Inc., Andover, Mass., provides Rhapsody, a realtime tool for embedded systems. Rhapsody supports State,
Sequence and Class Diagrams. Like ObjecTime, I-Logix contributed to the UML work, with many UML behavioral views
contributed by I-Logix founder David Harel. "It was only natural then that we would come out with a UML tool,"
noted Ed Pastor, director of business and market development.
It is the ability to have behavioral views in Rhapsody that allows the product to generate full C++ code. "The
developer can change the generated code during debugging, and that is reflected back into the model," said
Pastor. "The code generated represents the model, and vice versa, which differentiates us from other environments."
The tool suppliers role
People for the most part are pleased with the approved OMG UML standard. While opinions on a standardized process
will continue to vary, tool suppliers are playing a large role in assisting customers with implementation of the
UML. With all the hype about the benefits of the UML, these tool suppliers are finding themselves in the position
of having to deliver on it.