An ontology-based approach to product customization