Framing software reuse: lessons from the real world
Framing software reuse: lessons from the real world
Transitioning legacy assets to a product line architecture
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Feature-Oriented Project Line Engineering
IEEE Software
Product Instantiation in Software Product Lines: A Case Study
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
Concepts and Guidelines of Feature Modeling for Product Line Software Engineering
ICSR-7 Proceedings of the 7th International Conference on Software Reuse: Methods, Techniques, and Tools
Evolution of Software Product Families
IW-SAPF-3 Proceedings of the International Workshop on Software Architectures for Product Families
Architectural Evolution of Legacy Product Families
PFE '01 Revised Papers from the 4th International Workshop on Software Product-Family Engineering
Recovery of Architectural Structure: A Case Study
Proceedings of the Second International ESPRIT ARES Workshop on Development and Evolution of Software Architectures for Product Families
The Relation Between the Product Line Development Entry Points and Reengineering
Proceedings of the Second International ESPRIT ARES Workshop on Development and Evolution of Software Architectures for Product Families
Re-engineering software architecture of home service robots: a case study
Proceedings of the 27th international conference on Software engineering
Generic semantics of feature diagrams
Computer Networks: The International Journal of Computer and Telecommunications Networking
FAVE: factor analysis based approach for detecting product line variability from change history
Proceedings of the 2008 international working conference on Mining software repositories
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Language support for feature-oriented product line engineering
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
Proceedings of the 4th International Workshop on Software Engineering for Computational Science and Engineering
An extreme approach to automating software development with CBD, PLE and MDA integrated
PROFES'06 Proceedings of the 7th international conference on Product-Focused Software Process Improvement
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
A goal-oriented approach for the generation and evaluation of alternative architectures
ECSA'07 Proceedings of the First European conference on Software Architecture
Managing cloned variants: a framework and experience
Proceedings of the 17th International Software Product Line Conference
Hi-index | 0.00 |
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.