Abstract:
Frame-based software development and stepwise refinement (SWR) are two powerful paradigms to implement systematic software development, e.g., software product lines. However, these two approaches are developed independently with different assumptions and their relationship hasnt been fully explored. To fill this gap and leverage the strengths of both approaches in a unified software development process, we explore their relation, the necessity of their combination, and some interesting issues like “alternative combination strategies”, “unification of directives from different paradigms”, etc, when performing integration or fusion of these two approaches. To support our idea, we integrate SWR technology into frames design and propose the Frame++ approach which is built on XVCL and supports frame refinement with AHEAD(XAK). By integrating SWR into frames, we can (re)organize frames into frames and their associated refinements according to features (as well as taking into account the elimination of clones) and make them easy to evolve and reuse. At the same time, the generic refinements inherited from frames make it easy to deal with fine granularity variability features. We use a person maintenance module product line to illustrate our approach. Such a flexible approach with the feature-oriented perspective can improve separation of concerns in frames design and facilitate systematic software development.