A Translator and a runtime system for developing and testing in Java but deploying the code in C- or C++-environments, especially for embedded programming. It is not a system for running any Java-program at a C-language platform. It is a system to support better software engeneering while using Java for embedded programming.
The code in C is near machine-code. It is proper for closed-hardware parts of the software. But if applications get more complex, a pure traditional C-style is not effective. C-programming may be error-sensitive.
The first approach is: Object-Oriented thinking: Struct of data, associated C-routines as methods for this data.
A second approach: Using the well-defined basic-system from Java for Threads, complex file handling, mutex, String-processing etc. There is no universal standard for these things in C for embedded programming.
Third approach: Develop and test in Java, then translate and deploy at the target platform in C.
Last but not least: Using the interface- and abstraction concept from the ObjectOrientation in Java. It is implemented in C too! On the one hand the translator "Java2C" regards some annotations to call specificated implementation methods in C, where interfaces are used for testing in Java. On the other hand overridden methods are supported by building address-arrays with C-function-