The Unified Modeling Language, widely used by software designers but little-known among their hardware counterparts, could be on its way to becoming a lingua franca for system-level modeling. But even its supporters disagree on whether UML is rich enough in its current state to represent hardware adequately.
UML is a vendor- and tool-independent notation for specifying, visualizing, constructing and documenting software systems. Developed by Rational Software Corp. and its partners and now under the auspices of the Object Management Group (OMG), UML lets software developers draw diagrams that can be, at least in theory, universally understood. The industry now is looking into whether UML can be used to represent hardware as well as software.
Cadence Design Systems Inc. is one EDA vendor that's trying to bridge the gap. "We've been doing a lot of investigation of UML over the past year," said Cadence Fellow Grant Martin. "We think the evolution of UML, especially the embedded real-time portion, will allow people to model functionality before making detailed partitioning decisions."
Cadence is looking at UML as a possible source of input into the Cadence VCC hardware-software co-design system, Martin said. To that end, Cadence has joined the OMG as an auditing member and is tracking OMG's real-time analysis and design working group.
Coming from the other direction, embedded-software vendor Project Technology has developed a prototype UML-to-VHDL compiler. "We don't sell it as a product yet, because we're in the process of understanding the hardware side of the market," said John Wolfe, the company's president and chief executive officer.
UML guru Bruce Douglass, chief evangelist at i-Logix Inc. and co-chairman of UML's real-time analysis group, said a number of companies are already using UML for system-level design. "The reason is that you have a common language that is visually rich," he said. "And now the same language can be used for software, so the over-the-wall phenomenon goes away."
Douglass said that UML is essentially ready today to represent hardware, although he acknowledged that it could use a few extra tweaks.
Conceptually, a system designer could turn to UML right after the back-of-the-napkin stage and draw diagrams that depict requirements for the entire system. Those diagrams could then be fed into a hardware-software co-design environment or into Rosetta, the formal constraint language under development by the System-Level Design Language (SLDL) committee.
"You take requirements for the entire system and break it down into big subsystems. Once you've done that, you break it into hardware, software and mechanical, and you can use UML to describe that process," Douglass said.
But many people on the EDA side of the fence believe UML needs much more work before it can fully support real-time embedded hardware. And there appears to be almost no interchange between UML advocates and the hardware design community or the SLDL initiative which few in the UML camp appear even to have heard of.
Steve Schulz, vice chairman of Accellera and executive sponsor of that organization's SLDL committee, is one skeptic. "UML might be a high-level way to specify some of the blocks you intend to implement in software and plug that information into the Rosetta backplane along with other views, but I see it as a relatively minor player," he said.
The limitation, said Schulz, is that UML can't represent an "architectural" view with such attributes as hierarchy, structure, connectivity or bus width. And that, he said, will make it hard to do any real estimation.
Gary Smith, chief EDA analyst at Dataquest Inc., believes UML could potentially fill the "software hole" between high-level abstractions and implementation. But the language isn't up to the task yet, he said.
Needed are semantic standards to ensure that UML models are truly vendor-independent. But standardization is proceeding slowly, Smith said, given the lack of anything like the SystemC initiative on the embedded-software side.
"The beauty of UML is that hardware and software engineers can all communicate in a common language," said Jim McElroy, director of Rhapsody product marketing at i-Logix. "But there's a question of receptivity. Will hardware engineers move up from block diagrams and schematics to the higher-level abstraction of UML?"
UML was developed during the past decade in an attempt to invigorate a deeply fragmented object-oriented software industry. It came about because many vendors had their own slightly different modeling languages, with no possibility of model interchange. UML 1.0 became a standard in 1997, and the next major revision, UML 2.0, is in progress.
UML provides static-structure and collaboration diagrams, state charts and other diagrams. The state charts, in particular, represent state machines and should be conceptually familiar to hardware designers.
"UML is a methodology and a set of standardized diagrams such that when you use them, people know what you mean," said Olle Hydbom, senior adviser at Telelogic. "But they're informal enough so that you're not tied down by having semicolons in the right positions when you're playing with ideas."
What UML is not is an implementation language. "You can represent state machines and states, but you can't describe detailed behavior in a formalized language. That is exactly the drawback of UML today," said Hydbom.
UML modeling tools don't offer a one-to-one mapping from pure diagrams to complete application programs, because the diagrams don't contain enough information. Telelogic's Tau UML suite converts UML class diagrams, state charts and sequence diagrams into the telecom-oriented System Design Language (SDL), which supports detailed behavior. The SDL can be read into hardware-software co-design tools from such vendors as CoWare and Arexsys.
The i-Logix Rhapsody product generates complete C/C++ or Java application programs from UML, but users will generally write some code in a programming language to specify detailed behaviors or "actions." Likewise, Rational's Rose lets designers mix multiple languages, such as C/C++, Visual Basic and Java, with UML models. Those tools are roughly analogous to interactive architectural synthesis tools in the EDA world.
UML models are not necessarily interchangeable among different vendors' tools. Some companies have their own flavors of UML. Project Technology's Bridgeport UML, for example, has its own action language, to allow complete code generation.
The XML Model Interchange (XMI) format allows for the interchange of UML models, but the semantic definitions of what the models mean don't necessarily come with the models.
Douglass believes that the underlying semantic base of UML is rich enough to represent hardware today. This includes concurrency, which he said can be adequately represented by UML's "active objects" and by state charts. Still, he acknowledged, some additional "views" would make UML more applicable to hardware. One is the addition of timing diagrams; another is the addition of a causal model that would show the causes of specific events.
If UML can add a causal model, Douglass said, requirements can automatically be converted into test vectors. A request for proposals to add that capability to UML 2.0 has been issued.
Ed Lee, professor of engineering and computer science at the University of California at Berkeley, is among those who believe UML needs work. It is "extremely weak at expressing concurrency," he said, and it consists of different graphical languages with "rather loose semantics" that do not, in general, provide complete specifications of functionality.
"The state-charts modeling language has only a rather specialized form of concurrency," Lee said, and "system-on-chip designs will, of necessity, be highly concurrent."
Cadence's Martin said UML needs further clarification of semantics, which are not formally defined in many of the notations. Martin noted that work is now under way to create a profile that will set forth a well-defined semantic for modeling real-time systems.
For UML to become a common way to model hardware-software systems will also take dialogue between the UML and hardware design communities, observers said.