UVL (Universal Variability Language) is a textual and formal language for modeling variability in software product lines. It allows features, relationships (mandatory, optional, alternative) and constraints to be described in a clear, readable and automatically processable way.