Mixin¶
Definition¶
A «Mixin» is a semi-rigid type, i.e., it “behaves” as a rigid type for some individuals and as an anti-rigid one for others (it’s the only stereotype with such feature in OntoUML). As the «Category» and the «RoleMixin», the «Mixin» meta-class characterizes individuals that follow different identity principles. Here are some examples of types that could be classified as «Mixin»:
As categories, mixins are commonly applied during a refactoring process, in particular when we want to state that some properties are applied to both rigid and anti-rigid types. For instance, let’s consider that we defined the following types in our model, Car and Jewellery, a general concept for Ring, Necklace, etc. Now we want to define the type Luxury Good. In our worldview, every jewellery is luxurious, but only cars that are worth more than 30k dollars are. Since the value of a car changes through the years, being a luxurious car is a temporary classification, whilst being a jewellery is a permanent one. The type Luxury Good, therefore, is semi-rigid or a «Mixin».
Constraints¶
C1: A «Mixin» is always abstract. Note that abstract classes are represented with italic labels.
C2: A «Mixin» is a semi-rigid construct and because of that, it cannot have as ancestor either a rigid or an anti-rigid type. Therefore, only mixins can be ancestor of other mixins.
Common questions¶
Ask us some question if something is not clear …