Managing Constraints in Integrated and Cooperative Product Development

Cooperative Product Development is the principal mechanism for supporting Concurrent Engineering. In large organizations, cooperative product development is expected to take place with the involvement of teams of geographically separated product developers working in a distributed and heterogeneous computer environment. Communication, cooperation, and coordination are essential for cooperative product development by members of a product development team virtually co-located over a network. The coordination framework in a computer-based cooperative product development environment is responsible for communicating work, securing focus, and ensuring progress towards a goal. A necessary function of the coordination framework, provided by a Constraint Management System, is the ability to capture and manage the constraints in the product development process. The development of a prototype Constraint Management System is discussed in this paper. The requirements of a Constraint Management System are specified and further work in constraint management, in the context of applications to product development, is outlined. FACILITATING COORDINATION IN A COOPERATIVE PRODUCT DEVELOPMENT ENVIRONMENT The engineering product development process is propelled by the multiple objectives of the product developers and, at the same time, constrained by conditions restricting their exploration of the design space. Constraints from a number of disciplines (e.g., aerodynamics, structures) and processes (e.g., manufacturing, maintenance) are imposed on the design. The objectives and constraints have their origins in the different phases of the life-cycle of the product. Associated with each life-cycle phase is a product development perspective, having a particular set of objectives and constraints on the design. The number and complexity of constraints to be satisfied can be very large, with the responsibility for meeting these constraints being distributed among the participants in the product development cycle. Also, as the product development progresses, the nature and number of the constraints may change. Cooperative Product Development (CPD) is seen as the principal mechanism for supporting Concurrent Engineering (CE). In large organizations, CPD often involves teams of geographically separated product developers working in a distributed and heterogeneous computer environment. Communication, cooperation, and coordination are critical for maintaining the efficiency and effectiveness [1] of the product development process. In order to facilitate CPD, it is essential that the development teams be provided with mechanisms that allow the project leader to monitor progress being made on the design, allow teams and team members to recognize conflicts among their respective perspectives, and provide mechanisms to resolve these conflicts. Constraint management satisfies a requirement, the ability to capture and manage constraints, necessary to achieve coordination. Constraint management is also an essential foundation of the consensus building activity, because a violated constraint can trigger negotiation and trade-off. A constraint typically is represented as a relationship between variables. In a constraint-based representation of life-cycle considerations for an artifact, the variables correspond to the features (or parameters) of a product or one of its parts. Variables can be classified by the types of values they assume, and constraints can be classified by their form [2]. As discussed in Ref. [3] constraints can provide us with Constraint Management ¥ a uniform representation scheme for the diverse life-cycle issues being addressed, ¥ an efficient control strategy which uses local information, and ¥ a computational model, i.e., an output can be computed for a given set of inputs. Hence, a constraint-based representation of lifecycle considerations is a powerful approach for supporting CE in a CPD scenario. CONSTRAINT MANAGEMENT SYSTEM