Using formal specifications for component retrieval and reuse

Component reuse depends on the ability to retrieve and adapt potential solutions with respect to a particular problem description. To achieve these ends, users and tools must extract and compare requirements information during reuse and implementation specifics during adaptation. Although traditional component representation languages provide excellent implementation descriptions, their requirements description capabilities are limited. Thus, automated retrieval is traditionally performed in an ad hoc fashion or not at all. Such approaches are not appropriate for developing safety critical systems where precise requirements must be met. Formal interface specifications provide a solution for the requirements representation problem. Formal specifications provide precise descriptions of: problem requirements; component function; and component structure. Formal inference defines a mechanism for reliably and formally comparing problem requirements and component specifications.

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

[2]  Rubén Prieto-Díaz Implementing faceted classification for software reuse , 1991, CACM.

[3]  Steven S. Popovich,et al.  Inquire: predicate-based use and reuse , 1993, Proceedings of 8th Knowledge-Based Software Engineering Conference.

[4]  Jeannette M. Wing,et al.  Signature matching: a tool for using software libraries , 1995, TSEM.

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

[6]  Peter Freeman,et al.  Classifying Software for Reusability , 1987, IEEE Software.

[7]  Roland Mittermeir,et al.  Semantic-Based Software Retrieval to Support Rapid Prototyping , 1992, Struct. Program..

[8]  Bernd Fischer,et al.  VCR: A VDM-based software component retrieval tool , 1994 .

[9]  Michael R. Lowry,et al.  A formal approach to domain-oriented software design environments , 1994, Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference.

[10]  John Penix,et al.  VSPEC: A Declarative Requirements Specification Language for VHDL , 1995 .

[11]  Douglas R. Smith,et al.  Top-Down Synthesis of Divide-and-Conquer Algorithms , 1985, Artif. Intell..

[12]  A. Mili,et al.  Storing and retrieving software components: a refinement based system , 1994, Proceedings of 16th International Conference on Software Engineering.

[13]  D. Perry The Inscape Environment , 1989, 11th International Conference on Software Engineering.

[14]  Betty H. C. Cheng,et al.  A formal approach to reusing more general components , 1994, Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference.

[15]  William V. Snyder Classifying Software For Reuse , 1993 .

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

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