Software development is a complex and difficult task that requires the investment of sufficient resources and carries major risk of failure. Model Driven Engineering (MDE) focuses on creating software models and autom...Software development is a complex and difficult task that requires the investment of sufficient resources and carries major risk of failure. Model Driven Engineering (MDE) focuses on creating software models and automating code generation from the models. Model Driven Software Development (MDSD) offers significantly more effective approaches. These approaches improve the way of building software. Model driven approaches partially increase developer productivity, decrease the cost of software construction, improve software reusability, and make software more maintainable. This paper investigates the methods where Model Driven Software Development is integrated with Software Product Line (SPL). This SLR has been conducted to identify 71 research works published since 2014. We have collected 18 tools, 14 techniques and 17 languages used for MDSD for SPL. We analyze which technique is suitable for SPL. We compare the techniques on the basis of features provided by these tools to understand the better-quality results.展开更多
文摘Software development is a complex and difficult task that requires the investment of sufficient resources and carries major risk of failure. Model Driven Engineering (MDE) focuses on creating software models and automating code generation from the models. Model Driven Software Development (MDSD) offers significantly more effective approaches. These approaches improve the way of building software. Model driven approaches partially increase developer productivity, decrease the cost of software construction, improve software reusability, and make software more maintainable. This paper investigates the methods where Model Driven Software Development is integrated with Software Product Line (SPL). This SLR has been conducted to identify 71 research works published since 2014. We have collected 18 tools, 14 techniques and 17 languages used for MDSD for SPL. We analyze which technique is suitable for SPL. We compare the techniques on the basis of features provided by these tools to understand the better-quality results.