ON ANALOGY FOR SOFTWARE REUSE: A PERSPECTIVE FROM CYBERNETICS

Principles developed in cybernetics and systems theory can offer meaningful hindsight to research and development in computer science and may also provide some kind of guidance to the future study of computer science. In this paper we provide some comments on the role of analogy in software reuse from the perspective of cybernetics. Our purpose is to encourage a dialogue between researchers in software engineering and those in the study of cybernetics and systems. Three aspects of cybernetics are examined: the two-dimensional nature of cybernetics and systems theory, software reuse as a form of self-adaptation that originated from the abstract schema implied by analogy, and the nonrational cognitive process involved in using analogy for software reuse. We hope that cybernetics can provide meaningful insight related to analogy in software reuse; we also hope this kind of study will benefit cybernetics itself.

[1]  Neil A. M. Maiden,et al.  Analogy as a paradigm for specification reuse , 1991, Softw. Eng. J..

[2]  Robert Balzer,et al.  A 15 Year Perspective on Automatic Programming , 1985, IEEE Transactions on Software Engineering.

[3]  George Lakoff,et al.  A Cognitive Theory of Metaphor. , 1987 .

[4]  Brian H. Rudall Contemporary Systems and Cybernetics , 1993 .

[5]  Czesiaw Mesjasz SYSTEMS METAPHORS, SYSTEMS ANALOGIES, AND PRESENT CHANGES IN INTERNATIONAL RELATIONS , 1994 .

[6]  Gertrudis Van de Vijver,et al.  New Perspectives on Cybernetics , 1992 .

[7]  J. Carbonell Learning by Analogy: Formulating and Generalizing Plans from Past Experience , 1983 .

[8]  F. H. George,et al.  Philosophical foundations of cybernetics , 1979 .

[9]  Rogers P. Hall,et al.  Computational Approaches to Analogical Reasoning: A Comparative Analysis , 1989, Artif. Intell..

[10]  William Frawley,et al.  Knowledge Discovery in Databases , 1991 .

[11]  Stephen Fickas,et al.  Automating the Transformational Development of Software , 1985, IEEE Transactions on Software Engineering.

[12]  Jack Mostow,et al.  Design by Derivational Analogy: Issues in the Automated Replay of Design Plans , 1989, Artif. Intell..

[13]  S. A. robinson,et al.  Thimbles and hope: an essay on analogy and systems theory , 1989 .

[14]  Michael R. Lowry Software Engineering in the Twenty-First Century , 1992, AI Mag..

[15]  Robert L. Flood,et al.  Analogy and metaphor and systems and cybernetics methodology , 1988 .

[16]  George J. Klir,et al.  Architecture of Systems Problem Solving , 1985, Springer US.

[17]  Neil Maiden,et al.  Analogical software reuse: Empirical investigations of analogy-based reuse and software engineering practices , 1991 .

[18]  K. Holyoak,et al.  Schema induction and analogical transfer , 1983, Cognitive Psychology.

[19]  Jaime G. Carbonell,et al.  Derivational analogy: a theory of reconstructive problem solving and expertise acquisition , 1993 .

[20]  Neil Maiden Saving reuse from the noose: reuse of analogous specifications through human involvement in reuse process , 1991 .

[21]  D. Gentner Structure‐Mapping: A Theoretical Framework for Analogy* , 1983 .

[22]  Rubén Prieto-Díaz,et al.  Status report: software reusability , 1993, IEEE Software.

[23]  Francis Heylighen,et al.  Non-Rational Cognitive Processes as Changes of Distinctions , 1992 .

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

[25]  Z. Chen,et al.  Analogy, systems, and intelligence , 1991 .

[26]  Gertrudis Van de Vijver,et al.  New Perspectives on Cybernetics: Self-Organization, Autonomy and Connectionism , 1991 .

[27]  Janet L. Kolodner,et al.  Case-Based Reasoning , 1989, IJCAI 1989.

[28]  Neil A. M. Maiden,et al.  Exploiting reusable specifications through analogy , 1992, CACM.