Feature-oriented re-engineering of legacy systems into product line assets: a case study

  • Authors:
  • Kyo Chul Kang;Moonzoo Kim;Jaejoon Lee;Byungkil Kim

  • Affiliations:
  • Software Engineering Lab. Computer Science and Engineering Dept., Pohang University of Science and Technology, South Korea;Software Engineering Lab. Computer Science and Engineering Dept., Pohang University of Science and Technology, South Korea;Software Engineering Lab. Computer Science and Engineering Dept., Pohang University of Science and Technology, South Korea;Software Engineering Lab. Computer Science and Engineering Dept., Pohang University of Science and Technology, South Korea

  • Venue:
  • SPLC'05 Proceedings of the 9th international conference on Software Product Lines
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Home service robots have a wide range of potential applications, such as home security, patient caring, cleaning, etc. The services provided by the robots in each application area are being defined as markets are formed and, therefore, they change constantly. Thus, robot applications need to evolve both quickly and flexibly adopting frequently changing requirements. This makes software product line framework ideal for the domain of home service robots. Unfortunately, however, robot manufacturers often focus on developing technical components (e.g., vision recognizer and speech processor) and then attempt to develop robots by integrating these components in an ad-hoc way. This practice produces robot applications that are hard to re-use and evolve when requirements change. We believe that re-engineering legacy robot applications into product line assets can significantly enhance reusability and evolvability. In this paper, we present our experience of re-engineering legacy home service robot applications into product line assets through feature modeling and analysis. First, through reverse engineering, we recovered architectures and components of the legacy applications. Second, based on the recovered information and domain knowledge, we reconstructed a feature model for the legacy applications. Anticipating changes in business opportunities or technologies, we restructured and refined the feature model to produce a feature model for the product line. Finally, based on the refined feature model and engineering principles we adopted for asset development, we designed a new architecture and components for robot applications.