Precalculating Component Interface Compatibility using FCA

In component-based software engineering, software systems are built by assembling prefabricated reusable components. The compatibility between the assembled components is crucial. It is determined by the comparison of their exposed interfaces: required interfaces (describing the services the component needs) and provided interfaces (describing the services the other component oﬀers) must match. Given a component, ﬁnding a compatible component in a component repository is not trivial. The idea of this paper is that organizing component directories with a yellow-page-like structure makes the search for suitable components more eﬃcient. We propose a solution based on Formal Concept Analysis to precalculate a concept lattice to organize our components. It proves to be an eﬃcient solution to both represent the component compatibility information and provide a browsable component organization to support the component search mechanism.