1994
DOI: 10.1145/197320.197383
|View full text |Cite
|
Sign up to set email alerts
|

A behavioral notion of subtyping

Abstract: The use of hierarchy is an important component of object-oriented design. Hierarchy allows the use of type families, in which higher level supertypes capture the behavior that all of their subtypes have in common. For this methodology to be effective, it is necessary to have a clear understanding of how subtypes and supertypes are related. This paper takes the position that the relationship should ensure that any property proved about supertype objects also holds for its subtype objects. It presents two ways o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

5
498
0
6

Year Published

1999
1999
2016
2016

Publication Types

Select...
5
4
1

Relationship

0
10

Authors

Journals

citations
Cited by 854 publications
(509 citation statements)
references
References 11 publications
5
498
0
6
Order By: Relevance
“…Just like normal return types in statically typed object-oriented languages, anchored exception declarations follow the principle of behavioral subtyping [22], which is also known as the Liskov Substitution Principle. After all, both the exceptional and normal return types of a method are postconditions that are enforced by the type system.…”
Section: Related Workmentioning
confidence: 99%
“…Just like normal return types in statically typed object-oriented languages, anchored exception declarations follow the principle of behavioral subtyping [22], which is also known as the Liskov Substitution Principle. After all, both the exceptional and normal return types of a method are postconditions that are enforced by the type system.…”
Section: Related Workmentioning
confidence: 99%
“…Whether this amounts to a violation of the substitivity condition of Liskov and Wing [13]Let P (x ) be a property provable about objects x of type T . Then P (y) should be true for objects y of type S where S is a subtype of T .…”
Section: Model Refinementmentioning
confidence: 99%
“…The need for Σ u may seem surprising, but the rationale behind it is that framework constraints do not always adhere to behavioral subtyping [6]. Consider analyzing the DropDownList constraint on the code below: Since list is of type ListControl, the trigger clause of the first constraint in List.…”
Section: Matching On An Operatormentioning
confidence: 99%