Constraint
Constraints are rules which apply to the relations between items on the BA diagram. If a constraint is not respected on an item, the corresponding error is displayed in the document errors view. During code generation, broken constraints generate errors and stop the generate process with an error status.
Constraints are used in the BA diagram to regulate what relations are valid between entities. For
example, with the dbapp template set, if you create a Program and a Form entity on the BA diagram, a
valid relation can be set between the Program and Form.
However, if you try to set a relation from a Form entity to a Program, you
will see the constraint icon
indicating that this relation is not valid.
indicating that this relation is not valid.
Each Constraint element manages a constraint on a specific type of relation: Relation, ReportRelation, or WebServiceRelation.
Attribute | Value | Description |
---|---|---|
name |
Any string | Name of the constraint. Use to display the name in case of error. |
reference |
Semicolon separated list such as Relation;ReportRelation;WebServiceRelation | Possible relation types, or * for any. |
description |
Any string | Textual description of the error. |
source |
Semicolon separated list of source items from which the relation begins, such as ReportData;WebService;Program;Form. | Possible source item types, or * for any. |
destination |
Semicolon separated list of destination items to which the relation ends, such as Form;Zoom;FormWebService;ZoomWebService. | Possible destination item types, or * for any. |
minSource |
int >= 0 or ‘*’ for unbounded |
The minimum number of relation sources required for this relation type. Minimum source relation cardinality. |
maxSource |
int >= 0 or ‘*’ for unbounded |
The maximum number of relation sources allowed for this relation type. Maximum source relation cardinality. |
minDestination |
int >= 0 or ‘*’ for unbounded |
Minimum destination relation cardinality. |
maxDestination |
int >= 0 or ‘*’ for unbounded |
The maximum number of relation destinations allowed for this relation type. Maximum destination relation cardinality. If set to 0, this means a relation that meets source and destination constraints cannot be used. |
Example
<Constraint
name="Constraint_010"
reference="WebServiceRelation"
description="Define at least one outgoing relationship from WebServiceServer"
source="WebServiceServer" destination="WebService;FormWebService;ZoomWebService"
minSource="1"/>
In this example, Constraint_10 specifies that a WebServiceServer source entity must have at least one WebServiceRelation to a destination of WebService, FormWebservice or ZoomWebService.