Implementation of PackageableElement.conformsTo is faulty
The OCL implementation of PackageableElement.conformsTo is incorrect (copy/paste errors?):
if (self.oclIsKindOf(AnnotationType)) then
self.oclAsType(AnnotationType).extension.extending(e)
else
if (self.oclIsKindOf(ComponentType)) then
self.oclAsType(AnnotationType).extension.extending(e)
else
if (self.oclIsKindOf(GateType)) then
self.oclAsType(GateType).extension.extending(e)
else
if (self.oclIsKindOf(GateType)) then
self.oclAsType(StructuredDataType).extension.extending(e)
else
false
endif
endif
endif
endif
Should be
if (self.oclIsKindOf(AnnotationType)) then
self.oclAsType(AnnotationType).extension.extending(e)
else
if (self.oclIsKindOf(ComponentType)) then
self.oclAsType(ComponentType).extension.extending(e)
else
if (self.oclIsKindOf(GateType)) then
self.oclAsType(GateType).extension.extending(e)
else
if (self.oclIsKindOf(StructuredDataType)) then
self.oclAsType(StructuredDataType).extension.extending(e)
else
false
endif
endif
endif
endif