Adding Product-Line Capabilities to Your Favourite Modeling Language
Alessio Di Sandro, Ramy Shahin, Marsha Chećhik · 2023
Software product lines are commonly adopted in industry to manage the development of complex families of software systems. Software engineering activities use models at their core, and extending a modeling language to support product lines is an expensive task. Moreover, many useful techniques and analyses such as model querying and model refactoring, are defined at the level of individual products. Before they can take advantage of a product line representation, they need to be lifted, i.e., reengineered to handle variability in a product line. Not only is this process non-trivial, it needs to be redone for each modeling language.