skip to main content
Corticon Studio: Rule Modeling Guide : Building the Vocabulary : Support for inheritance : Inherited Associations
 

Try Corticon Now
Inherited Associations
Inherited Associations are a bit more complicated. An entity may be directly associated with another entity or that entity's descendants. An entity may also inherit an association from its ancestor.
Using the example shown in Selecting Ancestor Entity for Descendant and Vocabulary with Inheritance above, let's dissect each of these combinations.
*Customer.aircraft is a direct association between Customer and Aircraft entities.  No inheritance is involved, so the association icon is black and the rolename is black
*Customer.operator (Equipment) is an association inherited from Customer's ancestor entity Person, which has a direct association with Equipment and the rolename operator in our Vocabulary (the UML Class Diagram in Selecting Ancestor Entity for Descendant shows the rolename as operates because it is more conventional in UML to use verbs as rolenames, whereas nouns usually make better rolenames in a Corticon Vocabulary). Because the association is inherited from the ancestor's direct association, the icon is dark gray and the rolename is black.
*Equipment (which we can see equally well in the expanded operator rolename) has several associations with Person. One of these is a direct association with the Person entity. In this case, both association icon and rolename are black. But Equipment also has associations with descendants of the Person entity, specifically Employee, Customer, and Pilot. We call these filtered associations, and display their rolenames as dark gray.
*Finally, Customer has another association with operator (Aircraft) because Aircraft is a descendant of Equipment. So we combine the inherited dark gray icon and the filtered dark gray rolename to display this association.