This PR implements the resolution to the following issue, as approve in SysML v2 FTF ballot #8:
SYSML2-467 RequirementConstraintUsage should not have a RequirementBody
Specifically:
Previously, the textual notation production RequirementConstraintUsage allowed a require or assume declaration to have a RequirementBody, even though the production produced a ConstraintUsage, for which requirement-specific nested declarations are not actually allowed. This has now been changed to a CalculationBody, which is what is used in other productions for ConstraintUsages.
The ConstraintUsageAdapter no longer physically inserts subject features into requirements constraints (which was not consistent with the specification).
SysMLValidator::checkSubjectMembership no longer makes an exception to validateSubjectMembershipOwningType for requirement constraints.
This means that it is now syntax error to have subject, require and assume declarations in the bodies of requirement constraints in all cases. (In some cases, require and assume declarations were syntactically allowed previously, but still violated the validateRequirementConstraintMembershipOwningType constraint.)
This PR implements the resolution to the following issue, as approve in SysML v2 FTF ballot #8:
SYSML2-467 RequirementConstraintUsage should not have a RequirementBody
Specifically:
RequirementConstraintUsage
allowed arequire
orassume
declaration to have aRequirementBody
, even though the production produced aConstraintUsage
, for which requirement-specific nested declarations are not actually allowed. This has now been changed to aCalculationBody
, which is what is used in other productions forConstraintUsages
.ConstraintUsageAdapter
no longer physically inserts subject features into requirements constraints (which was not consistent with the specification).SysMLValidator::checkSubjectMembership
no longer makes an exception tovalidateSubjectMembershipOwningType
for requirement constraints.This means that it is now syntax error to have
subject
,require
andassume
declarations in the bodies of requirement constraints in all cases. (In some cases,require
andassume
declarations were syntactically allowed previously, but still violated thevalidateRequirementConstraintMembershipOwningType
constraint.)