The user interface of Artificial Designer is a feature modelling system. Products are expressed as a set of features, which define a full product.
knowledge base
Features are stored in a knowledge base that links features together with IF-THEN like relationships. IF a product is a pullover, THEN it has an elastic neckline, IF a product is a first layer, THEN it has a soft material. Some features are more like containers than distinct details themselves. For example a jacket feature mandates that the product is an outer layer garment and opens at the front, but enforces the properties by mandatory sub-features, not by altering the geometry or topology itself.
implicit ontology
Feature's ontology is implied by its local grouping inside of some other feature. For example when center-front-zip is grouped with center-front-buttons - e.g. in a jacket feature - the grouping implies a shared context of different kinds of front-openings.
The groupings don't have a name or any other explicit classification, they work purely based on the shared context. This makes filling a knowledge based with new knowledge quite flexible compared to a more explicit ontology where the relationships need to be defined.
If a group only has one feature, it indicates a mandatory relationship, a list of features are alternatives that all can fill a shared 'locus' i.e. some specific context. For example a neckline can be finished with either seamless collar or raw neckline, but not with both at the same time.
discrete knowledge
One key aspect of the knowledge structure is its 'discreteness', the pieces of knowledge have relatively large intervals. For example the geometry of a garment might be influenced by a feature slim-fit, regular-fit or loose-fit; the jump from one option to the next is quite distinctive. This is closer to human style design than a system that accepts any arbitary scaling value for every variable.
auto-propagation
When a new feature is added to a model, it triggers a cascading effect where all of its mandatory connections will also get added. The same process then repeats recursively for these newly added features, meaning that even a single feature will always expand into a fully formed product.
For example in the above example, a feature "top" establishes a higher category of a garment, chooses a default wearing option: pullover and establishes the bare minimum required topology for all upper body garments: holes for the head, body and hands. These features further expand into, fit, materials, finishes and so forth.
The automatic expansion always leads to a fabricatable and wearable product, even from a single keyword. All missing information gets filled in with default values.
The process works both in forward and backward direction. If a feature "bomber jacke" is added to a product, it expands into a open-front, outerwear, reversible, rib-collar and so forth. If the same features are inserted separately, their combination is detected as a bomber jacke.
A feature model is an ordered list of keywords. The model can be visualised as a graph, but the internal structure is always a flat list.