# Block decomposition of inheritance hierarchies

• Christian Capelle
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1335)

## Abstract

Inheritance hierarchies play a central role in object oriented languages as in knowledge representation systems. These hierarchies are acyclic directed graphs representing the underline structure of objects. This paper is devoted to the study of efficient algorithms to decompose recursively an inheritance hierarchy into independent subgraphs which are inheritance hierarchies themselves. This process gives a tree called decomposition tree.

The decomposition proposed here is based on the concept of block which is an extension of the concept of h-module proposed by R. Ducournau and M. Habib [7]. M. Habib, M. Huthard and J. Spinrad [8] have presented a linear algorithm to decompose an inheritance hierarchy into h-modules. The algorithm proposed here to decompose an inheritance hierarchy into blocks generalizes the algorithm of Habib et al.. It computes a linear extension of the hierarchy such that the blocks are factors of the extension. This is a general technique applicable to different de compositions [2, 1]. The unicity of the block decomposition comes from a proposition showing the links between blocks and modules of the well known modular decomposition of directed graphs, and from the theorem of unicity of the modular decomposition.

While the cost to compute the block decomposition is greater than the h-module decomposition one, it allows a greater factorization of the information of inheritance represented by the hierarchy. This decomposition can be useful for graph drawing applications [6] and could also be used for hierarchy coding applications. Such a decomposition can also be seen as a tool to help object oriented languages programmer to “understand” their hierarchies. Some linearizations of object hierarchies can be defined from this decomposition.

## References

1. 1.
Christian Capelle. Décompositions de Graphes et Permutations Factorisantes. PhD thesis, Université Montpellier II, 161 rue Ada, 34392 Montpellier Cedex 5, France, January 1997.Google Scholar
2. 2.
Christian Capelle and Michel Habib. Graph decomposition and factorizing permutations. pages 132–143, Juin 1997. fith Israel Symposium on the Theory of Computing and Systems (ISTCS'97).Google Scholar
3. 3.
D. Coppersmith and S. Winograd. Matrix multiplication via arithmetic progressions. In Proceedings of 19th Annual Symposium on the Theory of Computation, pages 1–6, 1987.Google Scholar
4. 4.
A. Cournier and M. Habib. A new linear algorithm for modular decomposition. In S. Tison, editor, Lectures notes in Computer Science, 787. Trees in Algebra and Programming-CAAP'94, pages 68–84. Springer-Verlag, April 1994. 19th International Colloquium, Edinburgh, U.K., April 1994. Procedings.Google Scholar
5. 5.
Elias Dahlhaus, Jens Gustedt, and Ross M. McConnell. Efficient and practical modular decomposition. In 8th Annual ACM-SIAM Symposium On Discrete Algorithms (SODA), pages 26–35, January 1997.Google Scholar
6. 6.
Celine De Hadjetlache and Carine Escale. Dessin de hierarchies d'héritage. Master's thesis, Université Montpellier II, June 1996. Mémoire de Stage de Recherche.Google Scholar
7. 7.
Roland Ducournau and Michel Habib. La multiplicité de l'héritage dans les langages à objects. Technique et Science Informatique, 8(1):41–62, 1989.Google Scholar
8. 8.
M. Habib, M. Huthard, and J. Spinrad. A linear algorithm to decompose inheritance graphs into modules. Algorithmica, (13):573–591, 1995.Google Scholar
9. 9.
Wen-Lian Hsu and Tze-Heng Ma. Substitution decomposition on chordal graphs and applications. In Proceedings of the 2nd ACM-SIGSAM Internationnal Symposium on Symbolic and Algebraic Computation, pages 52–60, 1991.Google Scholar
10. 10.
M. Huthard. Sur quelques questions algorithmiques de l'héritage multiple. PhD thesis, Université Montpellier II, 1992.Google Scholar
11. 11.
R. M. McConnell and J. Spinrad. Linear-time modular decomposition and efficient transitive orientation of undirected graphs, 1994. Proc. of the fifth Annual ACM-SIAM Symposium of Discrete Algorithms.Google Scholar
12. 12.
R. H. Möhring and F. J. Radermacher. Substitution decomposition for discrete structures and connections with combinatorial optimization. Ann. Discrete math, (19):257–356, 1984.Google Scholar
13. 13.
D.J. Rose, R.E. Tarjan, and G.S. Lueker. Algorithmic aspects of vertex elimination of graphs. SIAM journal of computing, 5:266–283, 1976.Google Scholar