Parametric Design Software Architecture