Mixin
- Category
SemiRigidNonSortal
- Provides identity
- Identity principle
- Rigidity
- Dependency
optional
- Allowed supertypes
- Allowed subtypes
Subkind, Kind, Collective, Quantity, Category, Mixin, Role, Phase, RoleMixin, PhaseMixin, Relator, Quality, Mode
- Forbidden associations
- Abstract
True
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 (other than «Category») or an anti-rigid type. Therefore, only mixins categories can be ancestor of other mixins.
Common questions
Ask us some question if something is not clear …
Examples
EX1: Conceptual model based on the Music Ontology (see more):
EX2: Fragments extracted from the OntoUML Org Ontology (O3), a model about the active structure of organisations (see more):