Building Abstractions in Class Models: Formal Concept Analysis in a Model-Driven Approach

  • Gabriela Arévalo
  • Jean-Rémi Falleri
  • Marianne Huchard
  • Clémentine Nebut
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4199)


Designing class models is usually an iterative process to detect how to express, for a specific domain, the adequate concepts and their relationships. During those iterations, the abstraction of concepts and relationships is an important step. In this paper, we propose to automate this abstraction process using techniques based on Formal Concept Analysis in a model-driven context. Using UML2.0 class diagrams as modeling language for class models, in this proposal we show how our model-driven approach enables parameterization, tracing and generalization to any metamodel to express class models.


Class Model Class Diagram Concept Lattice Formal Concept Analysis Class Hierarchy 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ganter, B., Wille, R.: Formal Concept Analysis, Mathematical Foundations. Springer, Berlin (1999)MATHGoogle Scholar
  2. 2.
    Godin, R., Mili, H.: Building and maintaining analysis-level class hierarchies using Galois lattices. In: Proc. of OOPSLA 1993, Washington (DC), USA, pp. 394–410 (1993)Google Scholar
  3. 3.
    Dicky, H., Dony, C., Huchard, M., Libourel, T.: On Automatic Class Insertion with Overloading. In: Special issue of Sigplan Notice, Proc. of OOPSLA 1996, pp. 251–267 (1996)Google Scholar
  4. 4.
    Snelting, G., Tip, F.: Understanding class hierarchies using concept analysis. ACM Transactions on Programming Languages and Systems 22(3), 540–582 (2000)CrossRefGoogle Scholar
  5. 5.
    Triskell project (IRISA): The Metamodeling Language Kermeta (2006),
  6. 6.
    Dao, M., Huchard, M., Hacène, M.R., Roume, C., Valtchev, P.: Improving Generalization Level in UML Models: Iterative Cross Generalization in Practice. In: Wolff, K.E., Pfeiffer, H.D., Delugach, H.S. (eds.) ICCS 2004. LNCS (LNAI), vol. 3127, pp. 346–360. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
  8. 8.
    Steel, J., Jézéquel, J.M.: Model typing for improving reuse in model-driven engineering. In: Proceedings of MODELS/UML 2005, pp. 84–96 (2005)Google Scholar
  9. 9.
    Tilley, T., Cole, R., Becker, P., Eklund, P.: A survey of formal concept analysis support for software engineering activities. In: Proc. of the First International Conference on Formal Concept Analysis - ICFCA 2003, pp. 250–271. Springer, Heidelberg (2003)Google Scholar
  10. 10.
    Arévalo, G.: High-Level Views in Object-Oriented Systems using Formal Concept Analysis. PhD thesis, Software Composition Group, University of Bern (2004)Google Scholar
  11. 11.
    Yahia, A., Lakhal, L., Cicchetti, R., Bordat, J.: iO2 - An Algorithmic Method for Building Inheritance Graphs in Object Database Design. In: Thalheim, B. (ed.) ER 1996. LNCS, vol. 1157, pp. 422–437. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  12. 12.
    Andonnoff, E., Sallaberry, C., Zurfluh, G.: Interactive design of object oriented databases. In: Loucopoulos, P. (ed.) CAiSE 1992. LNCS, vol. 593, pp. 128–146. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  13. 13.
    Cook, W.: Interfaces and Specifications for the Smalltalk-80 Collection Classes. In: Paepcke, A. (ed.) Proceedings of the 10th OOPSLA, pp. 1–15. ACM Press, New York (1992)Google Scholar
  14. 14.
    Moore, I.: Automatic Inheritance Hierarchy Restructuring and Method Refactoring. In: Proceedings of OOPSLA 1996, San Jose (CA), USA, pp. 235–250 (1996)Google Scholar
  15. 15.
    Chen, J.B., Lee, S.C.: Generation and reorganization of subtype hierarchies. Journal of Object Oriented Programming 8(8), 26–35 (1996)MathSciNetGoogle Scholar
  16. 16.
    Si-Said Cherfi, S., Lammari, N.: Towards and Assisted Reorganization of Is-A Hierarchies. In: Proc. of Object-Oriented Information Systems, pp. 536–548. Springer, Heidelberg (2002)Google Scholar
  17. 17.
    Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Transactions on Software Engineering 30(2), 126–139 (2004)CrossRefGoogle Scholar
  18. 18.
    Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.M.: Refactoring UML models. In: Proc. Unified Modeling Language Conf., pp. 134–148 (2001)Google Scholar
  19. 19.
    Tokuda, L., Batory, D.: Automated software evolution via design pattern transformations. In: Proc. of the Int’l Symp. on Applied Corporate Computing (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Gabriela Arévalo
    • 1
  • Jean-Rémi Falleri
    • 1
  • Marianne Huchard
    • 1
  • Clémentine Nebut
    • 1
  1. 1.LIRMM, CNRS and Université de Montpellier 2MontpellierFrance

Personalised recommendations