JUCS - Journal of Universal Computer Science 29(7): 649-690, doi: 10.3897/jucs.97113
VMTools-RA: a Reference Architecture for Software Variability Tools
expand article infoAna P. Allian, Leandro F. Silva, Edson OliveiraJr, Elisa Y. Nakagawa§
‡ State University of Maringá, Maringá, Brazil§ University of São Paulo, São Carlos, Brazil
Open Access
Abstract
Currently, software systems must be appropriately developed to support an amount of variability for accommodating different requirements. To support such development, a diversity of tools has already been designed for variability management (i.e., identification, modeling, evaluation, and realization). However, due to this diversity, there is a lack of consensus on what in fact software variability tools are and even what functionalities they should provide. Besides that, the building of new tools is still an effort- and time-consuming task. To support their building, we present VMTools-RA, a reference architecture that encompasses knowledge and practice for developing and evolving variability tools. Designed in a systematic way, VMTools-RA was evaluated throughout: a controlled experiment with software developer practitioners; and an instantiation of the VMTools-RA architecture to implement a software variability tool, named SMartyModeling. As a result, VMTools-RA is evidenced to be feasible and it can be considered an important contribution to the software variability and developers of variability-intensive software systems community, which require specific tools developed in a faster manner with less risk, what a reference architecture could provide.
Keywords
software variability, reference architecture, SMartyModeling, VMTools-RA, tool, variability management