Reusable software components from a library are individually indexed with a set of keywords. To retrieve components the user incrementally specifies a set of keywords that the searched components are required to have. After each step the selected components and the exact set of remaining significant keywords needed to refine the query further are presented to the user. The process ensures that ...