Source: VDMbee ( Henk de Man)
A ValueElement can be "typed" by reference to ValueDefinition. ValueElements can be aggregated flexibly, whereby a ValueElement can be aggregated from ValueElements of the same "type", as well as of different "types". It would be better to have an option to enforce whether or not a ValueElement can be aggregated from ValueElements of the same "type".
Reported: VDML 1.0b1 — Mon, 24 Nov 2014 09:12 GMT
Disposition: Resolved — VDML 1.0
Add optional attribute to ValueElement, to help constraining value aggregation
Add attribute "isAtomic: Boolean [0..1] = true" to ValueElement.
Semantics: "When a ValueElement isAtomic, this means that it is a leaf in the structure of aggregation of ValueElements of the same type of value (i.e. of ValueElements that refer to the same ValueDefinition in the ValueLibrary). When a ValueElement is not atomic (i.e. isAtomic equals "false"), this means that it is an internal node in the structure of aggregation of ValueElements of the same type of value."
Add three constraints also:
1) "When valueDefinition of a ValueElement is empty, isAtomic MUST be empty also".
2) "The valueDefinition of a ValueElement that isAtomic MUST be different from the valueDefinition of aggregatedFrom of the ValueElement".
3) “At least one of the ValueDefinition-referring aggregatedFrom of a non-atomic (i.e., for which isAtomic equals “false”) ValueElement MUST refer to the same ValueDefinition as that non-atomic ValueElement refers to.”
Note: Though the system would be able to show this distinction for complete models, even without this attribute, it would not be able to do so during the development of models. Hence the attribute is introduced to ensure consistency.
Updated: Wed, 8 Jul 2015 11:44 GMT