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.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.