A model of refactoring physically and virtually separated features

C Kästner, S Apel, M Kuhlemann - ACM Sigplan Notices, 2009 - dl.acm.org
C Kästner, S Apel, M Kuhlemann
ACM Sigplan Notices, 2009dl.acm.org
Physical separation with class refinements and method refinements à la AHEAD and virtual
separation using annotations à la# ifdef or CIDE are two competing implementation
approaches for software product lines with complementary advantages. Although both
approaches have been mainly discussed in isolation, we strive for an integration to leverage
the respective advantages. In this paper, we lay the foundation for such an integration by
providing a model that supports both physical and virtual separation and by describing …
Physical separation with class refinements and method refinements à la AHEAD and virtual separation using annotations à la #ifdef or CIDE are two competing implementation approaches for software product lines with complementary advantages. Although both approaches have been mainly discussed in isolation, we strive for an integration to leverage the respective advantages. In this paper, we lay the foundation for such an integration by providing a model that supports both physical and virtual separation and by describing refactorings in both directions. We prove the refactorings complete, so every virtually separated product line can be automatically transformed into a physically separated one (replacing annotations by refinements) and vice versa. To demonstrate the feasibility of our approach, we have implemented the refactorings in our tool CIDE and conducted four case studies.
ACM Digital Library