Experience with Automatic Product Derivation of Mobile Applications Using Model-Driven Techniques

In this work, the authors describe their experience on the adoption of a model-driven product derivation tool to help variability management and automatic product instantiation of a mobile product line, called MobileMedia. MobileMedia is a software product line (SPL) that provides support to manage (create, delete, visualize, play, send) different medias (photo, music, and video) on mobile devices. It was previously implemented as a Java Micro Edition (JME) application, in two different versions: (i) the first one uses conditional compilation implementation mechanisms to modularize their respective variations; and (ii) the second one adopts aspect-oriented programming, specifically AspectJ language, to explore a better modularization and separation of their respective variations. In this chapter, the authors illustrate how GenArch, a model-driven product derivation tool developed at the authors’ research labs, can be used to automatically produce the different applications of both versions of MobileMedia SPL. The chapter discusses the impact of using these two different modularization techniques (conditional compilation and aspect-oriented programming) for the product derivation process by emphasizing their benefits and drawbacks and also showing the particular model-driven techniques used to better provide their instantiation.