Closed lcbarcellos closed 4 years ago
This constraint covers two other constraints from A modeling infrastructure for OntoUML, section 6.1, page 49, using other terminology:
Rigid Sortal does not specialize Anti-Rigid A RigidSortal cannot have an Anti-Rigid parent (Role, Phase and RoleMixin)
context RigidSortalClass inv:
self.parents()->select( x | x.oclIsKindOf(AntiRigidSortalClass) or
x.oclIsKindOf(RoleMixin) )->isEmpty()
Category does not specialize RoleMixin A Category cannot have a Role Mixin parent
context Category inv:
parents()->select( x | x.oclIsTypeOf(RoleMixin) )->isEmpty()
Validated by RigidityRule class
Rule
An instance of
gufo:RigidType
cannot specialize an instance ofgufo:AntiRigidType
Source
Fifth rule from Table 1 of paper Endurant Types in Ontology-Driven ConceptualModeling: Towards OntoUML 2.0, presented on page 13 of document.