The Constraint level:
Constraints are predicates that convey information about the model. When a constraint is active and evaluates to false, then errors or warnings are displayed in the IDE on top of the visible elements of the model those constraints relate to.
A constraint needs to be defined programmatically. As an example we will define a constraint for the AF3 MIRA plugin that defines a software requirements gathering framework. This specific constraint evaluates if all requirements have a name.