Concurrent engineering is an approach to product, process, and organizational design in which experts from many disciplines contribute at many stages of the product life cycle. Even though the design process is mostly cooperative, conflicts among sharply diverging viewpoints may occur, which require negotiated compromise solutions. Design advice tools can assist in this process of negotiation by making their critiques and suggestions conveniently available to all members of the product development team. Constraint-based languages of sufficient expressive power provide a convenient representation of real-world problems like those encountered in concurrent engineering, and we believe they are a good basis for building such design advice tools. In this paper we describe a protocol, based on the use of economic utility, by which constraintbased design advice systems can recognize conflict, and support and mediate negotiation fairly.