Abstract
A software product line (SPL) usually involves a shared set of core assets and a series of application products. To ensure consistency, the evolution of the core assets and all the application products should be coordinated and synchronized under a unified evolution process. Therefore, SPL evolution often involves cross-product propagation and synchronization besides application derivation based on core assets, presenting quite different characteristic from the evolution of individual software products. As software architectures, including the product line architecture (PLA) and application architectures, play a central role in SPL engineering and evolution, architecture-based evolution analysis is a natural way for analyzing and managing SPL evolution. In this paper, we explore common practices of architecture evolution and the rationale behind in industrial SPL development. To this end, we conduct a case study with Wingsoft examination system product line (WES-PL), an industrial product line with an evolution history of eight years and more than 10 application products. In the case study, we reviewed the evolution history of WES-PL architecture and analyzed several typical evolution cases. Based on the historical analysis, we identify some special problems in industrial SPL practice from the aspect of architecture evolution and summarize some useful experiences about SPL evolution decisions to complement classical SPL methodology. On the other hand, we also propose some possible improvements for the evolution management in WES-PL.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Clements, P.C., Jones, L.G., Northrop, L.M., McGregor, J.D.: Project Management in a Software Product Line Organization. IEEE Software 22(5), 54–62 (2005)
Peng, X., Shen, L., Zhao, W.: An Architecture-based Evolution Management Method for Software Product Line. In: SEKE 2009, pp. 135–140. KSI Graduate School, IL (2009)
Wu, Y., Zhao, W., Peng, X., Xue, Y.: A Concept Model for Computer-based Spoken Language Tests. In: AICT-ICIW 2006, pp. 19–24. IEEE Computer Society, Los Alamitos (2006)
Ye, P., Peng, X., Xue, Y., Jarzabek, S.: A Case Study of Variation Mechanism in an Industrial Product Line. In: Edwards, S.H., Kulczycki, G. (eds.) ICSR 2009. LNCS, vol. 5791, pp. 126–136. Springer, Heidelberg (2009)
Shen, L., Peng, X., Zhu, J., Zhao, W.: Synchronized Architecture Evolution in Software Product Line using Bidirectional Transformation. In: COMPSAC 2010, pp. 389–394 (2010)
McGregor, J.D.: The Evolution of Product Line Assets. Techinal report, CMU/SEI-2003-TR-005, ESC-TR-2003-005 (2003)
McGregor, J.D.: Agile Software Product Lines, Deconstructed. Journal of Object Technology 7(8), 7–19 (2008)
Jiang, M., Zhang, J.: Maintaining Software Product Lines – an Industrial Practice. In: ICSM 2008, pp. 444–447 (2008)
Krueger, C.W.: Easing the Transition to Software Mass Customization. In: van der Linden, F.J. (ed.) PFE 2002. LNCS, vol. 2290, pp. 282–293. Springer, Heidelberg (2002)
Chen, L., Babar, M.A.: Variability Management in Software Product Lines: An Investigation of Contemporary Industrial Challenges. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 166–180. Springer, Heidelberg (2010)
Anastasopoulos, M.: Increasing Efficiency and Effectiveness of Software Product Line Evolution–An Infrastructure on Top of Configuration Management. In: Joint International and Annual ERCIM Workshops on Principles of Software Evolution (IWPSE) and Software Evolution (Evol) Workshops, pp. 47–56. ACM, New York (2009)
Svahnberg, M., Bosch, J.: Evolution in Software Product Lines: Two cases. Journal of Software Maintenance 11(6), 391–422 (1999)
Bosch, J.: Product-line architectures in industry: a case study. In: ICSE 1999, pp. 544–554. ACM, New York (1999)
Maccari, A.: Experiences in assessing product family software architecture for evolution. In: ICSE 2002, pp. 585–592. ACM, New York (2002)
Axelsson, J.: Evolutionary Architecting of Embedded Automotive Product Lines: An Industrial Case Study. In: WICSA 2009, pp. 101–110. IEEE, Cambridge (2009)
Brownsword, L., Clements, P.: A Case Study in Successful Product Line Development. Technical report. CMU/SEI, CMU/SEI-96-TR-016 (2006)
Riva, C., Rosso, C.D.: Experiences with Software Product Family Evolution. In: 6th International Workshop on Principles of Software Evolution, pp. 161–169. IEEE, Los Alamitos (2003)
Takebe, Y., Fukaya, N., Chikahisa, M., Hanawa, T., Shirai, O.: Experiences with software product line engineering in product development oriented organization. In: SPLC 2009, pp. 275–283. CMU, Pittsburgh (2009)
Lee, H., Choi, H., Kang, K.C., Kim, D., Lee, Z.: Experience Report on Using a Domain Model-Based Extractive Approach to Software Product Line Asset Development. In: Edwards, S.H., Kulczycki, G. (eds.) ICSR 2009. LNCS, vol. 5791, pp. 137–149. Springer, Heidelberg (2009)
Staples, M., Hill, D.: Experiences Adopting Software Product Line Development without a Product Line Architecture. In: 11th Asia-Pacific Software Engineering Conference, pp. 176–183. IEEE, Los Alamitos (2004)
Kolb, R., Muthig, D., Patzke, T., Yamauchi, K.: A Case Study in Refactoring a Legacy Component for Reuse in a Product Line. In: ICSM 2005, pp. 369–378. IEEE Press, Los Alamitos (2005)
Breivold, H.P., Larsson, S., Land, R.: Migrating Industrial Systems towards Software Product Lines: Experiences and Observations through Case Studies. In: 34th Euromicro Conference Software Engineering and Advanced Applications, pp. 232–239. IEEE, Los Alamitos (2008)
Hanssen, G.K.: Opening Up Software Product Line Engineering. In: The 2010 ICSE Workshop on Product Line Approaches in Software Engineering, pp. 1–7. ACM, New York (2010)
Savolainen, J., Kuusela, J.: Scheduling Product Line Features for Effective Roadmapping. In: The 15th Asia-Pacific Software Engineering Conference, pp. 195–202. IEEE, Los Alamitos (2008)
Bosch, J.: Maturity and evolution in software product lines: Approaches, artefacts and organization. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 247–262. Springer, Heidelberg (2002)
Ahmed, F., Capretz, L.F.: An organizational maturity model of software product line engineering. Software Quality Journal 18(2), 195–225 (2010)
Chen, Y., Gannod, G.C., Collofello, J.S., Sarjoughian, H.S.: Using simulation to facilitate the study of software product line evolution. In: 7th International Workshop on Principles of Software Evolution, pp. 103–112. IEEE, Los Alamitos (2004)
Babar, M.A., Ihme, T., Pikkarainen, M.: An Industrial Case of Exploiting Product Line Architectures in Agile Software Development. In: SPLC 2009, pp. 171–179. CMU, Pittsburgh (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wu, Y., Peng, X., Zhao, W. (2011). Architecture Evolution in Software Product Line: An Industrial Case Study. In: Schmid, K. (eds) Top Productivity through Software Reuse. ICSR 2011. Lecture Notes in Computer Science, vol 6727. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21347-2_11
Download citation
DOI: https://doi.org/10.1007/978-3-642-21347-2_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21346-5
Online ISBN: 978-3-642-21347-2
eBook Packages: Computer ScienceComputer Science (R0)