invStaticQuantifiers('All \'DataUse\'s specified as \'quantifier\'s shall be effectively static.'+self.toString()):
@@ -155,7 +157,9 @@ context DataElementMapping
-- All parameters shall be mapped
invParameterMappings('If the \'mappableDataElement\' refers to a \'StructuredDataType\', an \'Action\' or a \'Function\' definition, all the \'Parameters\' contained in the \'mappableDataElement\' shall be mapped.'+self.toString()):
-- Type of the 'value' shall conform to the type of the 'SimpleDataInstance'
invMatchingValueDataType('The \'DataType\' of the \'DataUse\' of \'value\' shall conform to the \'DataType\' of the \'SimpleDataInstance\'.'+self.toString()):
invOmitValueSimpleDataInstance('A \'value\' of a \'SimpleDataInstance\' shall have a \'DataUse\' specification assigned to it that is different from \'OmitValue\' and \'AnyValueOrOmit\'.'+self.toString()):
-- [Figure 6.5: Procedure and procedure parameter]
contextFormalParameter
-- Type of the 'value' shall conform to the type of the 'FormalParameter'
invMatchingValueDataTypeFormalParameter('The \'DataType\' of the \'DataUse\' of \'value\' shall conform to the \'DataType\' of the \'SimpleDataInstance\'.'+self.toString()):
invVariableUseComponentRole('All variables used in a \'DataUse\' specification via a \'VariableUse\' shall be local to the same \'componentInstance\' and the \'componentInstance\' shall be in the role \'Tester\'.'+self.toString()):
--applicable on 'LocalExpression', 'VariableUse', 'TimeOperation', and 'ActionBehaviour',
--returns the 'ComponentInstance' specified for the element or the 'defaultTester' from the nearest containing 'Block' that has the 'defaultTester' specified.
-- Known 'componentInstance' for 'Variable'
invVariableUseComponent('The effective component shall be known.'+self.toString()):
notself.effectiveComponent().oclIsUndefined()
@@ -437,7 +474,7 @@ context LiteralValueUse
-- Integer type for integer value
invLiteralValueIntType('If \'intValue\' is specified then the \'dataType\' is either unspecified or the specified \'DataType\' is instanceof of \'Time\' or conforms to predefined type \'Integer\'.'+self.toString()):
invLiteralValueIntType('If \'intValue\' is specified then the \'dataType\' is either unspecified or the specified \'DataType\' is instance of \'Time\' or conforms to predefined type \'Integer\'.'+self.toString()):
invTimerComponent('The effective component shall be known.'+self.toString()):
notself.effectiveComponent().oclIsUndefined()
@@ -605,10 +648,10 @@ context GateReference
-- Named 'GateReference's
invNamedGateReferences('The names of \'GateReference\'s that in turn refer to identical pairs of \'GateInstance\'/\'ComponentInstance\' within a \'TestConfiguration\' shall be identical and the names of \'GateReference\'s that in turn refer to different pairs of \'GateInstance\'/\'ComponentInstance\' shall be different.'+self.toString()):
-- Guard for each participating tester in locally ordered test descriptions
invGuardsForParticipatingComponents('If the \'Block\' is contained in a locally ordered \'TestDescription\' then exactly one guard shall be specified for every participating \'ComponentInstance\' in the associated \'TestConfiguration\' that has the role \'Tester\' or there shall be no guards at all. '+self.toString()):
invGuardsForParticipatingComponents('If the \'Block\' is contained in a locally ordered \'TestDescription\' then a single effectively static guard shall be specified or exactly one guard shall be specified for every participating \'ComponentInstance\' in the associated \'TestConfiguration\' that has the role \'Tester\' or there shall be no guards at all. '+self.toString()):
invDefaultTesterRole('If the \'defaultTester\' is specified, the corresponding \'ComponentInstance\' shall have the role \'Tester\'. '+self.toString()):
-- Local expressions in locally ordered test descriptions have 'ComponentInstance' specified
invLocalExpressionComponent('If the \'LocalExpression\' is contained in a locally ordered \'TestDescription\' then the componentInstance shall be specified. '+self.toString()):
invLocalExpressionComponent('If the \'LocalExpression\' is contained in a locally ordered \'TestDescription\' then the expression shall be effectively static or the componentInstance shall be specified. '+self.toString()):
-- Only local variables and time labels in case of locally ordered test description
@@ -720,9 +768,10 @@ context BoundedLoopBehaviour
-- Iteration count in locally ordered test descriptions
invIterationCountsForParticipatingComponents('If the \'BoundedLoopBehaviour\' is contained in a locally ordered \'TestDescription\' then a numIteration shall be specified for every participating \'ComponentInstance\' that has the role \'Tester\'.'+self.toString()):
invIterationCountsForParticipatingComponents('If the \'BoundedLoopBehaviour\' is contained in a locally ordered \'TestDescription\' then a single effectively static numIteration shall be specified or exactly one numIteration shall be specified for every participating \'ComponentInstance\' that has the role \'Tester\'.'+self.toString()):
invAlternativeBlocksComponent('If the containing \'TestDescription\' is locally ordered then all \'Block\'s shall start with a tester-input event of the same \'ComponentInstance\'. '+self.toString()):
invAlternativeBehaviourParticipation('If the \'AlternativeBehaviour\' is contained in a locally ordered \'TestDescription\' then no other tester \'ComponentInstance\' shall participate in any block than the target of the first tester-input event and \'ComponentInstance\'s participating in blocks of contained \'OptionalBehaviour\'s. '+self.toString()):
invOptionalAlternativeBehaviour('A block of an \'AlternativeBehaviour\' if the containing \'TestDescription\' is locally ordered, shall only contain \'OptionalBehaviour\'(s) whose source \'ComponentInstance\' is the same as the target of the first tester-input event of that \'Block\'. '+self.toString()):
invExceptionalGuardedandTargetComponent('If the containing \'TestDescription\' is locally ordered and guardedComponent is specified then the \'Block\'s shall start with tester-input event of the same \'ComponentInstance\' as specified in guardedComponent. '+self.toString()):
invExceptionalBehaviourParticipation('If the \'ExceptionalBehaviour\' is contained in a locally ordered \'TestDescription\' then no other tester \'ComponentInstance\' shall participate in any block than the target of the first tester-input event and \'ComponentInstance\'s participating in blocks of contained \'OptionalBehaviour\'s . '+self.toString()):
invOptionalExceptionalBehaviour('A block of an \'ExceptionalBehaviour\' if the containing \'TestDescription\' is locally ordered, shall only contain \'OptionalBehaviour\'(s) whose source \'ComponentInstance\' is the same as the target of the first tester-input event of that \'Block\'. '+self.toString()):
-- Period for each tester in locally ordered test descriptions
invPeriodForParticipatingComponents('If the \'PeriodicBehaviour\' is contained in a locally ordered \'TestDescription\' then a period shall be specified for every \'ComponentInstance\' that has the role \'Tester\' and for which there is a behaviour in the contained \'Block\'. '+self.toString()):
invPeriodForParticipatingComponents('If the \'PeriodicBehaviour\' is contained in a locally ordered \'TestDescription\' then a single effectively static period shall be specified or exactly one period shall be specified for every \'ComponentInstance\' that has the role \'Tester\' and for which there is a behaviour in the contained \'Block\'. '+self.toString()):
invAssignedProcedureParameter('If the \'parameter\' is specified then it shall be contained in the \'ProcedureSignature\' that is referred in the \'signature\' ot the \'ProcedureCall\' containing this \'ValueAssignment\'.'+self.toString()):
invAssignedProcedureParameter('If the \'parameter\' is specified then it shall be contained in the \'ProcedureSignature\' that is referred in the \'signature\' of the \'ProcedureCall\' containing this \'ValueAssignment\'.'+self.toString()):