ACM SIGPLAN Notices
IDL: sharing intermediate representations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Views for tools in integrated environments
An international workshop on Advanced programming environments
Readings in artificial intelligence and software engineering
Readings in artificial intelligence and software engineering
Functional programming using standard ML
Functional programming using standard ML
The Modula-2 software component library
The Modula-2 software component library
Software reusability: vol. 1, concepts and models
Software reusability: vol. 1, concepts and models
Principles of parameterized programming
Software reusability: vol. 1, concepts and models
The templates approach to software reuse
Software reusability: vol. 1, concepts and models
Synthesizing programming environments from reusable features
Software reusability
The programmer's apprentice
Extending Objects to Support Multiple Interfaces and Access Control
IEEE Transactions on Software Engineering
Common LISP: the language (2nd ed.)
Common LISP: the language (2nd ed.)
KIDS: A Semiautomatic Program Development System
IEEE Transactions on Software Engineering
Module reuse by interface adaptation
Software—Practice & Experience
ML for the working programmer
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Advances in computers
Advances in computers
Enabling technology for knowledge sharing
AI Magazine
A Packaging System for Heterogeneous Execution Environments
IEEE Transactions on Software Engineering
Mathematica: a system for doing mathematics by computer (2nd ed.)
Mathematica: a system for doing mathematics by computer (2nd ed.)
ACM Computing Surveys (CSUR)
Automating software design
Negotiated Interfaces for Software Reuse
IEEE Transactions on Software Engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A Value Transmission Method for Abstract Data Types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Data Abstraction and Program Development Using MODULA Two
Data Abstraction and Program Development Using MODULA Two
The Denotational Description of Programming Languages: An Introduction
The Denotational Description of Programming Languages: An Introduction
A Discipline of Programming
Introduction to Discrete Structures for Computer Science and Engineering
Introduction to Discrete Structures for Computer Science and Engineering
Reusing Software: Issues and Research Directions
IEEE Transactions on Software Engineering
Conversion of Units of Measurement
IEEE Transactions on Software Engineering
On Program Transformations
GLISP users'' manual
A mathematical theory of global program optimization (Prentice-Hall series in automatic computation)
A mathematical theory of global program optimization (Prentice-Hall series in automatic computation)
Composition Validation and Subjectivity in GenVoca Generators
IEEE Transactions on Software Engineering
Software Reuse by Specialization of Generic Procedures through Views
IEEE Transactions on Software Engineering
A perspective of generative reuse
Annals of Software Engineering
SARA '02 Proceedings of the 4th International Symposium on Abstraction, Reformulation, and Approximation
Interactions of Abstractions in Programming
SARA '02 Proceedings of the 4th International Symposium on Abstraction, Reformulation, and Approximation
IEEE Transactions on Software Engineering
Computer aided software design via inference and constraint propagation
Integrated Computer-Aided Engineering - Selected papers from the IEEE Conference on Information Reuse and Integration (IRI), July 13-15, 2008
Revealing the X/O impedance mismatch: changing lead into gold
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
Generation of geometric programs specified by diagrams
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Mappings make data processing go 'round
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Hi-index | 0.00 |
Software reuse is inhibited by the many different ways in which equivalent data can be represented. We describe methods by which views can be constructed semi-automatically to describe how application data types correspond to the abstract types that are used in numerical generic algorithms. Given such views, specialized versions of the generic algorithms that operate directly on the application data can be produced by compilation. This enables reuse of the generic algorithms for an application with minimal effort. Graphical user interfaces allow views to be specified easily and rapidly. Algorithms are presented for deriving, by symbolic algebra, equations that relate the variables used in the application data to the variables needed for the generic algorithms. Arbitrary application data structures are allowed. Units of measurement are converted as needed. These techniques allow reuse of a single version of a generic algorithm for a variety of possible data representations and programming languages. These techniques can also be applied in data conversion and in object-oriented, functional, and transformational programming.