Change-based FODA diagrams: bridging the gap between feature-oriented design and implementation

Feature Oriented Design Analysis (FODA) diagrams present the design of feature-oriented software applications. In some cases, however, the actual implementation of such an application does not correspond to the design that was set forward by the FODA diagram. Such discrepancies are referred to as the gap between design and implementation. We present a bottom-up approach for generating FODA diagrams from the changes to the source code. Unlike ordinary FODA diagrams, those diagrams are based on the implementation. Thanks to that, they do not only contain coarse-grained design information, but also incorporate finegrained implementation details, which can be used to bridge between feature-oriented design and implementation.

[1]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[2]  Romain Robbes,et al.  A Change-based Approach to Software Evolution , 2006, EVOL.

[3]  Don S. Batory,et al.  Scaling step-wise refinement , 2004, IEEE Transactions on Software Engineering.

[4]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[5]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[6]  Theo D'Hondt,et al.  Change-oriented software engineering , 2007, ICDL '07.

[7]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[8]  Don Batory,et al.  A Tutorial on Feature Oriented Programming and the AHEAD Tool Suite and the AHEAD Tool Suite , 2006 .

[9]  Sven Apel,et al.  An Algebra for Feature-Oriented Software Development , 2007 .

[10]  Serge Demeyer,et al.  The FAMOOS Object-Oriented Reengineering Handbook , 1999 .

[11]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[12]  Lidia Fuentes,et al.  Bridging the Gap Between Agent-Oriented Design and Implementation Using MDA , 2004, AOSE.

[13]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[14]  Sander Tichelaar,et al.  Modeling Object-Oriented Software for Reverse Engineering and Refactoring , 2001 .

[15]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[16]  Pierre-Yves Schobbens,et al.  Generic semantics of feature diagrams , 2007, Comput. Networks.

[17]  F. Paternò Model-based design of interactive applications , 2000, INTL.

[18]  Armando Tacchella,et al.  Theory and Applications of Satisfiability Testing , 2003, Lecture Notes in Computer Science.

[19]  Oscar Nierstrasz,et al.  Encapsulating and exploiting change with changeboxes , 2007, ICDL '07.

[20]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, Seminal Contributions to Information Systems Engineering.

[21]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[22]  Tzilla Elrad,et al.  Aspect-Oriented Modeling: Bridging the Gap between Implementation and Design , 2002, GPCE.