“…One way to bridge these gaps is to build high-level design expertise and rules in a knowledge-oriented system [9,10] while low-level design intent into a CAD system in the form of information-rich objects, which can be referred to as features in general although there have been many different definitions in the past literature [11][12][13][14]. As shown above, with certain naming conventions, such objects can then be mapped as arguments of predicate calculus, and manipulated with artificial intelligence (AI) languages, such as Prolog.…”