KerML 1.1b1 RTF Avatar
  1. OMG Issue

KERML11 — Typos in several KerML OCL constraint bodies

  • Key: KERML11-198
  • Status: open  
  • Source: Budapest University of Technology and Economics ( Dr. Vince Molnar)
  • Summary:

    Several OCL constraint bodies and constraint names in the KerML metamodel contain spelling typos that prevent the OCL from parsing or that misname the rule itself. The affected sites are:

    1. In 8.3.2.4.5 Namespace, the body condition on operation resolveLocal references the property owningNamspace (missing e). Should be owningNamespace.
    2. In 8.3.3.3.4 Feature, checkFeatureObjectSpecialization calls specializesFromLibary (missing r). Should be specializesFromLibrary.
    3. In 8.3.3.1.10 Type, the rule deriveTypeOwnedConjugator references the type literal Conjugator, which does not exist in the metamodel. Should be Conjugation.
    4. In 8.3.3.3.4 Feature, the rule deriveFeatureType references the type literal Types (plural). Should be Type.
    5. In 8.3.4.7.3 Expression, the body of checkCondition references the bare name result where it should reference the let-bound variable results (plural — the let-binding holds a Sequence of Expressions). Without the s the bare name resolves to Expression::result (a single Feature property), which silently triggers an implicit singleton coercion and changes the semantics.
    6. In 8.3.4.12.3 MetadataFeature, the body of deriveMetadataFeatureMetaclass references the bare name metaClassTypes (capital C) where it should reference the let-bound variable metaclassTypes (lowercase c) declared on the line immediately above as let metaclassTypes : Sequence(Type) = .... The body's else metaClassTypes->first() is a single-character case typo on the let-binding name.
    7. In 8.3.4.8.4 FeatureChainExpression, the bodies of checkFeatureChainExpressionTargetRedefinition and checkFeatureChainExpressionSourceTargetRedefinition reference the bare name sourceTargetFeature (without parentheses, treating the operation as a property) where they should reference the let-bound variable sourceParameter declared on the line above as let sourceParameter : Feature = sourceTargetFeature() in. Two sites with the same shape.
    8. In 8.3.3.3.4 Feature, the body of isCompatibleWith references the bare name supertype where it should reference the operation parameter otherType. The description ("if the otherType is also a Feature and …") confirms the intended name; supertype is not in scope at this site.
    9. In 8.3.2.4.3 Membership, the body condition on operation isDistinguishableFrom contains five occurrences of the property name shortMemberName. The metamodel property is memberShortName.
    10. In 8.3.2.4.3 Membership, the same body uses oclKindOf (missing Is) where the standard OCL operation is oclIsKindOf.
    11. In 8.3.4.7.3 Expression and 8.3.4.7.4 Function, the bodies of checkExpressionResultBindingConnector / checkFunctionResultBindingConnector reference featureMembersip (missing h). Should be featureMembership.
    12. In 8.3.3.1.10 Type, the rule named validateSpecificationSpecificNotConjugated (located on the Specialization metaclass at 8.3.3.1.8) starts with the wrong word Specification. The rule belongs to Specialization and checks the specific end of a Specialization, so the prefix should be Specialization.
    13. In 8.3.2.4.5 Namespace, the rule validateNamespaceDistinguishibility is misspelled — the noun is distinguishability (distinguish + ability, not ibility).

    Each item above is purely a spelling correction and does not change the intent of the constraint or the metamodel structure.

  • Reported: KerML 1.0b2 — Fri, 8 May 2026 16:54 GMT
  • Updated: Sat, 9 May 2026 20:51 GMT