Interfaces, protocols, and the semi-automatic construction of software adaptors

  • Authors:
  • Daniel M. Yellin;Robert E. Strom

  • Affiliations:
  • IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY;IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY

  • Venue:
  • OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 (methods) 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.