This Article 
 Bibliographic References 
 Add to: 
Negotiated Interfaces for Software Reuse
July 1992 (vol. 18 no. 7)
pp. 646-653

A significant barrier to the reuse of software is the rigid interface presented by a subroutine. For nontrivial data structures, it is unlikely that the existing form of the data of an application will match the requirements of a separately written subroutine. The authors describe two methods of interfacing existing data to a subroutine: generation of a program to convert the data to the form needed by the subroutine, and rewriting the subroutine, through compilation, to fit the existing data. Both methods can be invoked through easily used menu-based negotiation with the user. These methods have been implemented using the GLISP language and compiler.

[1] IEEE Trans. Software Eng., vol. SE-11, Nov. 1985.
[2] T. J. Biggerstaff and A. J. Perlis,Software Reusability, vols. 1-2. New York: ACM Press, 1989.
[3] R. J. Gautier and P. J. L. Wallis,Software Reuse with Ada, London: Peter Peregrinus Ltd., 1990.
[4] M. Herlihy and B. Liskov, "A value transmission method for abstract data types,"ACM Trans. Programming Languages and Systems, vol. 4, pp. 527-551, Oct. 1982.
[5] F. N. Hill, "Negotiated interfaces for software reusability,"Tech. Report AI-85-16, A.I. Lab, C.S. Dept., Univ. Texas at Austin, 1985.
[6] R. F. Hille,Data Abstraction and Program Development Using Modula- 2. Englewood Cliffs, NJ: Prentice Hall, 1989.
[7] D. A. Lamb, "Sharing intermediate representations: The interface description language,"Tech. Report CMU-CS-83 129, Computer Science Dept., Carnegie-Mellon Univ., 1983.
[8] C. Lins,The Modula-2 Software Component LibraryNew York: Springer-Verlag, 1989.
[9] G. Novak, "GLISP: A LISP-based programming system with data abstraction,"AI Magazine, vol. 4, pp. 37-47, 1983.
[10] G. Novak, "Knowledge based programming using abstract data types," inProc. Nat. Conf. Artificial Intelligence (AAAI-83)Aug. 1983.
[11] G. Novak, "Data abstraction in GLISP," inProc. SIGPLAN '83 Symposium on Programming Language Issues in Software Systems; ACM SIGPLAN Notices, vol. 18, June 1983.
[12] G. Novak, "GLISP user's manual,"Tech. Report STAN-CS-82-895, C.S. Dept., Stanford Univ., 1982.
[13] M. G. Reed-Lade, "Grammar acquisition and parsing of semi-structured text,"Tech. Report AI-89-105, Artificial Intelligence Laboratory, Univ. Texas at Austin, 1989.
[14] C. Rich and R.C. Waters,Readings in Artificial Intelligence and Software Engineering. Morgan Kaufmann, 1986.
[15] C. Rich and R.C. Waters,The Programmer's Apprentice. Reading, MA: Addison-Wesley, and Baltimore, MD: ACM Press, 1990.
[16] M. Schaefer,A Mathematical Theory of Global Program OptimizationEnglewood Cliffs, NJ: Prentice-Hall, 1973.
[17] M.-L. Wan, "Menu-based creation of procedures for display of data,"Tech. Rep. AI-85-18, A.I. Lab, C.S. Dept., Univ. Texas at Austin, 1985.
[18] A. Wikström,Functional Programming Using Standard ML, Englewood Cliffs, NJ: Prentice-Hall, 1987.

Index Terms:
software reuse; rigid interface; subroutine; nontrivial data structures; menu-based negotiation; GLISP language; compiler; computer communications software; data structures; software reusability
G.S. Novak, Jr., F.N. Hill, M.-L. Wan, B.G. Sayrs, "Negotiated Interfaces for Software Reuse," IEEE Transactions on Software Engineering, vol. 18, no. 7, pp. 646-653, July 1992, doi:10.1109/32.148482
Usage of this product signifies your acceptance of the Terms of Use.