|
ABSTRACT
Subtyping test, i.e., determining whether one type is a subtype of another, are a frequent operation during the execution of object-oriented programs. The challenge is in encoding the hierarchy in a small space, while simulataneously making sure that subtyping tests have efficient implmentation. We present a new scheme for encoding multiple and single inheritance hierarchies, which, in the standardized hierarchies, reduces the footprint of all previsously published schemes. The scheme is called PQ-encoding after PQ-trees, a data structure previously used in graph theory for finding the orderings that satisfy a collection of constraints. In particular, we show that in the traditional object layout model, the extra memory requirement for single inheritance hierarchies is zero. In the PQ-encoding subtyping tests are constant time, and use only two comparisons. Other than PQ-trees, PQ-encoding uses several novel optimization techniques. These techniques are applicable also in improving the performance of otehr, previously published, encoding schemes.
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
|
G. D. Battista and R. Tamassia. On-line maintenance of triconnected components with SPQR-trees. Algorithmica, 15(4):302-318, Apr. 1996.
|
| |
6
|
K. S. Booth and G. S. Leuker. Testing for the consecutive ones property, interval graphs, and graph planarity using PQ-tree algorithms. J. Comput. Sys. Sci., 13(3):335-379, Dec. 1976.
|
| |
7
|
|
 |
8
|
L. Cardelli , J. Donahue , M. Jordan , B. Kalsow , G. Nelson, The Modula–3 type system, Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.202-212, January 11-13, 1989, Austin, Texas, United States
[doi> 10.1145/75277.75295]
|
 |
9
|
|
| |
10
|
C. Chambers. The Cecil language, specification and rationale. Technical report, University of Washington, Seattle, 1993.
|
 |
11
|
|
| |
12
|
|
| |
13
|
E. W. Dijkstra. Recursive programming. Numerische Mathematik, 2:312-318, 1960.
|
| |
14
|
|
| |
15
|
A. Fall. Heterogeneous encoding. In Proceedings of International KRUSE'95 Conference : Knowledge Use, Retrieval and Storage for Efficiency, pages 162-167, Aug. 1995.
|
| |
16
|
|
 |
17
|
Peter F. Sweeney , Joseph (Yossi) Gil, Space and time-efficient memory layout for multiple inheritance, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.256-275, November 01-05, 1999, Denver, Colorado, United States
|
| |
18
|
|
| |
19
|
R. Grafl. CACAO: Ein 64bit JavaVM just-in-time compiler. Master's thesis, University of Vienna, 1996.
|
| |
20
|
|
 |
21
|
|
| |
22
|
M. Junger, S. Leipert, and P. Mutzel. On computing a maximal planar subgraph using PQ-trees. Technical report, Informatik, Universit~t zu K~ln, 1996.
|
| |
23
|
M. Junger, S. Leipert, and P. Mutzel. A note on computing a maximal planar subgraph using PQ-trees. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 17(7), 1998.
|
| |
24
|
A. Krall and R. Grafl. CACAO - a 64 bit JavaVM just-in-time compiler. In G. C. Fox and W. Li, editors, PPoPP'97 Workshop on Java for Science and Engineering Computation, Las Vegas, June 1997.
|
 |
25
|
Jan Vitek , R. Nigel Horspool , Andreas Krall, Efficient type inclusion tests, Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.142-157, October 05-09, 1997, Atlanta, Georgia, United States
|
| |
26
|
A. Krall, J. Vitek, and R. N. Horspool. Near optimal hierarchical encoding of types. In M. Aksit and S. Matsuoka, editors, Proceedings of the 11th European Conference on Object-Oriented Programming, number 1241 in Lecture Notes in Computer Science, pages 128-145, Jyvaskyla, Finland, June 9-13 1997. ECOOP'97, Springer Verlag.
|
| |
27
|
S. Leipert. PQ-trees, an implementation as template class in C++. Technical report, Informatik, Universitat zu Koln, 1997.
|
| |
28
|
L. N. M. Habib, Y. Caseau and O. Raynaud. Encoding of multiple inheritance hierarchie and partial orders. In Computational Intelligence, volume 15, pages 50-62, 1999.
|
| |
29
|
|
| |
30
|
|
| |
31
|
M. A. Schubert, P. L.K., and J. Taugher. Determining type, part, colour, and time relationships. Computer, 16 (special issue on Knowledge Representation):53-60, Oct. 1983.
|
| |
32
|
|
 |
33
|
|
CITED BY 13
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sonia Ben Mokhtar , Davy Preuveneers , Nikolaos Georgantas , Valérie Issarny , Yolande Berbers, EASY: Efficient semAntic Service discoverY in pervasive computing environments with QoS and context support, Journal of Systems and Software, v.81 n.5, p.785-808, May, 2008
|
|
|
Sébastien Baehni , João Barreto , Patrick Eugster , Rachid Guerraoui, Efficient distributed subtyping tests, Proceedings of the 2007 inaugural international conference on Distributed event-based systems, June 20-22, 2007, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|