In this paper we present a support that helps organizing distributed design of products belonging to a product family. We
model the product to be developed as a component-based tree of object templates, develop a logic-based language that allows
expressing diverse development constraints and use these constraints to guide the design process. The main objective of our
support is to save time and development effort in increasing parallel work and avoiding roll-backs. For that, it reasons in
terms of correctness of the future, final state of the product, and verifies that the product state after each operation allows the reacheability of such a state.