We present a novel approach and a system for automated selection of building blocks, by exploiting business processes semantics. The selection process is based on a novel greedy concept covering algorithm, which computes, given a description of the request, the set of needed building blocks. If such a set does not exist the algorithm returns the covered subset and explanation information on both the left-uncovered part and conflicting part of the request description, exploiting non-standard inference services. The requested description can be expressed as conjunction of mandatory requirements and preferences. In order to efficiently cope with large datasets a further enhancement is proposed, exploiting pre-classification techniques using a Description Logics reasoning engine in conjunction with a RDBMS to reduce the computational burden. The approach has been deployed in a system specifically designed for SAP R/3 best practices reusability, which is fully functional and is currently being evaluated in an industrial setting.