A uniqueness constraint rejects DSL content whose neighboring or related names are sufficiently similar to collide after generation. It reports the violation as an issue for domain experts to repair. section 9.4 section 9.3.6
Implement the constraint by:
- Converting the current attribute name to camel case. section 9.3.6
- Finding other attributes in the containing record whose normalized names match, while excluding the current attribute. section 9.3.6
- Adding an issue that lists the similarly named attributes. section 9.3.6
- Applying the ImposeConstraints strategy before strengthening generation to handle faulty content. section 9.4
Colliding attribute names
Attributes named “foo bar” and “Foo Bar” both normalize to fooBar. Generated record code assigns fooBar twice with incompatible types, while the Runtime form shows confusing fields. The constraint reports the similarity instead of allowing the collision to pass silently. section 9.3.6






