In-Depth

Connecting the dots

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.