Towards Automatic Establishment of Model Dependencies Using Formal Concept Analysis


Software evolution is an iterative and incremental process that encompasses the modification and alteration of software models at different levels of abstraction. These modifications are usually performed independently, but the objects to which they are applied to, are in most cases mutually dependent. Inconsistencies and drift among related artifacts may be created if the effects of an alteration are not properly identified, recorded, and propagated in other dependent models. For large systems, it is possible that there is a considerable number of such model dependencies, for which manual extraction is not feasible. In this paper, we introduce an approach for automating the identification and encoding of dependence relations among software models and their elements. The proposed dependency extraction technique first uses association rules to map types between models at different levels of abstraction. Formal concept analysis is then used to identify clusters of model elements that pertain to similar or associated concepts. Model elements that cluster together are considered related by a dependency relation. The technique is used to synchronize business process specifications with the underlying J2EE source code models.

DOI: 10.1142/S0218194006002902

Extracted Key Phrases

10 Figures and Tables

Cite this paper

@article{Ivkovic2006TowardsAE, title={Towards Automatic Establishment of Model Dependencies Using Formal Concept Analysis}, author={Igor Ivkovic and Kostas Kontogiannis}, journal={International Journal of Software Engineering and Knowledge Engineering}, year={2006}, volume={16}, pages={499-522} }