November 1994 | BARBARA H. LISKOV, JEANNETTE M. WING
The paper "A Behavioral Notion of Subtyping" by Barbara H. Liskov and Jeannette M. Wing discusses the importance of hierarchy in object-oriented design and the need for a clear understanding of the relationship between subtypes and supertypes. The authors propose two definitions of the subtype relation that ensure that any property provable about supertype objects also holds for subtype objects. These definitions are based on the specifications of the sub- and supertypes and are designed to be easy for programmers to use. The paper also explores the implications of this notion of subtyping on the design of type families, providing a way to specify object types that allows multiple implementations and facilitates the definition of subtyping. The authors discuss the challenges of aliasing and shared mutable objects in concurrent environments and present a model of computation and a specification method to address these issues. They provide formal justifications for their definitions and compare the two approaches, highlighting their differences and similarities. The paper concludes with a discussion of related work and a summary of contributions.The paper "A Behavioral Notion of Subtyping" by Barbara H. Liskov and Jeannette M. Wing discusses the importance of hierarchy in object-oriented design and the need for a clear understanding of the relationship between subtypes and supertypes. The authors propose two definitions of the subtype relation that ensure that any property provable about supertype objects also holds for subtype objects. These definitions are based on the specifications of the sub- and supertypes and are designed to be easy for programmers to use. The paper also explores the implications of this notion of subtyping on the design of type families, providing a way to specify object types that allows multiple implementations and facilitates the definition of subtyping. The authors discuss the challenges of aliasing and shared mutable objects in concurrent environments and present a model of computation and a specification method to address these issues. They provide formal justifications for their definitions and compare the two approaches, highlighting their differences and similarities. The paper concludes with a discussion of related work and a summary of contributions.