Java for the real-time world
We had an interesting conversation with Sam Ceccola, the deputy chief technical officer for BEA Systems Inc., of San Jose, Calif., who came by for a visit.
We were talking about application servers. Although the appserver market seems kind of quiet, Ceccola pointed out that his company has been adding some interesting features to its own product line here and there. For instance, there is the fairly new WebLogic Real Time
, a real-time version of the company's flagship application server introduced earlier this year.
Ceccola suggested that Defense Department users in particular may find this product of interest, because it allows developers of real-time systems to finally use Java.
Today, developers for real-time, near real-time and other time-sensitive systems tend to write programs in either C or C++, and neither langauge is exactly a piece of cake to program with. Java, a higher level language, might be more appealing, though it is not an option for real-time systems for largely one reason, Ceccola said. And that reason is Java's garbage collector
, the feature that reclaims memory no longer being used by any of the program's objects.
Now, that the Java Virtual Machine automatically reclaims memory is indeed a fine thing, as it leaves the programmer to worry about other things at design time. But the downside of garbage collection is that it has been somewhat of a black-box process within most JVM's. Once the routine starts up, it gobbles up all of the processing cycles it needs, and when that happens can be anybody's guess. In real-time systems, such distractions, which lead to degraded performance, is unacceptable.
So one of the chief selling points is WebLogic Real Time is that it has what Ceccola called a 'deterministic garbage collector.' In other words, it allows administrators to control the JVM's garbage collection routines, allowing them to set the time and how much processing power the process will use.
We presume that the more you tweak these settings, the more memory you'd need to set aside for the resultant (and novel) fluctuations in memory usage. But it does seem like this appserver might be one that real time developers'-at least those pining for a change in their programming environment'-might want to investigate.--Posted by Joab Jackson
Posted by Brad Grimes, Joab Jackson on Sep 28, 2006 at 9:39 AM