generative approaches for application tailoring of mobile devices

14
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) Department of Computer and Information Sciences University of Alabama at Birmingham ACM Southeast Conference 2005 Kennesaw, GA

Upload: vittorio-poyntz

Post on 01-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

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 2005Kennesaw, GA

Outline of Presentation

Model-Driven

Application Tailoring

Conclusion

Xform

XML Model Meta-model

Live Demo

Questions?

?

Motivation

Ice Cream Menu

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.

ProblemPDA’s

.prc Files

Web Browsers.html Files

Blackberry.cod/.jar Files

Cellular Phones.jad/.jar Files

Java 2 Micro EditionJ2ME

Application Tailoring

Model

PDAJ2ME .jad .mf .prc

J2ME .jad .mf

.html

Cellular Phone

Computer

Translator

What is Model Driven Programming?

Model ArtifactsTransform

Input Output

XML/XSLT

GME

XML Model Overview

XML Specification Palm ApplicationsPhone Applications

HTML

Apache Tomcat ServerXalan Translator

Servlets

Input Output

Voice XMLVoice XMLProvides a consistent Provides a consistent

structure for the structure for the translationtranslation

http://www.w3.org/Voice/

Translation Process - HTML

<p> Select a flavor of Ice cream. HTML Code

<xsl:for-each select="//form/field"> <xsl:text>&lt;p&gt;</xsl:text> <xsl:value-of select="prompt[1]" />

XSL Code for HTML

Start with VoiceXML code…<field name="flavor"> <prompt> Select a flavor of Ice cream.</prompt>…

Choose a translation

Translating engine is invoked

XALAN

Translation Process - Palm

XSL Code for J2ME<xsl:for-each select="field"> <xsl:text>menu.append("</xsl:text> <xsl:value-of select="prompt[1]" />

menu.append (“Select a flavor of Ice cream.J2ME Code

Start with VoiceXML code…<field name="flavor"> <prompt> Select a flavor of Ice cream.</prompt>…

Choose a translation

Translating engine is invoked

XALAN

GME Model Overview

Palm ApplicationsPhone ApplicationsHTML

InterpreterC++

Input Output

Meta-model Model

The Generic Modeling Environment (GME) is a meta-configurable modeling tool

http://www.isis.vanderbilt.edu/Projects/gme/

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

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

Demonstration

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.