On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Reconciling environment integration and component independence
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
Retrieving re-usable software components by polymorphic type
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Using types as search keys in function libraries
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
F-bounded polymorphism for object-oriented programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Specification-level interoperability
Communications of the ACM - Special issue on software engineering
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
An overview of the ISO/VDM-SL standard
ACM SIGPLAN Notices
Finite acyclic theories are unitary
Journal of Symbolic Computation
Object-Z: An Object-Oriented Extension to Z
FORTE '89 Proceedings of the IFIP TC/WG6.1 Second International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols
RRL: A Rewrite Rule Laboratory
Proceedings of the 9th International Conference on Automated Deduction
Interfaces, protocols, and the semi-automatic construction of software adaptors
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Protocol specifications and component adaptors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specification matching of software components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Efficient and flexible matching of recursive types
Information and Computation
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Extending component-based design with hardware components
Science of Computer Programming - Special issue on new software composition concepts
A short survey of isomorphisms of types
Mathematical Structures in Computer Science
Tips on teaching types and functions
Proceedings of the 2008 international workshop on Functional and declarative programming in education
The process mediation framework for semantic web services
International Journal of Agent-Oriented Software Engineering
Interface composition for web service intermediaries
SC'08 Proceedings of the 7th international conference on Software composition
Subtyping recursive types modulo associative commutative products
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Hi-index | 0.00 |
The need to fit together reusable components and system designs in spite of differences in protocol and representation choices occurs often in object-oriented software construction. It is therefore necessary to use adapters to achieve an exact fit between the available “socket” for a reusable part and the actual part. In this paper we discuss an approach to the construction of tools that largely automate the synthesis of adapter code. Such tools are important in reducing the effort involved in reuse since adapter synthesis can be challenging and error-prone in the complex type environment of an object-oriented language. Our approach is applicable to statically typed languages like C++ and Eiffel, and is based on a formal notion of adaptability which is related to but distinct from both subtyping and inheritance.