Skip to main content

Formal Concept Analysis Used for Software Analysis and Modelling

  • Chapter
Formal Concept Analysis

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 3626))

Abstract

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. Andelfinger, U.: Diskursive Anforderungsanalyse. Ein Beitrag zum Reduktionsprob-lem bei Systementwicklungen in der Informatik. Peter Lang, Frankfurt (1997)

    Google Scholar 

  3. Boehm, B.W.: Software engineering. IEEE Transactions on Computers C-25(12), 1216–1241 (1976)

    Article  Google Scholar 

  4. Booch, G.: Object-Oriented Analysis and Design with. Benjamin/ Cummings (1994)

    Google Scholar 

  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. Duwel, S.: BASE - ein begriffsbasiertes Analyseverfahren fur die Software-Entwick-lung. PhD thesis, Philipps-Universitat, Marburg (2000)

    Google Scholar 

  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. 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. Fischer, B.: Specification-based browsing of software component libraries. Automated Software Engineering, 74–83 (1998)

    Google Scholar 

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

    Article  Google Scholar 

  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. Godin, R., Valtchev, P.: Formal Concept Analysis. LNCS (LNAI), vol. 3626. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  14. Gruber, T.: A translation approach to portable ontologies. Knowledge Acquisition 5(2), 199–220 (1993)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  16. Hesse, W.: Ontologie(n). Das aktuelle Schlagwort. Informatik-Spektrum 25(6), 477–480 (2002)

    Article  Google Scholar 

  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, books_372ocg.at; Bd. 157, Osterr

    Google Scholar 

  18. Jacobson, I.: Object-Oriented Software Engineering - A Use Case Driven Approach. revised printing edn. Addison-Wesley, Reading (1993)

    Google Scholar 

  19. Lindig, C.: Komponentensuche mit Begriffen. In: Braunschweig, S., Hrsg. (eds.) Proceedings Software-Technik 1995, Oktober 1995, pp. 67–75 (1995)

    Google Scholar 

  20. Lindig, C.: Analyse von Softwarevarianten. Technical Report Informatik-Bericht 98-04, Technische Universitat Braunschweig (January 1998)

    Google Scholar 

  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. Ludewig, J.: Models in software engineering - an introduction. Software and Systems Modelling 2(1) (2003)

    Google Scholar 

  23. Martin, J., Odell, J.: Object-Oriented Analysis and Design. Prentice-Hall, Englewood Cliffs (1992)

    Google Scholar 

  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. Meyer, B.: Object oriented software construction. Prentice-Hall, Englewood Cliffs (1988)

    Google Scholar 

  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. 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. Snelting, G.: Formal Concept Analysis. LNCS (LNAI), vol. 3626. Springer, Heidelberg (2005)

    Google Scholar 

  29. Snelting, G.: Reengineering of configurations based on mathematical concept analysis. ACM Transactions on Software Engineering and Methodology 5(2), 146–189 (1996)

    Article  Google Scholar 

  30. Snelting, G., Tip, F.: Understanding class hierarchies using concept analysis. ACM Transactions on Programming Languages and Systems, 540–582 (2000)

    Google Scholar 

  31. Stachowiak, H.: Allgemeine Modelltheorie. Springer, Wien (1973)

    Google Scholar 

  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. 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. Tilley, T., Cole, R., Becker, P., Eklund, P.: Formal Concept Analysis. LNCS (LNAI), vol. 3626. Springer, Heidelberg (2005)

    Google Scholar 

  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. Unified Modeling Language (UML) 1.5 documentation. OMG documentformal/03-03-01, as of August 18 (2003)

    Google Scholar 

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

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Hesse, W., Tilley, T. (2005). Formal Concept Analysis Used for Software Analysis and Modelling. In: Ganter, B., Stumme, G., Wille, R. (eds) Formal Concept Analysis. Lecture Notes in Computer Science(), vol 3626. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11528784_15

Download citation

  • DOI: https://doi.org/10.1007/11528784_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-27891-7

  • Online ISBN: 978-3-540-31881-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics