Evidence-based SMarty Support for Variability Identification and Representation in Component Models
Márcio H. G. Bera, Edson Oliveira, Thelma Elita Colanzi · 2015
Variability modeling is an essential activity for the success of software product lines. Although existing literature presents several variability management approaches, there is no empirical evidence of their effectiveness for representing variability at component level. SMarty is an UML-based variability management approach that currently supports use case, class, activity, sequence and component models. SMarty 5.1 provides a fully compliant UML profile (SMartyProfile) with stereotypes and tagged-values and a process (SMartyProcess) with a set of guidelines on how to apply such stereotypes towards identifying and representing variabilities. At component level, SMarty 5.1 provides only one stereotype, 'variable', which means that any classes of a given component have variability. Such a stereotype is clearly not enough to represent the extent of variability modeling in components, ports, interfaces and operations. Therefore, this paper presents how the improved version (5.2) of SMarty can identify and represent variability on such component-related elements, as well as an experimental study that provides evidence of the SMarty effectiveness.