Classes can have constraints.
Open constraint tab, you can set the expression, add some documentation, set the type (user extensible)

Attributes can have constraints.
Just like Classes - in fact, the dialog looks very similar (but not identical - the status is missing - but that's OK, that's in line with EA's view that attributes can't have status - weird, but consistently wrong)

So there I am, writing the code to emit the attribute metadata. Done that.
Now I need to write the code to emit the method metadata...
Clone the attribute code, change the names from attribute to method and see how far we get...
Error: method does not have property Constraint.

Sure enough! The UI shows, not a clone of the Constraint tab but two tabs, "Pre" and "Post". OK, time to send a bug report to Sparx (about minor inconsistency), but should be usable in the mean time...
Look in the Pre tab... There's a type dropdown... Why? Oh... Maybe they are letting me get access to my additional constraint types (the user extensible ones above)!
Press dropdown - a list of Requirement types appear

Sparxians:
Consistency, Consistency, Consistency! TM [size=16]
PLEASE![/size]
I put a question mark on the topic since there may be some rationale for this user interface, but I can't find it. Can anyone enlighten me?
Frustratingly,
Paolo