type-specialization
Available in: KerML, SysML
This checks that types directly or indirectly specialize Base::Anything.
This is only possible in KerML which allows conjugating other types. Due to rules around implicit specializations and conjugations, conjugation cycles lead broken type elements.
Specification
A
Typemust directly or indirectly specializeBase::Anythingfrom the Kernel Semantic Library.
Example
class A ~ B; // error
class B ~ A; // error
Remove conjugation cycles:
class A; // ok
class B ~ A; // ok