A Robust Software Product Line Architecture for Data Collection in Android Platform - Waku, Gustavo M. S.; Bollis, Edson R.; Rubira, Cecilia M. F.; Torres, Ricardo da S. (Anais do Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS), 2015)
Android is an open platform, developed by Google and Open Mobile Handset Alliance targeting mobile devices. Its constant evolution and increasing cost reduction made them suitable for complex applications especially for data collection applications. Data collection is a domain which evolved to use mobile devices to collect information, targeting different fields of study including: physical and social sciences, humanities, business, demographic surveys, agriculture, biology, and geology. Android usually runs on different hardware and software domains with similar functional and non-functional features. The data collection domain has a lot of sub-domains, creating an opportunity to explore software variability and quality properties such as reliability, availability, and data integrity using Component-Based Development (CBD), Fault Tolerance Techniques and Software Product Line (SPL) with Aspect-Oriented Software Development (AOSD). However, the use of mobile application for data collection poses some challenges like severe hardware restrictions (such as limited power processing and short battery lifetime) and the use of sophisticated techniques can negatively impact in application performance, and quality properties. In this work, these issues were addressed by proposing the development of a robust SPL architecture called Robust SPL for Data Collection (R-SPL-DC) and a real application called E-Phenology Collector for data collection domain to assess the use fault tolerance techniques, CBD, SPL, and AOSD to ensure availability, reliability, and data integrity without significant impacts on the overall performance of the mobile device. The results have shown that the use of R-SPL-DC is promising and suits the requirements for data collection domain.