Abstract
The popularity of mobile devices has propelled the development of many useful location-aware applications. However, the heterogeneity of mobile devices necessitates that the software be customized and tailored for each device. The research described in this paper demonstrates the possibilities of generative programming applied to application tailoring. This is done in order to assist in porting software to specific devices without manually rewriting code. The Java 2 Micro Edition (J2ME) is an integral part of the application tailoring solution. Many mobile devices are capable of using J2ME, but require the code to be packaged specifically to run in each different mobile environment. J2ME applications alone are not sufficient for porting the code to different mobile devices.The first solution that will be presented uses a specifically structured VoiceXML file as input to an XSL transformation. The transformation produces J2ME source code. Java servlets are used to compile the resulting code and package it with respect to a specific device. This first solution works well for users who have programming experience and are comfortable with editing XML files. However, a different solution is needed to enable users with limited programming experience to specify the essential properties of the mobile application.A second solution to application tailorability uses a metamodeling tool (we use the Generic Modeling Environment -- GME) to create a domain-specific modeling language. This environment allows an end-user to capture the essence of a design in a notation that is familiar to the users. From the specified models, an application can be generated directly from a model interpreter. The modeling approach provides a higher-level of abstraction, which removes the user from the accidental complexities regarding the details of the mobile application implementation. A case study is presented that enables a restaurateur to create an online menu for use on several different mobile devices.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.