AOSD Conference  
Program Overview
Technical Program
Industry Track
Student Extravaganza
Conference Venue
Chicago Photos
Chicago History
Student Volunteers
AOSD-Europe Sponsorships

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: