ABSTRACT
Product Line Architecture (PLA) design is a key activity for developing successful Software Product Line (SPL) projects. PLA design is a difficult task, mostly due to the complexity of the software systems that SPLs deal with, and their variabilities. Metamodels have been used to support the representation of assets that compose a PLA, SPL variability and the relationships among them. The goal of this study is to characterize the use of metamodeling on PLA design, aiming to identify the main characteristics of metamodels, the elements used for PLA and variability representation and trace the evolution of metamodels. We conducted a systematic literature review to identify the primary studies on the use of metamodels in PLA Design. Thirty-five studies that proposed metamodels to support PLA design were selected. The review main findings are: (i) it is difficult to identify the existence of research trends because the number of publication varies and metamodels lack standardization; (ii) several metamodels support feature representation; (iii) the majority of studies addressed variability representation with variation points in UML diagrams; and, (iv) five evolution lines that describe how metamodels evolved over the years were identified.
- M. Abu-Matar and H. Gomaa. Feature Based Variability for Service Oriented Architectures. In Software Architecture (WICSA), 2011 9th Working IEEE/IFIP Conf. on, pages 302--309, 2011. Google ScholarDigital Library
- M. Abu-Matar and H. Gomaa. Variability Modeling for Service Oriented Product Line Architectures. In Software Product Line Conf. (SPLC), 2011 15th Int., pages 110--119, 2011. Google ScholarDigital Library
- M. Abu-Matar, H. Gomaa, M. Kim, and A. M. Elkhodary. Feature modeling for service variability management in service-oriented architectures. In Proc. of the 22nd Int. Conf. on Software Engineering & Knowledge Engineering, pages 468--473, 2010.Google Scholar
- M. Abu Matar, R. Mizouni, and S. Alzahmi. Towards software product lines based cloud architectures. In IEEE Int. Conf. on Cloud Engineering, pages 117--126, March 2014. Google ScholarDigital Library
- S. Apel, D. Batory, C. Kstner, and G. Saake. Feature-Oriented Software Product Lines: Concepts and Implementation. Springer Publishing Company, Incorporated, 2013. Google ScholarCross Ref
- G. Botterweck, L. O'Brien, and S. Thiel. Model-driven derivation of product architectures. In 22nd IEEE/ACM Int. Conf. on Automated Software Engineering (ASE 2007), November 5-9, 2007, Atlanta, Georgia, USA, pages 469--472. ACM, 2007. Google ScholarDigital Library
- D. Budgen, M. Turner, P. Brereton, and B. Kitchenham. Using Mapping Studies in Software Engineering. In Proc. of PPIG 2008, pages 195--204. Lancaster University, 2008.Google Scholar
- R. Capilla and M. A. Babar. On the Role of Architectural Design Decisions in Software Product Line Engineering. In Software Architecture, Second European Conf., ECSA 2008, Paphos, Cyprus, September 29-October 1, 2008, Proc., volume 5292 of Lecture Notes in Computer Science, pages 241--255. Springer, 2008. Google ScholarDigital Library
- S. Carvalho, L. Murta, and O. Loques. Variabilities as first-class elements in product line architectures of homecare systems. In Software Engineering in Health Care (SEHC), 2012 4th Int. Workshop on, pages 33--39, 2012. Google ScholarDigital Library
- T. Clark, A. Evans, P. Sammut, and J. Willans. Applied Metamodelling: A Foundation for Language Driven Development. Ceteva, 2008.Google Scholar
- T. Colanzi and S. Vergilio. Representation of software product line architectures for search-based design. In Combining Modelling and Search-Based Software Engineering (CMSBSE), 2013 1st Int. Workshop on, pages 28--33, May 2013. Google ScholarDigital Library
- T. E. Colanzi. Search based design of software product lines architectures. In Proc. of the 2012 Int. Conf. on Software Engineering, ICSE 2012, pages 1507--1510, Piscataway, NJ, USA, 2012. IEEE Press. Google ScholarDigital Library
- T. E. Colanzi, S. R. Vergilio, I. M. S. Gimenes, and W. N. Oizumi. A search-based approach for software product line design. In Proc. of the 18th Int. Software Product Line Conf. - Volume 1, pages 237--241, New York, NY, USA, 2014. ACM. Google ScholarDigital Library
- K. Czarnecki, S. Helsen, and U. Eisenecker. Staged configuration using feature models. In Software Product Lines, volume 3154 of Lecture Notes in Computer Science, pages 266--283. Springer Berlin Heidelberg, 2004.Google ScholarCross Ref
- D. Dermeval, J. Vilela, I. I. Bittencourt, J. Castro, S. Isotani, and P. Brito. A Systematic Review on the Use of Ontologies in Requirements Engineering. In 2014 Brazilian Symposium on Software Engineering (SBES), pages 1--10, 2014.Google ScholarCross Ref
- D. Dhungana, P. Grünbacher, and R. Rabiser. The dopler meta-tool for decision-oriented variability modeling: A multiple case study. Automated Software Engineering, 18(1):77--114, 2010. Google ScholarDigital Library
- D. Dhungana, R. Rabiser, and P. Grünbacher. Decision-Oriented Modeling of Product Line Architectures. In Sixth Working IEEE / IFIP Conf. on Software Architecture (WICSA 2007), 6-9 January, Mumbai, Maharashtra, India, page 22. IEEE Computer Society, 2007. Google ScholarDigital Library
- D. Dhungana, H. Schreiner, M. Lehofer, M. Vierhauser, R. Rabiser, and P. Grünbacher. Modeling multiplicity and hierarchy in product line architectures: Extending a decision-oriented approach. In Proc. of the WICSA 2014 Companion Volume, WICSA '14 Companion, pages 11:1--11:6, New York, NY, USA, 2014. ACM. Google ScholarDigital Library
- J. Díaz, J. Pérez, and J. Garbajosa. A model for tracing variability from features to product-line architectures: a case study in smart grid. Requirements Engineering, 20(3):323--343, 2014. Google ScholarDigital Library
- J. Díaz, J. Pérez, J. Garbajosa, and A. L. Wolf. Change Impact Analysis in Product-Line Architectures. In Software Architecture - 5th European Conf., ECSA 2011, Essen, Germany, September 13-16, 2011. Proc., volume 6903 of Lecture Notes in Computer Science, pages 114--129. Springer, 2011. Google ScholarDigital Library
- W. Ding, P. Liang, A. Tang, and H. van Vliet. Knowledge-based approaches in software documentation: A systematic literature review. Information and Software Technology, 56(6):545--567, 2014. Google ScholarDigital Library
- T. Dybå and T. Dingsøyr. Empirical studies of agile software development: A systematic review. Inf. Softw. Technol., 50(9-10):833--859, 2008. Google ScholarDigital Library
- S. Easterbrook. Empirical research methods for software engineering. In Proc. of the Twenty-second IEEE/ACM Int. Conf. on Automated Software Engineering. ACM, 2007. Google ScholarDigital Library
- E. L. Féderle, T. do Nascimento Ferreira, T. E. Colanzi, and S. R. Vergilio. OPLA-tool: A Support Tool for Search-based Product Line Architecture Design. In Proc. of the 19th Int. Conf. on Software Product Line, pages 370--373, New York, NY, USA, 2015. ACM. Google ScholarDigital Library
- J. D. Fernández, J. P. Benedí, and J. G. Sopeña. Agile Product-Line Architecting in Practice: A Case Study in Smart Grids. Information and Software Technology, 56(7):727--748, 2014.Google ScholarCross Ref
- D. Garlan. Software Architecture: A Roadmap. In Proc. of the Conf. on The Future of Software Engineering, ICSE '00, pages 91--101, New York, NY, USA, 2000. ACM. Google ScholarDigital Library
- H. Gomaa and M. Shin. A multiple-view meta-modeling approach for variability management in software product lines. In Software Reuse: Methods, Techniques, and Tools, volume 3107 of Lecture Notes in Computer Science, pages 274--285. Springer Berlin Heidelberg, 2004.Google ScholarCross Ref
- V. Guana and D. Correal. Improving software product line configuration: A quality attribute-driven approach. Inf. Softw. Technol., 55(3):541--562, Mar. 2013. Google ScholarDigital Library
- A. Haber, H. Rendel, B. Rumpe, I. Schaefer, and F. van der Linden. Hierarchical variability modeling for software architectures. In Proc. of the 2011 15th Int. Software Product Line Conf., SPLC '11, pages 150--159, Washington, DC, USA, 2011. IEEE Computer Society. Google ScholarDigital Library
- S. Hallsteinsen, T. Fægri, and M. Syrstad. Patterns in product family architecture design. In Software Product-Family Engineering, volume 3014 of Lecture Notes in Computer Science, pages 261--268. Springer Berlin Heidelberg, 2004.Google ScholarCross Ref
- A. Kavimandan, A. S. Gokhale, G. Karsai, and J. Gray. Managing the quality of software product line architectures through reusable model transformations. In 7th Int. Conf. on the Quality of Software Architectures, QoSA 2011 and 2nd Int. Symposium on Architecting Critical Systems, ISARCS 2011. Boulder, CO, USA, June 20-24, 2011, Proc., pages 13--22. ACM, 2011. Google ScholarDigital Library
- B. Kitchenham and S. Charters. Guidelines for performing systematic literature reviews in software engineering. Technical report, Keele University and University of Durham, 2007.Google Scholar
- J. Lee, D. Muthig, and M. Naab. A feature-oriented approach for developing reusable product line assets of service-based systems. Journal of Systems and Software, 83(7):1123--1136, 2010. Google ScholarDigital Library
- S. Mahdavi-Hezavehi, M. Galster, and P. Avgeriou. Variability in quality attributes of service-based software systems: A systematic literature review. Inf. Softw. Technol., 55(2):320--343, 2013. Google ScholarDigital Library
- M. Moon, H. S. Chae, T. Nam, and K. Yeom. A Metamodeling Approach to Tracing Variability between Requirements and Architecture in Software Product Lines. In Seventh Int. Conf. on Computer and Information Technology (CIT 2007), October 16-19, 2007, University of Aizu, Fukushima, Japan, pages 927--933. IEEE Computer Society, 2007. Google ScholarDigital Library
- M. Moon, H. S. Chae, and K. Yeom. A Metamodel Approach to Architecture Variability in a Product Line. In Reuse of Off-the-Shelf Components, 9th Int. Conf. on Software Reuse, ICSR 2006, Turin, Italy, June 12-15, 2006, Proc., volume 4039 of Lecture Notes in Computer Science, pages 115--126. Springer, 2006. Google ScholarDigital Library
- M. Moon and K. Yeom. An Approach to Developing Domain Architectures Based on Variability Analysis. In Computational Science and Its Applications - ICCSA 2006, Int. Conf., Glasgow, UK, May 8-11, 2006, Proc., Part II, volume 3981 of Lecture Notes in Computer Science, pages 441--450. Springer, 2006. Google ScholarDigital Library
- I. Murwantara. Initiating layers architecture design for Software Product Line. In Uncertainty Reasoning and Knowledge Engineering (URKE), 2011 Int. Conf. on, volume 1, pages 48--51, 2011.Google ScholarCross Ref
- D. Muthig and C. Atkinson. Model-Driven Product Line Architectures. In Software Product Lines, Second Int. Conf., SPLC 2, San Diego, CA, USA, August 19-22, 2002, Proc., volume 2379 of Lecture Notes in Computer Science, pages 110--129. Springer, 2002. Google ScholarDigital Library
- E. Y. Nakagawa, P. O. Antonino, and M. Becker. Reference architecture and product line architecture: a subtle but critical difference. In Proc. of the 5th European conference on Software architecture, ECSA'11, pages 207--211, Berlin, Heidelberg, 2011. Springer-Verlag. Google ScholarDigital Library
- C. Parra, A. Cleve, X. Blanc, and L. Duchien. Feature-based composition of software architectures. In Proc. of the 4th European Conf. on Software Architecture, ECSA'10, pages 230--245, Berlin, Heidelberg, 2010. Springer-Verlag. Google ScholarDigital Library
- J. Pérez, J. Díaz, C. C. Soria, and J. Garbajosa. Plastic Partial Components: A solution to support variability in architectural components. In Joint Working IEEE/IFIP Conf. on Software Architecture 2009 and European Conf. on Software Architecture 2009, WICSA/ECSA 2009, Cambridge, UK, 14-17 September 2009, pages 221--230. IEEE, 2009.Google ScholarCross Ref
- K. Pohl, G. Böckle, and F. J. v. d. Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2005. Google ScholarDigital Library
- P. O. Rossel, D. Perovich, and M. C. Bastarrica. Reuse of Architectural Knowledge in SPL Development. In Formal Foundations of Reuse and Domain Engineering, 11th Int. Conf. on Software Reuse, ICSR 2009, Falls Church, VA, USA, September 27-30, 2009. Proc., volume 5791 of Lecture Notes in Computer Science, pages 191--200. Springer, 2009. Google ScholarDigital Library
- P. Sánchez, N. Gámez, L. Fuentes, N. Loughran, and A. Garcia. A metamodel for designing software architectures of aspect-oriented software product lines. Technical Report IST- 33710, AMPLE Project, 2007.Google Scholar
- A. Schnieders. Variability Mechanism Centric Process Family Architectures. In 13th Annual IEEE Int. Conf. and Workshop on Engineering of Computer Based Systems (ECBS 2006), 27-30 March 2006, Potsdam, Germany, pages 289--298. IEEE Computer Society, 2006. Google ScholarDigital Library
- B. Tekinerdogan and H. Sözer. Variability viewpoint for introducing variability in software architecture viewpoints. In Proc. of the WICSA/ECSA 2012 Companion Volume, WICSA/ECSA '12, pages 163--166, New York, NY, USA, 2012. ACM. Google ScholarDigital Library
- S. Thiel and A. Hein. Systematic Integration of Variability into Product Line Architecture Design. In Software Product Lines, Second Int. Conf., SPLC 2, San Diego, CA, USA, August 19-22, 2002, Proc., volume 2379 of Lecture Notes in Computer Science, pages 130--153. Springer, 2002. Google ScholarDigital Library
- S. Wang, D. Buchmann, S. Ali, A. Gotlieb, D. Pradhan, and M. Liaaen. Multi-objective test prioritization in software product line testing: An industrial case study. In Proc. of the 18th Int. Software Product Line Conf. - Volume 1, SPLC '14, pages 32--41, New York, NY, USA, 2014. ACM. Google ScholarDigital Library
- R. Wieringa, N. Maiden, N. Mead, and C. Rolland. Requirements engineering paper classification and evaluation criteria: a proposal and a discussion. Requir. Eng., 11(1):102--107, 2005. Google ScholarDigital Library
- C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, and B. Regnell. Experimentation in Software Engineering. Springer, 2012. Google ScholarCross Ref
- J. Zhu, X. Peng, S. Jarzabek, Z. Xing, Y. Xue, and W. Zhao. Improving Product Line Architecture Design and Customization by Raising the Level of Variability Modeling. In Top Productivity through Software Reuse - 12th Int. Conf. on Software Reuse, ICSR 2011, Pohang, South Korea, June 13-17, 2011. Proc., volume 6727 of Lecture Notes in Computer Science, pages 151--166. Springer, 2011. Google ScholarDigital Library
- A Systematic Review on Metamodels to Support Product Line Architecture Design
Recommendations
Towards an Automated Product Line Architecture Recovery: The Apo-Games Case Study
SBCARS '18: Proceedings of the VII Brazilian Symposium on Software Components, Architectures, and ReuseSoftware Product Line Engineering (SPLE) has been widely adopted for applying systematic reuse in families of systems. Given the high upfront investment required for SPLE adoption, organizations commonly start with more opportunistic reuse approaches (...
Investigating the variability impact on the recovery of software product line architectures: an exploratory study
SBCARS '17: Proceedings of the 11th Brazilian Symposium on Software Components, Architectures, and ReuseThe Product Line Architecture (PLA) of a Software Product Line (SPL) is the core architecture that represents a high-level design for all the products of an SPL, including variation points and variants. If PLA documentation is missing, it can be ...
Recovering the product line architecture of the apo-games
SPLC '18: Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1Software Product Line (SPL) engineering is a paradigm for the development of a family of products based on the systematic reuse of artifacts. Although its increasing adoption, organizations often start with a single system and use ad-hoc techniques such ...
Comments