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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
DeBaud, J.M., Girard, J.F.: The relationship between the Product Line Development Entry Points and Reengineering. In: APN 1998. LNCS, vol. 1492, pp. 132–139. Springer, Heidelberg (1998)
Bayer, J., Girard, J.F., Wuerthner, M., DeBaud, J.M., Apel, M.: Transitioning legacy assets to a product line architecture. In: Nierstrasz, O., Lemoine, M. (eds.) ESEC 1999 and ESEC-FSE 1999, vol. 1687, pp. 446–463. Springer, Heidelberg (1999)
Bosch, J., Ran, A.: Evolution of Software Product Families. In: van der Linden, F.J. (ed.) IW-SAPF 2000. LNCS, vol. 1951, pp. 168–183. Springer, Heidelberg (2000)
Maccari, A., Riva, C.: Architectural Evolution of Legacy Product Families. In: van der Linden, F.J. (ed.) PFE 2002. LNCS, vol. 2290, pp. 64–69. Springer, Heidelberg (2002)
Kang, K., Lee, J., Donohoe, P.: Feature Oriented Product Line Engineering. IEEE Software 19(4), 58–65 (2002)
Eixelsberger, W., Kalan, M., Ogris, M., Beckman, H., Bellay, B., Gall, H.: Recovery of Architectural Structure: A Case Study. In: van der Linden, F.J. (ed.) Development and Evolution of Software Architectures for Product Families. LNCS, vol. 1429, pp. 89–96. Springer, Heidelberg (1998)
Bergey, J., O’Brien, L., Smith, D.: Option Analysis for Reengineering (OAR): A Method for Mining Legacy Assets (CMU/SEI-2001-TN-013). Software Engineering Institute, Carnegie Mellon University, Pittsburgh (2001)
Lee, K., Kang, K., Lee, J.: Concepts and Guidelines of Feature Modeling for Product LineSoftware Engineering. In: Gacek, C. (ed.) ICSR 2002, vol. 2319, p. 62. Springer, Heidelberg (2002)
Kim, M., Lee, J., Kang, K., Hong, Y., Bang, S.: Re-engineering Software Architecture of Home Service Robots: A Case Study. In: International Conference on Software Engineering, Missouri, USA, pp. 505–513 (2005)
Medvidovic, N., Taylor, R.N.: Exploiting architectural style to develop a family of applications, Software Engineering. IEE Proceeding 144(5-6) (October/December 1997)
Lago, P., Vliet, H.: Observations from the Recovery of a Software Product Family. In: Nord, R.L. (ed.) SPLC 2004, vol. 3154, pp. 214–227. Springer, Heidelberg (2004)
Basset, P.G.: Framing Software Reuse: Lessons from the Real World. Prentice Hall, Your-don Press (1997)
Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (2000)
Bosch, J., Hogstrom, M.: Product Instantiation in Software Product Lines: A Case Study. In: Butler, G., Jarzabek, S. (eds.) GCSE 2000, vol. 2177, p. 147. Springer, Heidelberg (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kang, K.C., Kim, M., Lee, J., Kim, B. (2005). Feature-Oriented Re-engineering of Legacy Systems into Product Line Assets – a Case Study . In: Obbink, H., Pohl, K. (eds) Software Product Lines. SPLC 2005. Lecture Notes in Computer Science, vol 3714. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11554844_6
Download citation
DOI: https://doi.org/10.1007/11554844_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28936-4
Online ISBN: 978-3-540-32064-7
eBook Packages: Computer ScienceComputer Science (R0)