Technologies used - Introduction

3.3 Technologies used
The front-end is written using Java and an important feature of this implementation is to call the dynamic link libraries made by Visual C++ from Java program. This is done using Java Native Interfaces. In the code for the dynamic link library made by Visual C++, the following code snippet is added:
JNIEXPORT void JNICALL
Java_hindidisplay_Analyse (JNIEnv *env, jobject obj)
This function of the dll can be accessed from the java code. Two files called “jni.h” and “jni_md.h” are included during the build process. See the references to find the source code of this implementation.
3.4 Comparisons
-
Java Developer Kit (JDK) should be installed on the desktop computer running the software. JDK is bulky software so it is not possible to use JDK for Embedded Shruti where memory is a main concern and in such a case installing JDK is more of a burden than of any substantial use. Therefore Embedded Shruti uses Windows CE API and Microsoft Foundation Classes customized for Windows CE. Such an implementation don’t need any JDK on the hardware (Pocket-PC in this case) on which the software will be executed.
-
Now in the implementation completely using Windows CE API and MFC customized for Windows CE a dynamic link library (mfcce400d.dll) of size 819 KB is required which is considerably smaller than the JDK. The JDK for Windows CE with least features has a size of 8.5 MB.
-
The backend dlls are made using Embedded Visual C++ and transferred on the system folder of the device running Windows CE.
Win CE Hindianalyser dll: 43 KB Win32 version : 256 KB
Win CE Hindiengine dll: 29 KB Win32 version : 260 KB
-
The next design issue was to choose a database. A SQL server for Windows CE
would have required at least 1 MB of memory. But the port of GDBM to Windows CE which is used in Embedded Shruti require only a dynamic link library called gdbmce.dll which is of size 31KB and it is appropriate for the application since a hash based structure was needed rather than a database which implements SQL queries.
The names and the sizes of the dynamic link libraries that will be needed to run Embedded Shruti are the following:
1. gdbmce.dll 31 KB (for database application)
2. hindianalyser.dll 43 KB NLP module
3. hindiengine.dll 29 KB ILPS module
4. mfcce400d.dll 819 KB (for standard SDK emulation)
5. mfcce300.dll + mfcce300d.dll 289 KB+ 846KB (for Pocket PC emulation)
This data shows that this implementation needs much less disk space compared to an implementation that uses JDK and build the software on top of it.
The next chapter will explain the different implementations of Embedded Shruti one by one and the key features of each implementation will be provided. Each implementation is referred as a model. The performance comparison will be provided subsequently.
Chapter 4
Embedded Shruti
Last chapter introduced the desktop version of Shruti and the structure of the source code was explained along with the dataflow diagram for the software. In this chapter different models of Embedded Shruti will be explained one by one and the drawbacks of each model will be sited which resulted into a new modified and efficient model.
|