Legacy System-Based Software Product Line Engineering: A Case Study on Cable Set-Top Box Software

기존 시스템 기반의 소프트웨어 제품라인 공학기법: 케이블 셋톱박스 소프트웨어 사례

  • 최현식 (포항공과대학교 컴퓨터공학과) ;
  • 이혜선 (포항공과대학교 컴퓨터공학과) ;
  • 조윤호 (포항공과대학교 정보통신대학원) ;
  • 강교철 (포항공과대학교 컴퓨터공학과)
  • Published : 2009.07.15

Abstract

Software product line (SPL) engineering is an emerging paradigm for successful software reuse and has been adopted for various industrial and consumer products to improve their productivity and quality. However, most SPL methods require high initial costs and long development time, which makes many companies hesitate to adopt the SPL paradigm. In this paper we introduce a method to construct an SPL by extracting core assets from legacy components based on the feature model, which requires less initial time and effort. We also present a case study on cable set-top box software to illustrate the applicability of this method, and lessons learned that will provide guidelines for many companies to adopt the SPL paradigm.

산업 및 가전 제품에서 소프트웨어의 중요성이 커지면서 소프트웨어 재사용과 제품라인 방법론에 대한 관심이 높아지고 있다. 그러나 대부분의 제품라인 방법론은 초기 비용과 시간이 많이 들고 구체적인 절차나 성공 사례가 부족하여 산업체에서 적용하기에는 어려운 한계가 있다. 본 논문에서는 산업체에서 제품라인 기법을 쉽게 적용할 수 있도록, 기존에 개발된 소프트웨어 자산과 해당 도메인의 휘처모델을 활용하여 제품라인을 쉽게 구축할 수 있는 추출식 접근법의 구체적인 방법을 제시하고 이를 케이블 셋톱박스 소프트웨어에 적용한 사례를 소개한다. 또한, 제품라인으로의 전환 효과를 확인할 수 있는 평가 기준을 제안하고, 사례 연구를 통해 얻은 교훈을 정리하여 다른 산업 및 가전 제품의 소프트웨어에 적용할 수 있는 지침을 제공한다.

Keywords

References

  1. K. Kang, S. Cohen, J. Hess, W. Nowak and S. Peterson, 'Feature-Oriented Domain Analysis (FODA) Feasibility Study,' Tech. Report CMU/SEI-90-TR-21, Pittsburgh, PA, Software Engineering Institute, Carnegie Mellon University, Nov. 1990
  2. K. Kang, J. Lee and P. Donohoe, 'Feature-Oriented Product Line Engineering,' In IEEE Software, vol.19, no.4, pp.58-65, Jul./Aug. 2002 https://doi.org/10.1109/MS.2002.1020288
  3. P. Clements and L. Northrop, Software Product Lines: Practices and Pattern, Addison Wesley, Upper Saddle River, NJ, 2002
  4. D. M. Weiss and C. T. R Lai, Software Product-Line Engineering: A Family-Based Software Development Process, Addison Wesley Longman, Inc., Boston, MA, 1999
  5. K. Pohl, G. Bockle and F. V. D Linden, Software Product Line Engineering: Foundations, Principles, and Techniques, Springer, 2005
  6. W. B. Frakes and K. Kang, 'Software Reuse Research: Status and Future,' In IEEE Trans. Software Engineering, vol.31, no.7, pp.529-536, Jul. 2005 https://doi.org/10.1109/TSE.2005.85
  7. C. Krueger, 'Eliminating the Adoption Barrier,' In IEEE Software, vol.19, no.4, pp.29-31, Jul./Aug. 2002 https://doi.org/10.1109/MS.2002.1020284
  8. http://www-01.ibm.com/software/awdtools/swanalyzer/?S_TACT=105AGX15&S_CMP=LP
  9. K. Kim, H. Kim, M. Ahn, M. Seo, Y. Chang and K. Kang, 'ASADAL: A Tool System for Co-development of Software and Test Environment Based on Product Line Engineering,' In Proc. of the 28th Int'l Conf. on Software Engineering, pp. 783-786, May 2006
  10. T. Mens and T. Touwe, 'A Survey of Software Refactoring,' In IEEE Trans. Software Engineering, vol.30, no.2, pp.126-139, Feb. 2004 https://doi.org/10.1109/TSE.2004.1265817
  11. F. J. Bayer, J. Girard, M. Wijrthner, J. Debaud and M. Apel, 'Transitioning Legacy Assets to a Product Line Architecture,' Proc. the European Software Engineering Conf. and ACM SIGSOFT Int'l Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 446-463, Sep. 1999
  12. R. Kolb, D. Buthing, T. Patzke and K. Yamauchi, 'A Case Study in Refactoring a Legacy Component for Reuse in a Product Line,' In Proc. of the 21st IEEE Int'l Conf. on Software Maintenance, pp.369-378, Sep. 2005 https://doi.org/10.1002/smr.329
  13. J. Liu, D. Batory and C. Lengauer, 'Feature Oriented Refactoring of Legacy Applications,' In Proc. of the 28th Int'l Conf. on Software Engineering, pp.112-121, May 2006 https://doi.org/10.1145/1134285.1134303
  14. S. Trujillo, D. Batory, and O. diaz, 'Feature Refactoring a Multi-Representation Program into a Product Line,' In Proc. of the 5th Int'l Conf. on Generative Programming and Component Engineering, pp.191-200, Oct. 2006
  15. V. Alves, P. Matros Jr., L. Cole, P. Borba and G. Ramalho, 'Extracting and Evolving Mobile Games Product Lines,' In Proc. of the 9th International Software Product Line conference, pp.70-81, Sep. 2005 https://doi.org/10.1007/978-3-540-77042-8
  16. F. V. D. Linden, J. Bosch, E. Kamsties, K. Kansala and H. Obbink, 'Software product family evaluation,' In Proc. of the 3rd Int'l Conf. on Software Product Lines, 2004, pp.110-129