Changes for plugins/org.etsi.mts.tdl.model/model/tdl-constraints.ocl: 15 added lines, 0 removed lines.
Original line number
Diff line number
Diff line
@@ -210,6 +210,13 @@ context StructuredDataType
self.allMembers()->isUnique(e|e.name)
-- Refined 'Member' of the 'StructuredDataType'
invRefineExistingMemberOfDataType('The refined \'Member\'s shall be inherited by the \'StructuredDataType\'.'+self.toString()):
self.memberRefinement->forAll(a|
self.allMembers()->includes(a.member)and
self.member->excludes(a.member))
contextStructuredDataInstance
@@ -324,6 +331,14 @@ context EnumDataType
contextMemberRefinement
-- Only optional 'Member's can be made mandatory
invOptionalToMandatoryMembers('The \'isMandatory\' property of a \'MemberRefinement\' shall be true only for optional \'Member\'s.'+self.toString()):
self.isMandatoryimpliesself.member.isOptional
contextDataUse
-- Occurrence of 'argument' and 'reduction'
invArgumentReductionLists('Only in case of a \'FunctionCall\', or a \'DataElementUse\' which refers to a \'Function\', both the \'argument\' list and the \'reduction\' list may be provided, otherwise either the \'argument\' list, the \'reduction\' list, or none of them shall be provided.'+self.toString()):
<detailskey="DistinguishableMemberNames$message"value="'All \'Member\' names of a \'StructuredDataType\' (including the names of inherited \'Members\') shall be distinguishable.' + self.toString()"/>
<detailskey="RefineExistingMemberOfDataType$message"value="'The refined \'Member\'s shall be inherited by the \'StructuredDataType\'.' + self.toString()"/>
<detailskey="OptionalToMandatoryMembers$message"value="'The \'isMandatory\' property of a \'MemberRefinement\' shall be true only for optional \'Member\'s.' + self.toString()"/>