Improving design pattern adoption with an ontology-based repository