Module reuse by interface adaptation
- 1 June 1991
- journal article
- Published by Wiley in Software: Practice and Experience
- Vol. 21 (6) , 539-556
- https://doi.org/10.1002/spe.4380210602
Abstract
This paper describes a language called Nimble that allows designers to declare how the actual parameters in a procedure call are to be transformed at run time. Normally, programmers must edit an application's source in order to adapt it for reuse in some new context where the interfaces fail to match exactly (e.g. the parameters may appear in a different order, data types may not exactly match, and some data may need to be either initialized or masked out when the reusable module is integrated within a new application.) But Nimble allows programmers to adapt the interfaces of existing software without having to operate on the source manually. As a result, existing software may be easily reused in a broader range of applications, and software libraries do not need to store many variants of a component that differ only in how the interfaces are used. Nimble has been implemented on a variety of Unix hosts, and is part of a broader reuse project at the University of Maryland. Our current system is suitable for use either in conjunction with existing module interconnection languages, or stand‐alone with C, Pascal and Ada source programs.Keywords
This publication has 8 references indexed in Scilit:
- Software development: a paradigm for the futurePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Specification level interoperabilityPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Parse tree annotationsCommunications of the ACM, 1989
- The inscape environmentPublished by Association for Computing Machinery (ACM) ,1989
- Data Integration in Distributed DatabasesIEEE Transactions on Software Engineering, 1987
- Intelligent Support for Software Specification and DesignIEEE Expert, 1986
- The transformation schema: An extension of the data flow diagram to represent control and timingIEEE Transactions on Software Engineering, 1986
- CONVERTCommunications of the ACM, 1975