Modeling Interactions in Feature Oriented Software Designs 1

Feature Oriented Programming (FOP) is a general theory of software development where programs are assembled by composing feature modules. A feature X interacts structurally with another feature Y by changing Y’s source code. We advance FOP by proposing an algebraic theory of structural feature interactions that models feature interactions as derivatives. We use our theory to show how a legacy Java application can be refactored into a feature-based design.

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

[2]  William R. Cook,et al.  Mixin-based inheritance , 1990, OOPSLA/ECOOP '90.

[3]  Ira D. Baxter,et al.  Design maintenance systems , 1991, CACM.

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

[5]  Yow-Jian Lin,et al.  A feature-interaction benchmark for IN and beyond , 1993, IEEE Communications Magazine.

[6]  Don S. Batory,et al.  Creating reference architectures: an example from avionics , 1995, SSR '95.

[7]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[8]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[9]  Christian Prehofer,et al.  Feature-Oriented Programming: A Fresh Look at Objects , 1997, ECOOP.

[10]  Michael Jackson,et al.  Distributed Feature Composition: A Virtual Architecture for Telecommunications Services , 1998, IEEE Trans. Software Eng..

[11]  Paul J. Kühn,et al.  The Feature and Service Interaction Problem in Telecommunications Systems. A Survey , 1998, IEEE Trans. Software Eng..

[12]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[13]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[14]  Martin L. Griss Implementing Product-Line Features By Composing Component Aspects , 2000 .

[15]  Yannis Smaragdakis,et al.  Object-oriented frameworks and product lines , 2000, SPLC.

[16]  Roberto Erick Lopez-Herrejon,et al.  A Standard Problem for Evaluating Product-Line Methodologies , 2001, GCSE.

[17]  R. E. Kurt Stirewalt,et al.  A component-based approach to building formal analysis tools , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[18]  Mark Ryan,et al.  Feature integration using a feature construct , 2001, Sci. Comput. Program..

[19]  Christian Prehofer,et al.  Feature‐oriented programming: A new way of object composition , 2001, Concurr. Comput. Pract. Exp..

[20]  Martin P. Robillard,et al.  Separating features in source code: an exploratory study , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[21]  Stanley M. Sutton,et al.  Hyper/J™: multi-dimensional separation of concerns for Java™ , 2001, ICSE '02.

[22]  Martin P. Robillard,et al.  Concern graphs: finding and describing concerns using structural program dependencies , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[23]  Rémi Douence,et al.  A Framework for the Detection and Resolution of Aspect Interactions , 2002, GPCE.

[24]  Yannis Smaragdakis,et al.  Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs , 2002, TSEM.

[25]  Jia Liu,et al.  Refinements and multi-dimensional separation of concerns , 2003, ESEC/FSE-11.

[26]  Lynne Blair,et al.  Separating Interaction Concerns from Distributed Feature Components , 2003, SC.

[27]  Shriram Krishnamurthi,et al.  The feature signatures of evolving programs , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[28]  Editors , 2003 .

[29]  D. Batory,et al.  Scaling step-wise refinement , 2003, IEEE Transactions on Software Engineering.

[30]  Pamela Zave,et al.  Address translation in telecommunication features , 2004, TSEM.

[31]  Danilo Beuche,et al.  Variability management with feature models , 2004, Sci. Comput. Program..

[32]  Jia Liu,et al.  Automatic Remodularization and Optimized Synthesis of Product-Families , 2004, GPCE.

[33]  Mira Mezini,et al.  Variability management with feature-oriented programming and aspects , 2004, SIGSOFT '04/FSE-12.

[34]  Colora,et al.  Improving Incremental Development in AspectJ by Bounding Quantification , 2005 .

[35]  Mark Dermot Ryan,et al.  Feature Interactions in Telecommunications and Software Systems VIII, ICFI'05, 28-30 June 2005, Leicester, UK , 2005, FIW.