Home | alcheMo | mBooster | Company | Partners | News | Contact Us |

This page last changed on Mar 28, 2008.

How it works?

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.

Tool chain integration.

alcheMo is provided as a software-as-a-service (SaaS). The primary interface is a command-line based remote access client designed to integrate easily with ant, make, or any scripting language.

Integration with J2ME porting solutions

alcheMo is specifically designed to integrate transparently with most J2ME porting solutions to leverage their abilities to produce customized versions for different device capabilities. With alcheMo, an iPhone or a BREW handset can be treated mostly like just another Java device; as such, it is typically a simple matter of configuring a device profile for the J2ME porting solution to recognize the iPhone or BREW handset.