1 / 14

Generative Approaches for Application Tailoring of Mobile Devices

This research paper explores the use of generative programming and model-driven software engineering to generate multiple software artifacts for mobile devices from a single high-level description. It discusses an example of an ice cream parlor application and demonstrates the benefits of this approach. The paper concludes that application tailoring of mobile devices is possible using these techniques, making it easier for users with limited programming experience to create domain-specific applications and eliminating the need for manual code rewriting for each device.

cyndij
Download Presentation

Generative Approaches for Application Tailoring of Mobile Devices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Generative Approaches for Application Tailoring of Mobile Devices ACM Southeast Conference 2005 Kennesaw, GA Victoria M. Davis, Dr. Jeff Gray (UAB) and Dr. Joel Jones (UA) Department of Computer and Information Sciences University of Alabama at Birmingham Portions of this research were funded by a grant from the National Science Foundation, through the Research Experience for Undergraduates (REU) program.

  2. Meta-model XML Model Ice Cream Menu Xform Motivation ? Live Demo Questions? Outline of Presentation Application Tailoring Model-Driven Conclusion

  3. Ice Cream Parlor Example Ice Cream Parlor Menu Ice Cream Palm Program Shakes HTML By applying generative programming and model-driven software engineering, it is possible to generate multiple software artifacts from a single high-level description.

  4. Java 2 Micro Edition J2ME Problem PDA’s .prc Files Blackberry .cod/.jar Files Cellular Phones .jad/.jar Files Web Browsers .html Files

  5. Application Tailoring J2ME .jad .mf .prc PDA Model J2ME .jad .mf Translator Cellular Phone .html Computer

  6. Input Output What is Model Driven Programming? XML/XSLT GME Model Transform Artifacts

  7. Input Output XML Model Overview XML Specification Apache Tomcat Server Xalan Translator Servlets Palm Applications Phone Applications HTML Voice XML Provides a consistent structure for the translation http://www.w3.org/Voice/

  8. Translation Process - HTML • Start with VoiceXML code …<field name="flavor"> <prompt> Select a flavor of Ice cream.</prompt>… • Choose a translation XSL Code for HTML <xsl:for-each select="//form/field"> <xsl:text>&lt;p&gt;</xsl:text> <xsl:value-of select="prompt[1]" /> • Translating engine is invoked XALAN HTML Code <p> Select a flavor of Ice cream.

  9. Translation Process - Palm • Start with VoiceXML code …<field name="flavor"> <prompt> Select a flavor of Ice cream.</prompt>… • Choose a translation XSL Code for J2ME <xsl:for-each select="field"> <xsl:text>menu.append("</xsl:text> <xsl:value-of select="prompt[1]" /> • Translating engine is invoked XALAN J2ME Code menu.append (“Select a flavor of Ice cream.

  10. Input Output GME Model Overview Meta-model Model Interpreter C++ Palm Applications Phone Applications HTML The Generic Modeling Environment (GME) is a meta-configurable modeling tool http://www.isis.vanderbilt.edu/Projects/gme/

  11. Translation Process • Start by creating a metamodel • Domain-specific representation that consists of entities and relations • Outputs a paradigm of that model • Create an instance of the model • Build the online menu as objects in the model • Run the interpreter • Access to the objects in the model provided by C++ • C++ code written to translate the objects to the J2ME code • Result • The application tailored to the device is created by the interpreter Domain-Specific Metamodel Model

  12. XML and XSLT Approach High level of abstraction Code can be generated for many types of devices One XML file is input to MANY translations XSL translations are needed for each output Have to be handled separately by servlets Not as easy for end users Requires knowledge of XML Runtime Tailoring Results Model-Driven Approach • Higher level of abstraction than XML model • Code can be generated for many types of devices • One metamodel can be interpreted into MANY translations • Compiling and packaging are contained within the interpretation • Easier for end users • Must be instructed how to build the model • Compile time tailoring

  13. Demonstration

  14. Conclusion • Application tailoring of mobile devices is possible using generative and model driven programming techniques. • User with limited programming experience can create domain specific applications. • Manually rewriting code for each device is eliminated. • One model provides the input for many applications.

More Related