14.7. Individual Types
In philosophy and logic, individuals are specific real-world entities that can be instances of types ("universals"), but are not types themselves. In contrast, in SysML2, a singleton occurrence type (or individual type) is used for representing an individual occurrence.
An occurrence definition (of any kind) can be declared as an individual definition using the keyword individual [SysML 7.9.4]
The following example illustrates how an individual type is declared in SysML2:
part def Wheel; individual part def Wheel123 :> Wheel;
Here, the individual part type Wheel123 is intended to represent a singleton classifier populated by a specific individual, which we may call wheel123.
The following example illustrates how an individual part property is declared (for an individual part type) by declaring an individual part type as its range:
part def Vehicle {
part frontWheel : Wheel;
part rearWheel : Wheel;
}
individual part def Vehicle345 :> Vehicle {
individual part redefines frontWheel : Wheel123;
}The following example illustrates how the same individual part can play different roles at different times:
individual part def Vehicle345 :> Vehicle {
timeslice {
individual part redefines frontWheel : Wheel123;
}
then timeslice {
individual part redefines rearWheel : Wheel123;
}
}