Class-centered data models, such as the object-oriented data model, are inadequate for supporting engineering design product models because of their lack of support for object evolution, schema evolution, and semantic and user-defined relationships. Description logic overcomes these limitations by providing constructs for intentional description of classes, relationships, and objects. By combining description logic with object-oriented modelling concepts, design product schemas and data can be uniformly represented and modified throughout the design process.