A Customizable SPL Scoping Process for SPL Reengineering
Resumo
Software Product Lines (SPL) are a well known solution to systematically create reusable software products. SPL reengineering emerges as a strategy for obtaining SPL from a set of legacy systems. As there are different scenario variables, such as, available artifacts and team experience, the activities and techniques used to perform reengineering tasks may change, requiring that approaches provide some customization to user’s scenarios. In this context, SPL scoping is important for defining domain variables used for decisions, intending to improve the cost benefit of SPL. However, there is a lack of a process supporting these tasks considering different scenarios. Therefore, we specify Prepare, Assemble and Execute Process for SPL Reengineering (PAxSPL), a process that provides support to prepare, assemble and execute feature retrieval while also considering SPL scoping concepts and activities. In this work, we present our approach and perform a comparison to related works showing that PAxSPL customization may reduce effort of adoption in user’s scenarios.
Referências
Acher,M.,Cleve,A.,Perrouin,G.,Heymans,P.,Vanbeneden,C.,Collet,P.,andLahire,P. (2012). On extracting feature models from product descriptions. In Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems, VaMoS ’12, pages 45–54, New York, NY, USA. ACM
Alves, V., Schwanninger, C., Barbosa, L., Rashid, A., Sawyer, P., Rayson, P., Pohl, C., and Rummler, A. (2008). An exploratory study of information retrieval techniques in domainanalysis. In200812thInternationalSoftwareProductLineConference,pages 67–76.
Assunc¸˜ao, W., Lopez-Herrejon, R., Linsbauer, L., Vergilio, S., and Egyed, A. (2017). Reengineering legacy applications into software product lines: a systematic mapping. Empirical Software Engineering, pages 1–45.
Balbino, M., Almeida, E., and Meira, S. (2011). An agile scoping process for software product lines. In Proceedings of SEKE, pages 717–722.
Chikofsky, E. and Cross, J. (1990). Reverse engineering and design recovery: A taxon- omy. IEEE Software, 7(1):13–17.
Clements, P. and Northrop, L. (2001). Software product lines: Practices and Patterns. Addison-Wesley Professional, 3rd edition.
Czarnecki, K. and Eisenecker, U. (1999). Components and generative programming. In ACMSIGSOFTSoftwareEngineeringNotes,volume24,pages2–19.Springer-Verlag.
de Moraes, M. B. S., de Almeida, E. S., and Romero, S. (2009). A systematic review onsoftwareproductlinesscoping. InProceedingsof6thExperimentalSoftwareEngi- neering Latin American Workshop (ESELAW 2009), page 63. Citeseer.
Jhon,I.(2010). Using documentation for product line scoping. Software,IEEE,27(3):42– 47.
John,I.andEisenbarth,M.(2009). A decade of scoping: Asurvey. In Proceedings of the 13th International Software Product Line Conference, SPLC ’09, pages 31–40.
Kang, K., Cohen, S., Hess, J. A., Novak, W., and Peterson, A. (1990). Feature-oriented domain analysis (FODA) feasibility study. Technical report, DTIC Document.
Kang, K. C., Jaejoon Lee, and Donohoe, P. (2002). Feature-oriented product line engi- neering. IEEE Software, 19(4):58–65.
Krueger,C.(2001). Easing the transition to software mass customization. In International Workshop on Software Product-Family Engineering, pages 282–293. Springer.
Marchezan, L., Macedo Rodrigues, E., Bernardino, M., and Paulo Basso, F. (2019). Paxspl: A feature retrieval process for software product line reengineering. Software: Practice and Experience, 49(8):1278–1306.
Noor, M. A., Gr¨unbacher, P., and Hoyer, C. (2008). A collaborative method for reuse potential assessment in reengineering-based product line adoption. In Meyer, B., Nawrocki, J. R., and Walter, B., editors, Balancing Agility and Formalism in Software Engineering, pages 69–83, Berlin, Heidelberg. Springer Berlin Heidelberg.
Ojeda, M. C. C., Alegria, J. A. H., Rodriguez, F. J. A., and Melenje, P. H. R. (2018). A collaborative method for a tangible software product line scoping. In 2018 ICAI Workshops (ICAIW), pages 1–6.
Pohl, K., B¨ockle, G., and van Der Linden, F. (2005). Software product line engineering: foundations, principles and techniques. Springer Science & Business Media.
Schmid,K.(2002). A comprehensive product line scoping approach and its validation. In Proceedings of the 24 th International Conferenceon Software Engineering, ICSE’02, pages 593–603, New York, NY, USA. ACM.
VanderLinden,F.,Schmid,K.,andRommes,E.(2007). Software product lines inaction: the best industrial practice in product line engineering. Springer Science & Business Media, 2007th edition.
Villela,K.,D¨orr,J.,andJohn,I.(2010). Evaluation of a method for proactively managing the evolving scope of a software product line. InWieringa,R.andPersson,A.,editors, Requirements Engineering: Foundation for Software Quality, pages 113–127, Berlin, Heidelberg. Springer Berlin Heidelberg.