demos
D1: Using AspectJ to Build a Product Line for Mobile Devices
Trevor Young, University of British Columbia
Gail Murphy, University of British Columbia
Wednesday, March 16, 12:00
Friday, March 18, 12:00
Building a mobile application that can run on a variety of micro devices is
difficult. Sun's Java 2 Micro Edition (J2ME) technology provides a set of
profiles and configurations that lets a developer target a wide range of
devices. Many vendors that support J2ME on their devices also offer specific
APIs to access functionality specific to their hardware.
Including functionality in an application that takes advantage of the
characteristics of every device that is targeted can become prohibitively large
for hardware that has memory and storage constraints. Developing a product-line
to deploy across all of these devices can be hard to manage. Aspect-oriented
programming techniques can make the task of building such a product-line easier.
Attendees will see a demonstration of how we used AspectJ & Apache ANT to build
different versions of a product-line. In our approach, optional features are
written as aspects. Selected feature aspects can then be woven with the core
application code to create a final program that is customized for a targeted
device. The talk will present a number of issues we encountered using AspectJ to
develop mobile applications, and discuss design patterns and best practices to
use when writing aspect-oriented J2MEbased mobile applications. During the demo
we will build a prototype Photo Album application and run it on a variety of
mobile device emulators from cell phones to palm pilots, each one with different
optional features woven in as aspects.
Edited by the AOSD Conference Committee. Send comments to: webmasteraosd.net
|