A Knowledge-Based Engineering Workbench for Automated Tolerance Specification