ACM Home Page
Please provide us with feedback. Feedback
A behavioral notion of subtyping
Full text PdfPdf (2.05 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 16 ,  Issue 6  (November 1994) table of contents
Pages: 1811 - 1841  
Year of Publication: 1994
ISSN:0164-0925
Authors
Barbara H. Liskov  Massachusetts Institute of Technology, Cambridge
Jeannette M. Wing  Carnegie Mellon Univ., Pittsburgh, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 18,   Downloads (12 Months): 120,   Citation Count: 119
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/197320.197383
What is a DOI?

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 of defining the subtype relation, each of which meets this criterion, and each of which is easy for programmers to use. The subtype relation is based on the specifications of the sub- and supertypes; the paper presents a way of specifying types that makes it convenient to define the subtype relation. The paper also discusses the ramifications of this notion of subtyping on the design of type families.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
4
 
5
 
6
 
7
 
8
 
9
DAHL, O.-J., MYRHAUG, B., AND NVGAARD, K. 1970. SIMULA common base language. Technical Report 22, Norwegian Computing Center, Oslo, Norway.
 
10
DHARA, I(. K. 1992. Subtyping among mutable types in object-oriented programming languages, Iowa State University, Ames, Iowa. l~iaster's Thesis.
 
11
DHARA, K. K. AND LEAVENS, (J. T. 1992. Subtyping for mutable types in object-oriented programming languages. Technical Report 92-36 (Nov.), Department of Computer Science, Iowa State University, Ames, Iowa.
 
12
DUb:E, D. AND DUXE, R. 1990. A history model for classes in object-Z. In Proceedings of VDtlI '90: VDilI and Z. Springer-Verlag.
 
13
 
14
 
15
GUTTAG, J. V., HOaNING, ff J., AN~, W~NG, J. M. 1985. The Larch family of specification lansuases. IEEE ,~oftcc.a,'e ~, 5 (Sept), 2 t-36.
 
16
HALBERT, D. C. AND O'BRIEN, P. m. 1987. Using types and inheritance in object-oriented programming. IEEE Software 4, 5 (Sept.), 71-79.
17
 
18
HOARE, C. 197"2. Proof of correctness of data representations. Acta Infor~zatzca 1, 1, 271-281.
 
19
 
20
LEAVENS, G. 1989. Verifying object-oriented prograsm that use subtypes. Technical Report 439 (Feb.), MIT Laboratory for Computer Science. Ph.D. thesis.
 
21
 
22
LEAVENS, G. T. AND DHARA, K. K. 1992. A foundation for the model theory of abstract data types with mutation and aliasing (preliminary version). Technical Report 92-35 (Nov.), Department of Computer Science, iowa State University, Ames, Iowa.
23
 
24
LIPECK, U. 1992. Semantics and usage of defaults in specifications. In Foundations of {nformatzon Systems Spec~ficahon and Design. Dagstuhl Seminar 9212 Report 35.
 
25
LisKov, B. }992. Preliminary design of the Thor object-oriented database system. In Proc. of the Software Technology Conference. DARPA. Also Programming Methodology Group Memo 74, MIT Laboratory for Computer Science, Cambridge, MA, March 1992.
 
26
 
27
 
28
 
29
 
30
 
31
 
32
33
 
34
SCHEID. J. AND HOLTSBERG, S. 1992. Ina Jo specification language reference manual. Technical Report TM-6021/001/06 (June), Paramax Systems Corporation, A Unisys Company.
 
35
 
36
 
37

CITED BY  119


REVIEW

"Tsun-Him Tse : Reviewer"

Subtyping, also known informally as inheritance, is an important notion in object-oriented programming, but may lead to unexpected problems if not handled properly. In order to ensure that intrinsic properties are preserved during the process   more...

Collaborative Colleagues:
Barbara H. Liskov: colleagues
Jeannette M. Wing: colleagues