From conditional compilation to aspects: a case study in software product lines migration

Apart from adoption strategies, an existing Software Product Line (SPL) implemented using some variability mechanisms can be migrated to use another variability mechanism. In this paper, we present some migration strategies from one SPL implemented with conditional compilation to one using Aspect-Oriented Programming (AOP). The strategies present a variability pattern handled by the first mechanism and shows how it can be translated into a pattern using AOP constructs. We also show and discuss that some variability patterns cannot be migrated into AOP. The discussion centers around a commercial SPL in the mobile games domain.