An Object-oriented Representation of Product and Design