KOntoR: an ontology-enabled approach to software reuse