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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Andelfinger, U.: Diskursive Anforderungsanalyse. Ein Beitrag zum Reduktionsprob-lem bei Systementwicklungen in der Informatik. Peter Lang, Frankfurt (1997)
Boehm, B.W.: Software engineering. IEEE Transactions on Computers C-25(12), 1216–1241 (1976)
Booch, G.: Object-Oriented Analysis and Design with. Benjamin/ Cummings (1994)
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)
Duwel, S.: BASE - ein begriffsbasiertes Analyseverfahren fur die Software-Entwick-lung. PhD thesis, Philipps-Universitat, Marburg (2000)
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)
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)
Fischer, B.: Specification-based browsing of software component libraries. Automated Software Engineering, 74–83 (1998)
Godin, R., Mili, H.: Building and maintaining analysis-level class hierarchies using galois lattices. In: Reflection and Software Engineering, pp. 394–410 (1993)
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)
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)
Godin, R., Valtchev, P.: Formal Concept Analysis. LNCS (LNAI), vol. 3626. Springer, Heidelberg (2005)
Gruber, T.: A translation approach to portable ontologies. Knowledge Acquisition 5(2), 199–220 (1993)
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)
Hesse, W.: Ontologie(n). Das aktuelle Schlagwort. Informatik-Spektrum 25(6), 477–480 (2002)
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
Jacobson, I.: Object-Oriented Software Engineering - A Use Case Driven Approach. revised printing edn. Addison-Wesley, Reading (1993)
Lindig, C.: Komponentensuche mit Begriffen. In: Braunschweig, S., Hrsg. (eds.) Proceedings Software-Technik 1995, Oktober 1995, pp. 67–75 (1995)
Lindig, C.: Analyse von Softwarevarianten. Technical Report Informatik-Bericht 98-04, Technische Universitat Braunschweig (January 1998)
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)
Ludewig, J.: Models in software engineering - an introduction. Software and Systems Modelling 2(1) (2003)
Martin, J., Odell, J.: Object-Oriented Analysis and Design. Prentice-Hall, Englewood Cliffs (1992)
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)
Meyer, B.: Object oriented software construction. Prentice-Hall, Englewood Cliffs (1988)
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)
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)
Snelting, G.: Formal Concept Analysis. LNCS (LNAI), vol. 3626. Springer, Heidelberg (2005)
Snelting, G.: Reengineering of configurations based on mathematical concept analysis. ACM Transactions on Software Engineering and Methodology 5(2), 146–189 (1996)
Snelting, G., Tip, F.: Understanding class hierarchies using concept analysis. ACM Transactions on Programming Languages and Systems, 540–582 (2000)
Stachowiak, H.: Allgemeine Modelltheorie. Springer, Wien (1973)
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)
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)
Tilley, T., Cole, R., Becker, P., Eklund, P.: Formal Concept Analysis. LNCS (LNAI), vol. 3626. Springer, Heidelberg (2005)
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)
Unified Modeling Language (UML) 1.5 documentation. OMG documentformal/03-03-01, as of August 18 (2003)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)