In this paper 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. 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.