MobileMedia Test bed


Home

1. Introduction

Objective: The objective of this comparative study is to assess quantitatively to what extent different design and implementation techniques support SPL evolution.
Authors: Leonardo P. Tizzei (UNICAMP), Marcelo Dias (UNICAMP), Cecília M.F. Rubira (UNICAMP), Alessandro Garcia (PUC-RJ), and Jaejoon Lee (Lancaster University)
Corresponding author: Leonardo P. Tizzei (email: <last name>@ic.unicamp.br)

Types of component models involved

2. MobileMedia Software Product Line

In order to exemplify and evaluate the techniques, we present a SPL called MobileMedia [4], which manipulates photo, music, and video on mobile devices, such as mobile phones. The system uses various technologies based on the Java ME platform, such as SMS, WMA and MMAPI. It is possible to derive 200 products from the last release of MobileMedia SPL and it has been extensively used and evaluated in previous research (e.g.[3,4,7,8,9,10]). It has two implementations with the same functionalities but implemented with different approaches: the AO implementation has approximately 12 KLOC (for all LOC metrics in this paper, blank lines and comments were ignored) and the OO implementation has 11 KLOC. MobileMedia endured seven evolution scenarios, which led to eight releases. The scenarios comprise different types of changes involving mandatory, optional, and alternative features, as well as non-functional concerns. Both AO and OO implementations of MobileMedia follow the same sequence of evolution scenarios, whose objective is to expose the alternative PLA decompositions to common changes. Table 1 summarises the evolution scenarios in MobileMedia. The first column describes the release in which the changes were applied. The second column describes the features added or changed in the MobileMedia application, and the third column describes the type of change and the type of
feature (e.g. mandatory, optional, alternative) included or changed in that release.

Release
Description
Type of Change
R0
Mobile Photo core

R1
Exception handling included (in the AO implementations, exception handling was implemented according to Castor et al.[6])
Inclusion of non-functional concern which is also a mandatory feature
R2
New feature added to count the number of times a photo has been viewed and sorting photos by highest viewing frequency. New feature added to edit the photo's label.
Inclusion of optional and mandatory features
R3
New feature added to allow users to specify and view their favourite photos.
Inclusion of optional feature
R4
New feature added to allow users to keep multiple copies of photos
Inclusion of optional feature
R5
New feature added to send photo to other users by SMS
Inclusion of optional feature
R6
New feature added to store, play, and organise music. The management of photo (e.g. create, delete and label) was turned into an alternative feature. All extended functionalities (e.g. sorting, favourites and SMS transfer) were also provided
Changing of one mandatory feature into two alternatives
R7
New feature added to manage videos
Inclusion of alternative feature
Table 1. Summary of evolution scenarios in MobileMedia.



Figure 1 presents the complete MobileMedia feature model (R7), following the notation proposed by Ferber et al.[5].


Figure 1. MobileMedia feature diagram


MobileMedia COSMOS* and COSMOS*-VP source code can be found here. The source code of original MobileMedia implementations (i.e. OO and AO) can be found here.

3. Comparative studies


Acknowlegedments

We thank Eduardo Figueiredo and the authors of the first MobileMedia study [4] and Trevor Young.

References

[1] Silva Jr., M. C.; de Castro Guerra, P. A. & Rubira, C. M. F. A Java Component Model for Evolving Software Systems. Automated Software Engineering, 2003, 327-330
[2] Gayard, L. A.; Guerra, P. A. C.; Elisa, A.; Lobo, C. & Rubira, C. M. F. Automated Deployment of Component Architectures with Versioned Components. Workshop on Component-oriented Programming, 2006
[3] Dias, M.; Tizzei, L.; Rubira, C. M. F.; Garcia, A. & Lee, J. Leveraging Aspect-connectors to improve stability of product line variabilities. Fourth International Workshop on Variability Modelling of Software-intensive Systems, 2010, 21-28. (pdf)
[4]  Figueiredo, E.; Camacho, N.; Monteiro, C. S. M.; Kulesza, U.; Garcia, A.; Soares, S.; Ferrari, F.; Khan, S.; Castor Filho, F. & Dantas, F. Evolving Software Product Lines with Aspects: an empirical study on design stability, ICSE, 2008, 261-270.
[5] Ferber, S.; Haag, J. & Savolainen, J. Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line SPLC 2: Proceedings of the Second International Conference on Software Product Lines, Springer-Verlag, 2002, 235-256.
[6] Filho, F. C.; Cacho, N.; Figueiredo, E.; Maranhão, R.; Garcia, A. & Rubira, C. M. F. Exceptions and aspects: the devil is in the details Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering, ACM, 2006, 152-162
[7] Anquetil, N.; Grammel, B.; da Silva, I. G. L.; Noppen, J.; Khan, S. S.; Arboleda, H.; Rashid, A. & Garcia, A. Traceability for Model Driven, Software Product Line Engineering ECMDA Traceability Workshop Proceedings, SINTEF, 2008, 77-86.
[8] Bertoncello, I. A.; Dias, M. O.; Brito, P. H. S. & Rubira, C. M. F. Explicit exception handling variability in component-based product line architectures Proceedings of the 4th international workshop on Exception handling, ACM, 2008, 47-54
[9] Tizzei, L. P.; Dias, M.; Rubira, C. M.; Garcia, A. & Lee, J. Components meet aspects: Assessing design stability of a software product line Information and Software Technology, 2011, 53, 121 - 136
[10] Dantas, F.; Garcia, A. Stability of Product Lines with Composition Filters: An Exploratory Study. Proceedings of the Escot, co-located with AOSD' 2010.

Last update: December 7, 2011