March 2007

AONews: Mission Critical Newsflash •

Notes from the Edge


Nuremburg Says "Willkommen" to Hard Real-Time Java

We know that there have been numerous barriers inhibiting embedded developers from the freedoms of using Java™. Nobody understands the challenges of breaking down walls of separation more than Germans. Thus, Nuremburg seemed a fitting site for the announcement of PERC Pico, the wall crusher of the embedded world.

Java has already made substantial inroads into segments of the embedded market. Most notably, Java Micro Edition (JME) solutions have had tremendous success in non-real-time applications of modest complexity, such as mobile devices. On the real-time side, Aonix' PERC Ultra VM has been providing reliable real-time garbage collection and predictable threading behavior on many hundreds of thousands of fielded installations of high functional complexity, since its introduction nearly a decade ago.

Yet, the broader adoption of Java programming for embedded devices has been hampered due to real and perceived limitations of traditional Java technologies. According to a survey by Embedded Market Forecasters, the top reasons given by embedded developers for not yet having adopted Java for their designs are:

  • Run time speed is slow 
  • Memory requirements are large
  • Inability to satisfy hard real-time constraints 
  • Inability to perform low-level operations
  • Inadequate support for target systems 
  • Startup time is too long 
  • Lack of safety certification

At the Embedded World Conference held in Nuremburg, Germany on February 13-15, 2007, Aonix announced the first commercial release of PERC Pico, the latest technology from the PERC product line. PERC Pico technology offers the distinction of addressing all of the factors that previously blocked the wider adoption of Java, including:

  • Run time speed comparable or even faster than C++, up to 3x faster than traditional Java 
  • Memory footprint starting at 256k bytes, unoptimized
  • Fully deterministic real-time constraints with low microsecond latencies
  • Direct access to low level hardware devices
  • Supportable on all modern architectures, RTOSs, and bare boards
  • Startup time comparable to C++
  • Characteristics suitable to the highest level of safety certification

The remaining question that might be asked is: why? If you've been accustomed to developing in C or C++, why rock the boat by writing Java code? The top three reasons are: productivity, productivity, and productivity.  Studies consistently indicate that Java code development is 2-5x more productive than C/C++, maintenance activities are up to 10x more productive, and error rates are a tiny fraction of those experienced with C/C++. From a business perspective, this translates into millions of dollars of saved engineering costs and months or years of improved time to market.

As embedded devices become more prolific, more interconnected, and more capable in terms of speed and power, embedded application complexity grows exponentially. C/C++ development truly cannot handle the strain for much longer, and increasingly is breaking down, taking jobs and businesses with it. Java alone is not the answer, but many are finding that it is an increasingly important part of the solution.

It's a message that was welcomed enthusiastically by the wall crushers in Germany last month.


We hope you enjoy our new online newsletter format, which allows us to bring you news in a more timely manner without killing a lot of trees. If you have any comments or suggestions, we'd love to hear from you. Email us at: editor@aonixnews.com.

 

Author

Dave Wood
Aonix VP Marketing