Investigation of Tools, Techniques and Languages for Model Driven Software Product Lines (SPL): A Systematic Literature Review — Oak Academic Publishing
ReviewOpen AccessGoogle Scholar indexed
Investigation of Tools, Techniques and Languages for Model Driven Software Product Lines (SPL): A Systematic Literature Review
Department of Computer & Software Engineering, College of Electrical and Mechanical Engineering (NUST), Islamabad, Pakistan
,
Department of Computer Science, University of Wah, Wah Cantt, Pakistan
,
Department of Computer Science, University of Wah, Wah Cantt, Pakistan
,
Department of Computer Science, University of Wah, Wah Cantt, Pakistan
1 Department of Computer & Software Engineering, College of Electrical and Mechanical Engineering (NUST), Islamabad, Pakistan
2 Department of Computer Science, University of Wah, Wah Cantt, Pakistan
3 Department of Computer Science, University of Wah, Wah Cantt, Pakistan
4 Department of Computer Science, University of Wah, Wah Cantt, Pakistan
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.
KeywordsModel Driven SPLModel Based Product LinesModeling for SPLModel Development for SPL
Eason, G., Noble, B. and Sneddon, I.N. (1955) On Certain Integrals of Lipschitz-Hankel Type Involving Products of Bessel Functions. Philosophical Transactions of the Royal Society of London. Series A, 247, 529-551. https://doi.org/10.1098/rsta.1955.0005
Cohan, A.Z., Coha, A.Z., Bibi, A. and Motla, Y.Z. (2017) Optimized Software Product Line Architecture and Feature Modeling in Improvement of SPL. International Conference on Frontiers of Information Technology, Islamabad, 18-20 December 2017, 167-172.
Abbas, A., Siddiqui, I.F., Lee, S.U.J., et al. (2018) Multi-Objective Optimum Solutions for IoT-Based Feature Models of Software Product Line. Journal of Latex Class Files, 6, 12228-12239. https://doi.org/10.1109/ACCESS.2018.2806944
Burger, E., Henss, J., Küster, M. and Kruse, S. (2016) View-Based Model-Driven Software Development with Model Join. Journal of Software and Systems Modeling, 15, 473-496. https://doi.org/10.1007/s10270-014-0413-5
Wang, S., Ali, S., Yue, T. and Liaaen, M. (2013) Using Feature Model to Support Model-Based Testing of Product Lines: An Industrial Case Study. 13th International Conference on Quality Software, Nanjing, 29-30 July 2013, 75-84. https://doi.org/10.1109/QSIC.2013.51
Damiani, F., Faitelson, D. and Gladisch, C. (2017) A Novel Model-Based Testing Approach for Software Product Lines. Journal of Software and Systems Modeling, 16, 1223-1251. https://doi.org/10.1007/s10270-016-0516-2
Abbas, A., Siddiqui, I.A., Lee, S.U.J. and Bashir, A.K. (2017) Binary Pattern for Nested Cardinality Constraints for Software Product Line of IoT-Based Feature Models. Journal of Latex Class Files, 5, 3971-3980. https://doi.org/10.1109/ACCESS.2017.2680470
Akbar, M.A., Sang, J., Khan, A.A., et al. (2016) Improving the Quality of Software Development Process by Introducing a New Methodology-AZ-Model. IEEE Access, 6, 4811-4823. https://doi.org/10.1109/ACCESS.2017.2787981
Schwagerl, F., Buchmann, T. and Westfechtel, B. (2015) SuperMod—A Model-Driven Tool That Combines Version Control and Software Product Line Engineering. 10th International Joint Conference on Software Technologies, Vol. 2, Colmar, 20-22 July 2015, 1-14. https://doi.org/10.5220/0005506600050018
Diaz, J., Pérez, J. and Garbajosa, J. (2015) A Model for Tracing Variability from Features to Product-Line Architectures: A Case Study in Smart Grids. Journal of Requirements Engineering, 20, 323-323. https://doi.org/10.1007/s00766-014-0203-1
Tanhaei, M. and Habibi, J. (2016) A Feature Model Based Framework for Refactoring Software Product Line Architecture. Journal of Computer Science and Technology, 2, 951-986. https://doi.org/10.1007/s11390-016-1674-y
Taentzer, G., Salay, R., Strüber, D. and Chechick, M. (2017) Transformations of Software Product Lines: A Generalizing Framework Based on Category Theory. ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems, Austin, 17-22 September 2017, 101-111. https://doi.org/10.1109/MODELS.2017.22
Shofi, I.M. and Fajar, A.N. (2017) Conceptual Approach for Gathering SPL Requirement from Goal Model. 5th International Conference on Cyber and IT Service Management, Denpasar, 8-10 August 2017, 1-5. https://doi.org/10.1109/CITSM.2017.8089308
Oliveira, A.L.D., Braga, R.T., Masiero, P.C., Papadopoulos, Y., Habli, I. and Kelly, T. (2014) A Model-Based Approach to Support the Automatic Safety Analysis of Multiple Product Line Products. Brazilian Symposium on Computing Systems Engineering, Manaus, 3-7 November 2014, 7-12. https://doi.org/10.1109/SBESC.2014.20
Nie, L., Zhang, L. and Geng, Z. (2012) Product Line Variability Modeling Based on Model Difference and Merge. IEEE 36th Annual Computer Software and Applications Conference Workshops, Izmir, 16-20 July 2012, 509-513. https://doi.org/10.1109/COMPSACW.2012.95
Schwagerl, F. and Numao, M. (2014) A Product Domain Model Based Software Product Line Engineering for Web Application. 2nd International Symposium on Computing Networking, Shizuoka, 10-12 December 2014, 572-576.
Khan, F.Q. and Musa, S. (2017) A Study: Selection of Model Metamodel and SPL Tools for the Verification of Software Product Lines. International Journal of Information Technology, 9, 353-362. https://doi.org/10.1007/s41870-017-0055-2
Guo, J., Wang, Y., Zhang, Z., Nummenmaa, J. and Niu, N. (2012) Model-Driven Approach to Developing Domain Functional Requirements in Software Product Lines. Journal of IET Software, 6, 391-401. https://doi.org/10.1049/iet-sen.2010.0072
Gebizi, C.S. and Sözer, H. (2016) Model-Based Software Product Line Testing by Coupling Feature Models with Hierarchical Markov Chain Usage Models. IEEE International Conference on Software Quality, Reliability and Security Companion, Vienna, 1-3 August 2016. https://doi.org/10.1109/QRS-C.2016.42
Font, J., Arcega, L., Haugen, O. and Cetina, C. (2018) Achieving Feature Location in Families of Models through the Use of Search-Based Software Engineering. Journal of Transactions on Evolutionary Computation, 22, 363-377. https://doi.org/10.1109/TEVC.2017.2751100
Filho, J.B.F., Barais, O., Baudry, B. and Noir, J.L. (2012) Leveraging Variability Modeling for Multi-Dimensional Model-Driven Software Product Lines. 3rd International Workshop on Product Line Approaches in Software Engineering, Zurich, 4 June 2012, 5-8. https://doi.org/10.1109/PLEASE.2012.6229774
Famelis, M., Rubin, J., Czarnecki, K., Salay, R. and Chechik, M. (2017) Software Product Lines with Design Choices: Reasoning about Variability and Design Uncertainty. 20th International Conference on Model Driven Engineering Languages and Systems, Austin, 17-22 September 2017, 93-100. https://doi.org/10.1109/MODELS.2017.3
Fajar, A.N. and Shofi, I.M. (2016) Development of SPL Government System with Ontology Web Language. 4th International Conference on Cyber and IT Service Management, Bandung, 26-27 April 2016, 1-4. https://doi.org/10.1109/CITSM.2016.7577587
Schwagerl, F., Buchmann, T., Uhrig, S. and Westfechtel, B. (2015) Towards the Integration of Model-Driven Engineering, Software Product Line Engineering, and Software Configuration Management. 3rd International Conference on Model-Driven Engineering and Software Development, Angers, 9-11 February 2015, 1-14. https://doi.org/10.1007/978-3-319-27869-8_2
Assunção, W.K.G. (2015) Search-Based Migration of Model Variants to Software Product Line Architectures. IIEEE/ACM 37th IEEE International Conference on Software Engineering, Florence, 16-24 May 2015, Vol. 2, 895-898. https://doi.org/10.1109/ICSE.2015.286
Dageforde, J.C., Reischmann, T., Majchrzak, T.A. and Ernsting, J. (2016) Generating App Product Lines in a Model-Driven Cross-Platform Development Approach. 49th Hawaii International Conference on System Sciences, Koloa, 5-8 January 2016, 5803-5812. https://doi.org/10.1109/HICSS.2016.718
Tawhid, R. and Petriu, D.C. (2011) Product Model Derivation by Model Transformation in Software Product Lines. 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops, Newport Beach, 28-31 March 2011, 72-79.
Duran-Limon, H.A., Garcia-Rios, C.A., Castillo-Barrera, F.E. and Capilla, R. (2015) An Ontology-Based Product Architecture Derivation Approach. Journal of Transactions on Software Engineering, 41, 1153-1168. https://doi.org/10.1109/TSE.2015.2449854
Derakhshanmanesh, M., Fox, J. and Ebert, J. (2014) Requirements-Driven Incremental Adoption of Variability Management Techniques and Tools: An Industrial Experience Report. Journal of Requirements Engineering, 19, 333-354. https://doi.org/10.1007/s00766-013-0185-4
Cu, C. and Zheng, Y. (2016) Architecture-Centric Derivation of Product in a Software Product Line. IEEE/ACM 8th International Workshop on Modeling in Software Engineering, Austin, 14-22 May 2016, 27-33. https://doi.org/10.1145/2896982.2896988
Asteasuain, F. and Vultaggio, L.P. (2016) Declarative and Flexible Modeling of Software Product Line Architectures. IEEE Latin America Transactions, 14, 885-892. https://doi.org/10.1109/TLA.2016.7437236
Alferez, M., Bonifácio, R. and Teixeira, L. (2014) Evaluating Scenario-Based SPL Requirements Approaches: The Case for Modularity, Stability and Expressiveness. Journal of Requirements Engineering, 19, 355-376. https://doi.org/10.1007/s00766-013-0184-5
Zhao, F., Nian, G., Jin, H., Yang, L.T. and Zhu, Y. (2017) A Hybrid eBusiness Software Metrics Framework for Decision Making in Cloud Computing Environment. IEEE Systems Journal, 11, 1049-1059. https://doi.org/10.1109/JSYST.2015.2443049
Ntanos, E. and Dimitriou, G. (2018) A Model-Driven Software Engineering Workflow and Tool Architecture for Servitised Manufacturing. Journal of Information Systems and e-Business Management, 16, 683-720. https://doi.org/10.1007/s10257-018-0371-5
Schmid, K., Kröher, C. and El-Sharkawy, S. (2018) Model-Based Product Line Development with Easy-Producer Using VIL and VTL. Proceedings of the 22nd International Systems and Software Product Line, Gothenburg, 10-14 September 2018, Vol. 1, 303. https://doi.org/10.1145/3233027.3233058
Beuche, D. (2017) Using Feature Models to Manage Variability and Requirements Reuse. Proceedings of the 21st International Systems and Software Product Line, Sevilla, 25-29 September 2017, 249. https://doi.org/10.1145/3106195.3106229
Tezermes, V. and Gomaa, H. (2015) A Software Product Line Approach for End User Development of Smart Spaces. Proceedings of the 5th International Workshop on Product Line Approaches in Software Engineering, Florence, 19 May 2015. https://doi.org/10.1109/PLEASE.2015.14
Sampaio, G., Borba, P. and Teixeira, L. (2016) Partially Safe Evolution of Software Product Lines. Proceedings of the 20th International Systems and Software Product Line Conference, Beijing, 16-23 September 2016, 124-133. https://doi.org/10.1145/2934466.2934482
Tan, L. and Lin, Y. (2015) An Aspect-Oriented Feature Modelling Framework for Software Product Line Engineering. Proceedings of the 24th Australasian Software Engineering Conference, Adelaide, 28 September-1 October 2015, 111-115. https://doi.org/10.1145/2811681.2811703
Azzolini, R.P., Rubira, C.M.F., Tizzei, L.P., Gaia, F.N. and Montecchi, L. (2015) Evolving a Software Products Line for E-Commerce Systems: A Case Study. Proceedings of the 2015 European Conference on Software Architecture Workshops, Dubrovnik, 7-11 September 2015, Article No. 26. https://doi.org/10.1145/2797433.2797460
Gaeta, J.P. and Czarnecki, K. (2015) Modeling Aerospace Systems Product Lines in SysML. Proceedings of the 19th International Conference on Software Product Line, Nashville, 20-24 July 2015, 293-302. https://doi.org/10.1145/2791060.2791104
Schwagerl, F. and Westfechtel, B. (2016) SuperMod: Tool Support for Collaborative Filtered Model-Driven Software Product Line Engineering. Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, Singapore, 3-7 September 2016, 822-827. https://doi.org/10.1145/2970276.2970288
Lity, S., Nahrendorf, S., Thum, T., Seidl, C. and Schaefer, I. (2018) 175 % Modeling for Product-Line Evolution of Domain Artifacts. Proceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems, Madrid, 7-9 February 2018, 27-34. https://doi.org/10.1145/3168365.3168369
Campos, J.C., Fayollas, C., Goncalves, M., Martinie, C., Navarre, D., Palanque, P. and Pinto, M. (2017) A More Intelligent Test Case Generation Approach through Task Models Manipulation. Proceedings of the ACM on Human-Computer Interaction Archive, 1, Article No. 9. https://doi.org/10.1145/3095811
Luthmann, L., Stephan, A., Bürdek, J. and Hau, M.L. (2017) Modeling and Testing Product Lines with Unbounded Parametric Real-Time Constraints. Proceedings of the 21st International Systems and Software Product Line, Sevilla, 25-29 September 2017, 104-113. https://doi.org/10.1145/3106195.3106204
Bilic, C., Sundmark, D., Afzal, W., Wallin, P., Causevic, A. and Amlinger, C. (2018) Model-Based Product Line Engineering in an Industrial Automotive Context: An Exploratory Case Study. Proceedings of the 22nd International Systems and Software Product Line, Gothenburg, 10-14 September 2018, Vol. 2, 56-63. https://doi.org/10.1145/3236405.3237200
Gregg, S.P., Scharadin, R. and Clements, P. (2015) The More You Do, the More You Save: The Superlinear Cost Avoidance Effect of Systems Product Line Engineering. Proceedings of the 19th International Conference on Software Product Line, Nashville, 20-24 July 2015, 303-310. https://doi.org/10.1145/2791060.2791065
Lity, S., Kowal, M. and Schaefer, I. (2016) Higher-Order Delta Modeling for Software Product Line Evolution. Proceedings of the 7th International Workshop on Feature-Oriented Software Development, Amsterdam, 30 October 2016, 39-48. https://doi.org/10.1145/3001867.3001872
Pereira, J.A., Matuszyk, P., Krieter, S., Spiliopoulou, M. and Saake, G. (2016) A Feature-Based Personalized Recommender System for Product-Line Configuration. ACM SIGPLAN Notices, 52, 120-131. https://doi.org/10.1145/3093335.2993249
Kuhn, T., Kassin, K.I., Cazzola, W. and Abmann, U. (2018) Modular Feature-Oriented Graphical Editor Product Lines. Proceedings of the 22nd International Systems and Software Product Line, Gothenburg, 10-14 September 2018, Vol. 1, 76-86. https://doi.org/10.1145/3233027.3233034
Anthonysamy, P. and Somé, S.S. (2008) Aspect-Oriented Use Case Modeling for Software Product Lines. Proceedings of the AOSD Workshop on Early Aspects, Brussels, 31 March 2008, Article No. 5. https://doi.org/10.1145/1404946.1404951
Kang, S., Kim, J., Baek, H., Ahn, H., Jung, P. and Lee, J. (2017) Comparison of Software Product Line Test Derivation Methods from the Reuse Viewpoint. Proceedings of the 6th International Conference on Software and Computer Applications, Bangkok, 26-28 February 2017, 1-8. https://doi.org/10.1145/3056662.3056663
Schwagerl, F. and Westfechtel, B. (2017) Perspectives on Combining Model-Driven Engineering, Software Product Line Engineering, and Version Control. Proceedings of the 11th International Workshop on Variability Modelling of Software-Intensive Systems, Eindhoven, 1-3 February 2017, 76-83. https://doi.org/10.1145/3023956.3023969
Pietsch, C., Reuling, D., Kelter, U. and Kehrer, T. (2017) A Tool Environment for Quality Assurance of Delta-Oriented Model-Based SPLs. Proceedings of the 11th International Workshop on Variability Modelling of Software-Intensive Systems, Eindhoven, 1-3 February 2017, 84-91. https://doi.org/10.1145/3023956.3023960
Acher, M., Lopez-Herrejon, R.E. and Rabiser, R. (2017) Teaching Software Product Lines: A Snapshot of Current Practices and Challenges. 22nd International Systems and Software Product Line Conference, Gothenburg, 10-14 September 2018, 249. https://doi.org/10.1145/3233027.3236393
Bashroush, R., Garba, M., Rabiser, R., Groher, I. and Botterweck, G. (2017) CASE Tool Support for Variability Management in Software Product Lines. Journal of Computing Surveys, 50, 1-45. https://doi.org/10.1145/3034827
Thum, T., Apel, S., Kästner, C., Schaefer, I. and Saake, G. (2014) A Classification and Survey of Analysis Strategies for Software Product Lines. Journal of Computing Surveys, 47, Article No. 6. https://doi.org/10.1145/2580950
Behiati, R., Nejati, S. and Briand, L.C. (2014) Architecture-Level Configuration of Large-Scale Embedded Software Systems. Journal of Software Engineering and Methodology, 23, Article No. 25. https://doi.org/10.1145/2581376
Zheng, Y., Cu, C. and Taylor, R.N. (2018) Maintaining Architecture-Implementation Conformance to Support Architecture Centrality: From Single System to Product Line Development. Journal of Software Engineering and Methodology, 27, Article No. 8. https://doi.org/10.1145/3229048
Rincon, L., Giraldo, G., Mazo, R., Salinesi, C. and Diaz, D. (2015) Method to Identify Corrections of Defects on Product Line Models. Journal of Computer Science, 314, 61-81. https://doi.org/10.1016/j.entcs.2015.05.005
Hause, M. and Korff, A. (2016) Decision-Driven Product Development. INCOSE International Symposium, 26, 2446-2461. https://doi.org/10.1002/j.2334-5837.2016.00305.x
Sepulveda, S., Cravero, A. and Cachero, C. (2016) Requirements Modeling Languages for Software Product Lines: A Systematic Literature Review. Journal of Information and Software Technology, 69, 16-36. https://doi.org/10.1016/j.infsof.2015.08.007
Sabouri, H. and Khosravi, R. (2014) Reducing the Verification Cost of Evolving Product Families Using Static Analysis Techniques. Journal of Science of Computer Programming, 83, 35-55. https://doi.org/10.1016/j.scico.2013.06.009
Galindo, J.A., Dhungana, D., Rabiser, R., Benavides, D. and Grünbacher, P. (2015) Supporting Distributed Product Configuration by Integrating Heterogeneous Variability Modeling Approaches. Journal of Information and Software Technology, 62, 78-100. https://doi.org/10.1016/j.infsof.2015.02.002
Camacho, C., Llana, L. and Núñez, A. (2016) Cost-Related Interface for Software Product Lines. Journal of Logical and Algebraic Methods in Programming, 85, 227-244. https://doi.org/10.1016/j.jlamp.2015.09.009
Beohar, H., Varshosaz, M. and Mousavi, M.R. (2016) Basic Behavioral Models for Software Product Lines: Expressiveness and Testing Pre-Orders. Journal of Science of Computer Programming, 123, 42-60. https://doi.org/10.1016/j.scico.2015.06.005
Bhushan, M., Goel, S. and Kumar, A. (2017) Improving Quality of Software Product Line by Analyzing Inconsistencies Models Using an Ontological Rule-Based Approach. Journal of Expert Systems, 35, e12256. https://doi.org/10.1111/exsy.12256
Hause, M. and Hummell, J. (2015) Model-Based Product Line Engineering Enabling Product Families with Variants. IEEE Aerospace Conference, Big Sky, 7-14 March 2015, 25. https://doi.org/10.1002/j.2334-5837.2015.00132.x
Pereira, J.A., Maciel, L. and Figueiredo, T.F.N.E. (2017) Heuristic and Exact Algorithms for Product Configuration in Software Product Lines. Proceedings of the 22nd International Systems and Software Product Line, Gothenburg, 10-14 September 2018, Vol. 1, 247-247. https://doi.org/10.1145/3233027.3236395
Sharon, A. and Dori, D. (2017) Model-Based Project-Product Lifecycle Management and Gantt Chart Models: A Comparative Study. Systems Engineering, 20, 447-466. https://doi.org/10.1002/sys.21407
Mannion, M. and Kaindl, H. (2014) Engineering Requirements in Product Lines. INCOSE International Symposium, Denver, 23-23 June 2011, Vol. 21, 3139-3215. https://doi.org/10.1002/j.2334-5837.2011.tb01308.x