A reference kernel model for feature-based CAD systems supported by conditional attributed rewrite systems