Dorian,
I wouldn't use constraints for that.
The way I see it reports are very much on the same level as GUI screens or messages that you sent to other applications.
They somehow represent the core data of your system.
Usually there are three layers involved in modelling something like this:
- The GUI/Message/Report itself
In theory these elements have (almost) nothing then derived attributes because they can be calculated from the information in the "lower" level. Because all of the attributes are derived here you might as well leave that implicit, but that is up to you.
- The DTO (Data Transfer Object) layer
DTO are elements that group data in order to be transported (to the GUI, a Report, a Message,...)
Again these contain data coming from the lower level, so nothing but derived attributes
- The logical or System Information Model
Here you will find the core data. These are the entities the backend works with like the "account", "order", etc...
[/list]
Between the layers there is a "mapping" e.g. the way the attributes are derived from the layer below.
At my current client we tend to describe only the E2E mapping, so from the field in the GUI/Message/Report to the attribute in the SIM.
You could describe the mapping in EA, but we choose to document that in an external Excel file. (linked to EA to validate the entities/attributes)
Geert