Robert E. Strom, Shaula Yemini
Programming Language Issues in Software Systems 1983
In this paper we show how to augment object-oriented application interfaces with enhanced specifications that include sequencing constraints called protocols. Protocols make explicit the relationship between messages 1994 supported by the application. These relationships are usually only given implicitly, either in the code or in textual comments. We define notions of interface compatibility based upon protocols and show how compatibility can be checked, discovering a class of errors that cannot be discovered via the type system alone. We then define software adaptors that can be used to bridge the difference between object-oriented applications that have functionally compatible but type incompatible interfaces. We discuss what it means for an adaptor to be well-formed. Leveraging the information provided by protocols, we show how adaptors can be automatically generated from a high-level description, called an interface mapping. © 1994, ACM. All rights reserved.
Robert E. Strom, Shaula Yemini
Programming Language Issues in Software Systems 1983
David F. Bacon, Robert E. Strom
PPoPP 1991
Robert E. Strom, Daniel M. Yellin
IEEE Transactions on Software Engineering
Daniel M. Yellin
IBM Systems Journal