Abstract: This paper presents SMarty , a variability management approach for UMLbased software product lines (PL). SMarty is supported by a UML profile, the SMartyProfile , and a process for managing variabilities, the SMartyProcess . SMartyProfile aims at representing variabilities, variation points, and variants in UML models by applying a set of stereotypes. SMartyProcess consists of a set of activities that is systematically executed to trace, identify, and control variabilities in a PL based on SMarty . It also identifies variability implementation mechanisms and analyzes specific product configurations. In addition, a more comprehensive application of SMarty is presented using SEI's Arcade Game Maker PL. An evaluation of SMarty and related work are discussed.