Download presentation
Presentation is loading. Please wait.
Published byKelly Carr Modified over 9 years ago
1
Generative Approaches for Application Tailoring of Mobile Devices Victoria M. Davis, Dr. Jeff Gray (UAB) and Dr. Joel Jones (UA) Portions of this research were funded by a grant from the National Science Foundation, through the Research Experience for Undergraduates (REU) program. Department of Computer and Information Sciences University of Alabama at Birmingham ACM Southeast Conference 2005 Kennesaw, GA
2
Outline of Presentation Model-Driven Application Tailoring Conclusion Xform XML Model Meta-model Live Demo Questions? ? Motivation Ice Cream Menu
3
Ice Cream Parlor Example HTML Palm Program Ice Cream Parlor Menu Ice Cream Shakes By applying generative programming and model-driven software engineering, it is possible to generate multiple software artifacts from a single high-level description.
4
Problem PDA’s.prc Files Web Browsers.html Files Blackberry.cod/.jar Files Cellular Phones.jad/.jar Files Java 2 Micro Edition J2ME
5
Application Tailoring Model PDA J2ME.jad.mf.prc J2ME.jad.mf.html Cellular Phone Computer Translator
6
What is Model Driven Programming? Model ArtifactsTransform InputOutput XML/XSLT GME
7
XML Model Overview XML SpecificationPalm Applications Phone Applications HTML Apache Tomcat Server Xalan Translator Servlets InputOutput Voice XML Provides a consistent structure for the translation http://www.w3.org/Voice/
8
Translation Process - HTML Select a flavor of Ice cream. HTML Code <p> XSL Code for HTML Start with VoiceXML code … Select a flavor of Ice cream. … Choose a translation Translating engine is invoked XALAN
9
Translation Process - Palm XSL Code for J2ME menu.append(" menu.append (“Select a flavor of Ice cream. J2ME Code Start with VoiceXML code … Select a flavor of Ice cream. … Choose a translation Translating engine is invoked XALAN
10
GME Model Overview Palm Applications Phone Applications HTML Interpreter C++ InputOutput Meta-modelModel 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 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 Results
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.