Formal Concept Analysis Used for Software Analysis and Modelling

  • Wolfgang Hesse
  • Thomas Tilley
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3626)


Formal Concept Analysis (FCA) has shown its benefits in many application areas – including the field of Software Engineering. In general, FCA can successfully be used in almost all phases of the software life cycle. Several applications deal with software architecture, modularisation, program/code and configuration analysis while the early phases of the software life cycle – including requirements analysis, domain and system modelling – have not been considered to the same extent so far.

This article focuses on the use of FCA during the early phases of software development. First of all, the software life cycle and the importance of concepts – in particular for object oriented modelling (OOM) – are discussed. In principle, FCA can be used wherever concepts play a significant role in the software process. Reported work in this area focuses on requirements engineering (RE), use case analysis (UCA), object-oriented modelling, the analysis of class/object hierarchies and component retrieval.

As a typical application, the task of finding or deriving class candidates from a given use case description is considered in more detail. FCA offers valuable support to bridge this well-known gap existing in almost all OO methods. FCA allows a “crossing of perspectives” – between the functional view represented by the use cases and the data view implied by the “things” occurring there. Finally, future perspectives for using FCA as an encompassing tool supporting major parts of the software process are discussed. Such an approach might open a new vision on a thorough concept-based software engineering process.


Case Description Formal Attribute Concept Lattice Formal Context Formal Concept Analysis 
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.
    Ammons, G., Mandelin, D., Bodik, R., Larus, J.R.: Debugging temporal specifications with concept analysis. In: Proceedings of the Conference on Programming Language Design and Implementation PLDI 2003, June 2003, ACM, New York (2003)Google Scholar
  2. 2.
    Andelfinger, U.: Diskursive Anforderungsanalyse. Ein Beitrag zum Reduktionsprob-lem bei Systementwicklungen in der Informatik. Peter Lang, Frankfurt (1997)Google Scholar
  3. 3.
    Boehm, B.W.: Software engineering. IEEE Transactions on Computers C-25(12), 1216–1241 (1976)CrossRefGoogle Scholar
  4. 4.
    Booch, G.: Object-Oriented Analysis and Design with. Benjamin/ Cummings (1994)Google Scholar
  5. 5.
    Cole, R., Tilley, T.: Conceptual analysis of software structure. In: Ruhe, G., Bomarius, F. (eds.) SEKE 1999. LNCS, vol. 1756, pp. 726–733. Springer, Heidelberg (2000)Google Scholar
  6. 6.
    Duwel, S.: BASE - ein begriffsbasiertes Analyseverfahren fur die Software-Entwick-lung. PhD thesis, Philipps-Universitat, Marburg (2000)Google Scholar
  7. 7.
    Duwel, S., Hesse, W.: Bridging the gap between use case analysis and class structure design by formal concept analysis. In: Ebert, J., Frank, U., Hrsg. (eds.) Modelle und Modellierungssprachen in Informatik und Wirtschaftsinformatik. Proceedings Modellierung 2000, Koblenz, pp. 27–40. Folbach-Verlag (2000)Google Scholar
  8. 8.
    Duwel, S., Hesse, W.: BASE - ein begriffsbasiertes Analyseverfahren fur die Software-Entwicklung. In: Lengnink, K., Hrsg., et al. (eds.) Mathematik fur Menschen, Festschrift fur R. Wille, TU Darmstadt (2003)Google Scholar
  9. 9.
    Fischer, B.: Specification-based browsing of software component libraries. Automated Software Engineering, 74–83 (1998)Google Scholar
  10. 10.
    Godin, R., Mili, H.: Building and maintaining analysis-level class hierarchies using galois lattices. In: Reflection and Software Engineering, pp. 394–410 (1993)Google Scholar
  11. 11.
    Godin, R., Mili, H., Mineau, G.W., Missaoui, R., Arfi, A., Chau, T.-T.: Design of class hierarchies based on concept (galois) lattices. Theory and Application of Object Systems (TAPOS) 4(2), 117–134 (1998)CrossRefGoogle Scholar
  12. 12.
    Godin, R., Mineau, G., Missaoui, R.: Incremental structuring of knowledge bases. In: Proceedings of the International Knowledge Retrieval, Use, and Storage for Efficiency Symposium (KRUSE 1995), LNCS (LNAI), pp. 179–198. Springer, Heidelberg (1995)Google Scholar
  13. 13.
    Godin, R., Valtchev, P.: Formal Concept Analysis. LNCS (LNAI), vol. 3626. Springer, Heidelberg (2005)zbMATHCrossRefGoogle Scholar
  14. 14.
    Gruber, T.: A translation approach to portable ontologies. Knowledge Acquisition 5(2), 199–220 (1993)CrossRefGoogle Scholar
  15. 15.
    Hesse, W.: Theory and practice of the software process - a field study and its implications for project management. In: Montangero, C. (ed.) EWSPT 1996. LNCS, vol. 1149, pp. 241–256. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  16. 16.
    Hesse, W.: Ontologie(n). Das aktuelle Schlagwort. Informatik-Spektrum 25(6), 477–480 (2002)CrossRefGoogle Scholar
  17. 17.
    Hesse, W., Braun, H.V.: Wo kommen die Objekte her? Ontologisch-erkenntnistheoretische Zugange zum Objektbegriff. In: Bauknecht, K., Hrsg., et al. (eds.) Informatik 2001 - Tagungsband der GI/OCG-Jahrestagung,, vol. Bd. II, pp. 776–781 (2001) Computer-Gesellschaft,; Bd. 157, OsterrGoogle Scholar
  18. 18.
    Jacobson, I.: Object-Oriented Software Engineering - A Use Case Driven Approach. revised printing edn. Addison-Wesley, Reading (1993)Google Scholar
  19. 19.
    Lindig, C.: Komponentensuche mit Begriffen. In: Braunschweig, S., Hrsg. (eds.) Proceedings Software-Technik 1995, Oktober 1995, pp. 67–75 (1995)Google Scholar
  20. 20.
    Lindig, C.: Analyse von Softwarevarianten. Technical Report Informatik-Bericht 98-04, Technische Universitat Braunschweig (January 1998)Google Scholar
  21. 21.
    Lindig, C., Snelting, G.: Assessing modular structure of legacy code based on mathematical concept analysis. In: Proceedings of the International Conference on Software Engineering (ICSE 1997),Boston, pp. 349-359 (1997)Google Scholar
  22. 22.
    Ludewig, J.: Models in software engineering - an introduction. Software and Systems Modelling 2(1) (2003)Google Scholar
  23. 23.
    Martin, J., Odell, J.: Object-Oriented Analysis and Design. Prentice-Hall, Englewood Cliffs (1992)Google Scholar
  24. 24.
    Mayr, H.C., Kop, C.: A user centered approach to requirements modeling. In: Glinz, M., Mualler-Luschnat, G. (eds.) Modellierung 2002 - Model-lierung in der Praxis - Modellierung fur die Praxis, LNI P-12, pp. 75–86. Springer, Heidelberg (2003)Google Scholar
  25. 25.
    Meyer, B.: Object oriented software construction. Prentice-Hall, Englewood Cliffs (1988)Google Scholar
  26. 26.
    Richards, D., Boettger, K., Aguilera, O.: A controlled language to assist conversion of use case descriptions into concept lattices. In: Proceedings of 15th Australian Joint Conference on Artificial Intelligence (2002)Google Scholar
  27. 27.
    Schupp, S., Krishnamoorthy, M., Zalewski, M., Kilbride, J.: The right level of abstraction - assessing reusable software with formal concept analysis. In: Angelova, G., Corbett, D., Priss, U. (eds.) Foundations and Applications of Conceptual Structures - Contributions to ICCS 2002, pp. 74–91. Bulgarian Academy of Sciences (2002)Google Scholar
  28. 28.
    Snelting, G.: Formal Concept Analysis. LNCS (LNAI), vol. 3626. Springer, Heidelberg (2005)Google Scholar
  29. 29.
    Snelting, G.: Reengineering of configurations based on mathematical concept analysis. ACM Transactions on Software Engineering and Methodology 5(2), 146–189 (1996)CrossRefGoogle Scholar
  30. 30.
    Snelting, G., Tip, F.: Understanding class hierarchies using concept analysis. ACM Transactions on Programming Languages and Systems, 540–582 (2000)Google Scholar
  31. 31.
    Stachowiak, H.: Allgemeine Modelltheorie. Springer, Wien (1973)Google Scholar
  32. 32.
    Stumme, G.: Attribute exploration with background implications and exceptions. In: Bock, H.H., Polasek, W. (eds.) Data Analysis and Information Systems: Statistical and Conceptual approaches, Proceedings of GfKl 1995. Studies in Classification, Data Analysis, and Knowledge Organization 7, pp. 457–469. Springer, Heidelberg (1996)Google Scholar
  33. 33.
    Tilley, T.: Towards an FCA based tool for visualising formal specifications. In: Ganter, B., de Moor, A. (eds.) Using Conceptual Structures: Contributions to ICCS 2003, pp. 227–240. Shaker Verlag, Aachen (2003)Google Scholar
  34. 34.
    Tilley, T., Cole, R., Becker, P., Eklund, P.: Formal Concept Analysis. LNCS (LNAI), vol. 3626. Springer, Heidelberg (2005)Google Scholar
  35. 35.
    Tilley, T., Hesse, W., Duke, R.: A software modelling exercise using FCA. In: Ganter, B., de Moor, A. (eds.) Using Conceptual Structures: Contributions to ICCS 2003, pp. 213–226. Shaker Verlag, Aachen (2003)Google Scholar
  36. 36.
    Unified Modeling Language (UML) 1.5 documentation. OMG documentformal/03-03-01, as of August 18 (2003)Google Scholar
  37. 37.
    Vogt, F.: Supporting communication in software engineering: An approach based on formal concept analysis. Technical Report Preprint Nr. 1926, Technische Uni-versitat Darmstadt, Fachbereich Mathematik (1997)Google Scholar
  38. 38.
    Yahia, A., Lakhal, L., Bordat, J.P., Cicchetti, R.: 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Wolfgang Hesse
    • 1
  • Thomas Tilley
    • 2
  1. 1.FB Mathematik und InformatikPhilipps-UniversitätMarburgGermany
  2. 2.School of Information Technology and Electrical EngineeringUniversity of QueenslandBrisbaneAustralia

Personalised recommendations