Automating component adaptation for reuse

Reuse is a sound and practical design technique in many engineering disciplines. Although successful instances of software reuse are becoming more common, the cost of reuse tends to outweigh the potential benefits. The costs of software reuse include establishing and maintaining a library of reusable components, searching for applicable components to be reused, as well as adapting components toward a solution to a design problem. In this paper, we present a framework, called SPARTACAS, for automating specification-based component retrieval and adaptation. Components that partially satisfy the constraints of a design problem are adapted using adaptation architectures. Adaptation architectures modify the behavior of a software component by imposing interactions with other components. Based on the functionality specified in the problem and the partially-matched component, a sub-problem that specifies the missing functionality is synthesized. The sub-problem is used to query the library for components for adaptation. The framework was implemented and evaluated empirically, the results suggest that automated adaptation using architectures successfully promotes software reuse, and hierarchically organizes a solution to a design problem.

[1]  Rubén Prieto Díaz Implementing Faceted Classification for Software Reuse. , 1991 .

[2]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[3]  Perry Alexander,et al.  A slicing approach for parallel component adaptation , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

[4]  John Penix,et al.  Classification and retrieval of reusable components using semantic features , 1995, Proceedings 1995 10th Knowledge-Based Software Engineering Conference.

[5]  Ali Mili,et al.  Reusing Software: Issues and Research Directions , 1995, IEEE Trans. Software Eng..

[6]  John Penix,et al.  Efficient Specification-Based Component Retrieval , 1999, Automated Software Engineering.

[7]  Robert J. Hall,et al.  Generalized behavior-based retrieval , 1993, ICSE '93.

[8]  Sanjay Bhansali,et al.  A hybrid approach to software reuse , 1995, SSR '95.

[9]  Jeannette M. Wing A specifier's introduction to formal methods , 1990, Computer.

[10]  David Garlan,et al.  Formalizing Architectural Connection , 1994, ICSE.

[11]  Scott Henninger,et al.  Supporting the construction and evolution of component repositories , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[12]  Betty H. C. Cheng,et al.  Facilitating an automated approach to architecture-based software reuse , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[13]  B. Cheng,et al.  Specification matching for software reuse: a foundation , 1995, SSR '95.

[14]  Bernd Fischer,et al.  Deduction-based software component retrieval , 2001, Ausgezeichnete Informatikdissertationen.

[15]  Barry Smyth,et al.  Experiments On Adaptation-Guided Retrieval In Case-Based Design , 1995, ICCBR.

[16]  R. Prieto-Diaz,et al.  Implementing faceted classification for software reuse , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[17]  Matthias Jarke,et al.  On the retrieval of reusable software components , 1993, [1993] Proceedings Advances in Software Reuse.

[18]  William B. Frakes,et al.  Software reuse: metrics and models , 1996, CSUR.

[19]  Jianjun Zhao,et al.  A slicing-based approach to extracting reusable software architectures , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[20]  Ali Mili,et al.  Toward an Engineering Discipline of Software Reuse , 1999, IEEE Softw..

[21]  Jon Whittle,et al.  An integration of deductive retrieval into deductive synthesis , 1999, 14th IEEE International Conference on Automated Software Engineering.

[22]  Douglas R. Smith,et al.  KIDS: A Semiautomatic Program Development System , 1990, IEEE Trans. Software Eng..

[23]  Bertrand Ibrahim,et al.  Automatic indexing of software artifacts , 1994, Proceedings of 1994 3rd International Conference on Software Reuse.

[24]  Jeannette M. Wing,et al.  Specification matching of software components , 1997 .

[25]  Mark David Weiser,et al.  Program slices: formal, psychological, and practical investigations of an automatic program abstraction method , 1979 .

[26]  Jeannette M. Wing,et al.  Signature matching: a key to reuse , 1993, SIGSOFT '93.

[27]  Roland Mittermeir,et al.  Storing and retrieving software components: a refinement based system , 1994, ICSE '94.

[28]  John Penix,et al.  REBOUND: A Framework for Automated Component Adaptation , 1998 .

[29]  Johann Schumann,et al.  NORA/HAMMR: making deduction-based software component retrieval practical , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[30]  Bertrand Ibrahim,et al.  Using english to retrieve software , 1995, J. Syst. Softw..