Reusable Components for Knowledge Modelling: Case Studies in Parametric Design Problem Solving