Intelligent Systems for Engineering: A Knowledge-based Approach