alcheMo is composed of two key components: The alcheMo J2ME to C++ translator and the alcheMo run-time library.

Note: The above diagram illustrates alcheMo for BREW workflow. alcheMo for iPhone workflow is equivalent.
alcheMo algorithmically converts the J2ME application source code to equivalent C++ application source code. After the application is translated from J2ME to C++, it can be compiled and debugged using the standard native platform tool chain. When the compiled object files are linked with the alcheMo run-time library, a native executable (for handsets or an emulator) is produced. This automatic translation process is instantaneous, repeatable, and available 24/7 while requiring no native platform specific experience.
The alcheMo translator is based on compiler and translator technologies researched and developed at Innaworks. The alcheMo translator is not a pre-processor; it first creates a full model of the application and then generates equivalent but highly optimized C++ source code through applying advanced whole program optimizations. alcheMo takes care of the syntactic and semantic differences between the Java and C++ languages. No further manual adjustments to the translated source code are required.
The alcheMo run-time library is a highly optimized library providing equivalent functionality to those associated with J2ME, including support for automatic garbage collection, multi-threading and extensive subsets of CLDC 1.1 and MIDP 2.0, and extension JSRs.
