SAN JOSE, Calif. The battle between Hewlett-Packard Co. and Sun Microsystems Inc. for control of real-time Java will break into open warfare next week at the Embedded Systems Conference. The fracas comes amid an important technical leap forward, with demonstrations of real-time Java applications running on multiple CPUs and operating systems scheduled for the show.
The point of contention between Sun and HP is an industry-wide effort involving 40 companies, including IBM and Motorola to create a firm specification for real-time extensions to Java. This would enable time-critical applications in the Java programming language, such as factory automation and flight controls, to run unchanged on any platform.
At issue is who will control the spec, which is called "Real-time extensions to the Java API," and is being generated under the auspices of the National Institute of Standards and Technology (NIST; Gaithersburg, Md.).
The NIST group will use the conference to disclose broad support for its effort, which is officially backed by both Sun and HP. However, Sun has also created its own spec, which it is encouraging the group to adopt a move HP is firmly at odds with.
"Sun is strongly encouraging their own process for specifications," said Wendy Fong, standards manager of HP's embedded software operations in Cupertino, Calif. "HP has not signed up to the Sun process." However, HP is working closely with the NIST group.
For Sun's part, "We have been involving HP and getting their feedback," a Sun executive said. He declined to comment further.
The spec started out as a neutral effort indeed, the original working document was prepared by independent Java software vendor NewMonics Inc. (Ames, Iowa). However, HP charges that Sun has violated the spirit of the group and is pushing its own spec, called the "Open Process document," for adoption as the industry standard.
"In discussions with Sun, it is still apparent that Sun retains significant control and veto power over their entire process," HP's Fong said. "In addition, Sun's role and everyone else's is asymmetrical in the participation and contribution of intellectual property."
"I think Sun would like to take the open NIST process and bring it under their wing," said Kelvin Nilsen, chief technology officer at NewMonics, which makes a real-time Java product that competes with Sun's. "There's also a sense that Sun may leave the [NIST] group as we move forward, but it's not clear how that's going to come together."
At the Embedded Systems Conference in San Jose, HP and Sun will engage in an unusual series of punches and counterpunches, via respective technology demonstrations.
An initial flash point occurred last weekend in a series of e-mail messages. At the time, HP reiterated to Sun its understanding that the NIST effort would involve four separate real-time specs: one for soft real-time, another for hard real-time, a third for factory automation and a fourth to define interfaces to real-time operating systems (RTOSes).
Sun responded that it favored a more unified approach. In an e-mail message circulated throughout the NIST Java group, Vicki Shipkowitz, Sun's product line manager for EmbeddedJava, wrote to HP's Fong: "You seem to be the only participant who doesn't agree that the best thing for the group is to promote standardization around Sun's Java platform. You are correct in that there may be a series of specifications for aspects of real-time functionality, but they all should still fall under the real-time specification effort driven by Sun. Any approach that condones APIs developed outside Sun's open process threatens to fracture the platform and would not be in the best interest of the industry.
"Therefore, I would suggest that if HP can't agree to the revised wording that embraces Sun driving the extension effort for real-time, that HP honor the wishes of the group and not publish any other description in any other place," Shipkowitz concluded.
At one point during the fractious exchange, HP responded to Sun with the suggestion that it consider dropping out of the NIST Java demo planned for Tuesday (Nov. 3) at the conference, if the two companies couldn't agree on the wording of a press release announcing the NIST effort.
As things now stand, both companies will participate in that demo, which is being held at Sun's booth. More important, the demo is being characterized as an important technical step forward for real-time Java.
"As a [NIST] group we chose to show a unified front that we're all working to construct a real-time Java," said NewMonics' Nilsen. "The desire is to send a message that Java is for real in the real-time space you can do it now."
The demo itself will be a robotics application, with real-time interrupt response times in the 50-microsecond range. It will be running on PowerPC, Hitachi SH-4 and Intel X86 architectures, among others. Numerous RTOSes will also be in use. For the demo, Nilsen said the NIST group defined a kind of "lowest-common-denominator" real-time Java, which "everyone will implement with their own technology."
Some companies will showcase their demos more broadly. For one, QNX Software Systems Ltd. (Kanata, Ontario) will show its implementation running under its Neutrino RTOS, in both the HP and IBM booths. "This demonstration is an important proof of concept for the industry to understand the importance of advances in Java to the future of embedded and real-time systems," said Mal Raddalgoda, a marketing executive at QNX.
The conflict over the NIST Java spec is far broader than the fight initiated earlier this year, when Sun and HP came out with separate real-time Java implementations. (Interestingly, neither company's implementation runs by itself, but must be paired with a traditional RTOS.)
Sun launched its EmbeddedJava spec in March, some six months later than originally expected, and reeled in an impressive list of licensees. Among them are Acorn, Chorus (now owned by Sun), Geoworks, Lucent Technologies, Mentor Graphics' Microtec division, Microware Systems, Motorola, QNX, US Software and Wind River Systems.
Almost simultaneously, at the Embedded Systems Conference Spring last April, HP debuted its own, downsized embedded implementation of Java specifically designed to power intelligent applications ranging from test-and-measurement systems and laser printers to consumer appliances such as Web phones. In a marketing coup, Microsoft licensed HP's Java Virtual Machine with plans to integrate it into its Windows CE operating system. HP shortly thereafter inked licensing deals with Integrated Systems, Lynx Real-Time Systems, Microware and QNX. Wind River endorsed though it did not formally license the HP technology.
At the time, HP appeared ahead of Sun in terms of bringing an actual product to market. But Sun is now believed to be well along with its EmbeddedJava code.
Both companies' embedded implementations are essentially products, while the NIST spec work is an attempt to forge a broad standard. The existence of such a spec would enable vendors that market embedded Java implementations to claim they meet an industry standard.
In agreeing upon any spec, however, the embedded community must settle its ongoing technical debate over just what requirements are needed for good real-time performance. That's a big point of contention in the debate swirling around the NIST spec.
In a technical presentation given to the NIST group, engineers from Rockwell detailed some of the key issues.
Scheduling of software threads and synchronization need a more rigorous definition, the Rockwell team wrote. In addition, interrupt handling is currently hampered by a lack of pointers to functions. Asynchronous signal features are missing from Java, they said.
On the hardware front, access to device drivers and memory is currently at too low a level, they maintained.