Formalizing and automating component reuse

Using existing components to construct software systems has significant potential to improving software productivity and quality. A key problem in software component reuse is the selection of appropriate components for satisfying a given requirement. In this paper we define a component interface generality relation that provides a foundation for component selection. This generality relation, represented in terms of formal specifications, precisely captures the semantic obligations for an existing component to satisfy the requirements of a target system. The formal specifications facilitate the (semi-) automatic determination of the generality relation. We show how this generality relation has been used to determine the reusability of software components in a software architecture-based reuse and integration environment.

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

[2]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[3]  Stephen J. Garland,et al.  Larch: Languages and Tools for Formal Specification , 1993, Texts and Monographs in Computer Science.

[4]  Betty H. C. Cheng,et al.  An Integrated Development Environment for Formal Specifications , 1993, SEKE.

[5]  Pierre America,et al.  Designing an Object-Oriented Programming Language with Behavioural Subtyping , 1990, REX Workshop.

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

[7]  Victor R. Basili,et al.  Measuring the Impact of Reuse on Quality and Productivity in Object-Oriented Systems , 1998 .

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

[9]  Jeannette M. Wing,et al.  Specification matching of software components , 1995, TSEM.

[10]  Gary T. Leavens,et al.  Forcing behavioral subtyping through specification inheritance , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[11]  Betty H. C. Cheng,et al.  Formalizing and automating component reuse , 1997, Proceedings Ninth IEEE International Conference on Tools with Artificial Intelligence.

[12]  Rubén Prieto-Díaz,et al.  Module interconnection languages , 1986, J. Syst. Softw..

[13]  Sadahiro Isoda,et al.  Success factors of systematic reuse , 1994, IEEE Software.