Skip to main content

Block decomposition of inheritance hierarchies

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((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.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. 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. 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. 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. 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. 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. M. Habib, M. Huthard, and J. Spinrad. A linear algorithm to decompose inheritance graphs into modules. Algorithmica, (13):573–591, 1995.

    Google Scholar 

  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. M. Huthard. Sur quelques questions algorithmiques de l'héritage multiple. PhD thesis, Université Montpellier II, 1992.

    Google Scholar 

  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. 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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rolf H. Möhring

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Capelle, C. (1997). Block decomposition of inheritance hierarchies. In: Möhring, R.H. (eds) Graph-Theoretic Concepts in Computer Science. WG 1997. Lecture Notes in Computer Science, vol 1335. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0024493

Download citation

  • DOI: https://doi.org/10.1007/BFb0024493

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63757-8

  • Online ISBN: 978-3-540-69643-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics