Until recently, the engineering design community has focused on addressing isolated engineering design tasks by developing systems such as computer-aided design (CAD), computer-aided manufacturing (CAM), computer-aided engineering (CAE), or product data management (PDM). Each of these systems has been designed to assist the engineer in a specific task that required little if any cooperation wit...