Relational modeling: a basis for computer-assisted design