|
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
|
David A. Carrington , David J. Duke , Roger Duke , Paul King , Gordon A. Rose , Graeme Smith, Object-Z: An Object-Oriented Extension to Z, Proceedings of the IFIP TC/WG6.1 Second International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols, p.281-296, December 05-08, 1989
|
| |
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
|
B Liskov , E Moss , A Snyder , R Atkinson , J C. Schaffert , T Bloom , R Scheifler, CLU reference manual, Springer-Verlag New York, Inc., New York, NY, 1984
|
| |
27
|
|
| |
28
|
|
| |
29
|
|
| |
30
|
|
| |
31
|
|
| |
32
|
|
 |
33
|
Craig Schaffert , Topher Cooper , Bruce Bullis , Mike Kilian , Carrie Wilpolt, An introduction to Trellis/Owl, Conference proceedings on Object-oriented programming systems, languages and applications, p.9-16, September 29-October 02, 1986, Portland, Oregon, United States
|
| |
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 121
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Aamod Sane , Roy Campbell, Object-oriented state machines: subclassing, composition, delegation, and genericity, ACM SIGPLAN Notices, v.30 n.10, p.17-32, Oct. 17, 1995
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nenad Medvidovic , David S. Rosenblum , Richard N. Taylor, A language and environment for architecture-based software development and evolution, Proceedings of the 21st international conference on Software engineering, p.44-53, May 16-22, 1999, Los Angeles, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A. J. Wellings , B. Johnson , B. Sanden , J. Kienzle , T. Wolf , S. Michell, Integrating object-oriented programming and protected objects in Ada 95, ACM Transactions on Programming Languages and Systems (TOPLAS), v.22 n.3, p.506-539, May 2000
|
|
|
|
|
|
|
|
|
|
|
|
A. J. Wellings , B. Johnson , B. Sanden , J. Kienzle , T. Wolf , S. Michell, Integrating object-oriented programming and protected objects in Ada 95, ACM SIGAda Ada Letters, v.XXII n.2, p.11-44, June 2002
|
|
|
|
|
|
Francois Bronsard , Douglas Bryan , W. Kozaczynski , Edy S. Liongosari , Jim Q. Ning , Ásgeir Ólafsson , John W. Wetterstrand, Toward software plug-and-play, ACM SIGSOFT Software Engineering Notes, v.22 n.3, p.19-29, May 1997
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Peter Schmitt , Isabel Tonin , Claus Wonnemann , Eric Jenn , Stéphane Leriche , James J. Hunt, A case study of specification and verification using JML in an avionics application, Proceedings of the 4th international workshop on Java technologies for real-time and embedded systems, October 11-13, 2006, Paris, France
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Claudio Bettini , Sushil Jajodia , X. Sean Wang , Duminda Wijesekera, Provisions and obligations in policy management and security applications, Proceedings of the 28th international conference on Very Large Data Bases, p.502-513, August 20-23, 2002, Hong Kong, China
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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...
|