Java Software is Carving a Niche in Critical Real-Time Applications Market

By Angsuman Chakraborty, Gaea News Network
Tuesday, August 16, 2005

With tweaks and modifications, Java is finding a home in critical real-time applications ranging from the military to telecommunications

For several years real-time versions of Java from smaller companies such as Aonix, Aicas and Apogee Software have jousted for market share. Now, large companies such as Sun Microsystems Inc. and IBM Corp. are starting to field technology aimed at the real-time Java market, often working with large customers in the military-aerospace arena.

In robots and industrial control, in fiber-optic switches, telematics and set-top boxes, Java is beginning to inch its way into markets that were traditionally dominated by C-based code. “Whether it is real-time or not is open to debate, but Java’s percentage in embedded has been increasing slightly year-over-year,” aid Steve Balacco, a senior analyst at market research firm Venture Development Corp. (Natick, Mass.).
“From my understanding, the folks in the military are among the early adopters of real-time Java.”

Real Time Java Software

In military projects now under way, such as the U.S. Navy’s DDX battleship or the Pentagon’s effort to create a networked battlefield that would connect soldiers and their commanders, Java may play a role in real-time applications.

Kelvin Nilsen, chief technology officer at Aonix, said that real-time Java is seeing strong growth overall. “I would say about half of our new business [at Aonix] is in the military sector,” he said. “There is a strong upsurge in the military, in unmanned aircraft and other newly deployed systems. There is activity in telematics, both in the commercial and military sectors.”

The military’s goal, Nilsen said, “is to put a backpack on a soldier and take advantage of the available bandwidth for secure, digital communications, and then make good use of the data. Java provides a quicker way to automate those functions.”

“The military contractors have been public about using Java, that they are investigating real-time Java,” said Joe Jacobs, vice president of sales and marketing at Objective Interface Systems Inc. (Herndon, Va.). “What is not clear is within the system, where they switch tools to Java. Thus far, Java has been used for enterprise aspects of these systems, not for control of the turbines and not for the avionics.”

The recent big splash in the Java market came at Sun’s JavaOne conference in late June, when Sun deployed its Project Mackinac as a commercial product named the Sun Java Real-time System (RTS).

Greg Bollella, a distinguished engineer at Sun who previously worked on real-time Java at IBM, has been heading Sun’s real-time Java project. Bollella said Sun’s first implementation of Java RTS is based on the Solaris 10 operating system, with latencies in the 10- to 20-microsecond range for dual-processor, Sparc-based workstations. Response times are slower for single-processor systems and depend on the number and type of device drivers, how many PCI slots are filled and other factors, he noted.

“Inside Sun, the first question is whether the hot spot JVM is ported to that OS and hardware combination,” he said, adding that some 32 combinations have been ported. Sun plans to support a family of development platforms, with various hardware footprints and different “temporability” demands-that is, latency and jitter times.

Bollella said Java RTS is an “advanced, unified,” real-time application development platform, which “means it has real-time scheduling techniques instead of hit-and-miss. It also means it is using object-oriented methodologies for design instead of procedural coding.”

Unified, Bollella said, means engineers could do all of their programming in Java, instead of “splitting up projects among C, C++ and Ada.” Programmers could use regular Java for nonreal-time coding, implement real-time threads for the soft real-time portion and then use “no heap” real-time threads that do not resort to garbage collection, thus guaranteeing deterministic behavior.

James Hunt, chief executive officer of Aicas (Karlsruhe, Germany), said Sun’s Java RTS announcement is “not bad news for us, because it raises the interest in real-time Java. We have many more programs going now than we did last year.”

With 18 people on staff, Aicas is involved in the European Union’s Hydras project to develop a next-generation military aircraft. Aicas’ U.S. affiliate, based in Connecticut, is working with U.S. military contractors on real-time Java projects. Several of these contractors are working on high-performance tasks, where no time delays are permitted for garbage collection and other functions.

IBM is working closely with Apogee (Campbell, Calif.) to deploy Java in the embedded markets. Steve Gruber, director of embedded-software business development at IBM, said the two companies have been working on custom development projects with “several” customers that require some real-time responsiveness. IBM has real-time Java projects at several locations, with the largest at Hursley, England. Projects range from industrial control to set-top boxes and telecommunications.

Bollella said Sun’s Java RTS product includes major advances in garbage collection-improvements that allow programmers who are adept at real-time programming to tackle hard real-time applications within Java.

“Overall, we think applications developers with domain experience shouldn’t have to think about the ugly details below Java RTS,” he said.

Because Java RTS mixes real-time and nonreal-time code, developers can use regular Java for maximum-throughput portions and move to “low pause time” with garbage-collection techniques that “break work up into smaller bits” so the garbage collection isn’t noticeable, Bollella said.

“The real-time collectors have tuning knobs to tell collectors when to run, and how much to run. To tune them, the programmer must have values to tune,” he said. “To do that, the programmer has to know how an application program is behaving with garbage collection over time.”

Real-time programming is challenging because programmers “must do some extra things,” Bollella went on. As predictability improves, “what does increase is the complexity of the programming model. You have to do more analysis, some extra things to make the analysis more tractable. When the programmer hops over to the scoped-memory side, you have to think more.

Source: CommsDesign

YOUR VIEW POINT
NAME : (REQUIRED)
MAIL : (REQUIRED)
will not be displayed
WEBSITE : (OPTIONAL)
YOUR
COMMENT :