Skip to content

Commit dc676ca

Browse files
authored
Merge pull request #507 from Systems-Modeling/ST6RI-709
ST6RI-709 (Update) Resolutions from SysML v2 FTF Ballot #6
2 parents 325a2d1 + 4398a4f commit dc676ca

1 file changed

Lines changed: 14 additions & 10 deletions

File tree

org.omg.sysml.xtext/src/org/omg/sysml/xtext/validation/SysMLValidator.xtend

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,9 @@ class SysMLValidator extends KerMLValidator {
337337
public static val INVALID_CALCULATION_USAGE_TYPE = "validateCalculationUsageType_"
338338
public static val INVALID_CALCULATION_USAGE_TYPE_MSG = "A calculation must be typed by one calculation definition."
339339

340+
public static val INVALID_ASSERT_CONSTRAINT_USAGE_REFERENCE = "validateAssertConstraintUsageReference"
341+
public static val INVALID_ASSERT_CONSTRAINT_USAGE_REFERENCE_MSG = "Must reference a constraint."
342+
340343
public static val INVALID_CONSTRAINT_USAGE_TYPE = "Invalid Constraint Usage - invalid type"
341344
public static val INVALID_CONSTRAINT_USAGE_TYPE_MSG = "A constraint must be typed by one constraint definition."
342345

@@ -1008,7 +1011,8 @@ class SysMLValidator extends KerMLValidator {
10081011

10091012
@Check
10101013
def checkAssertConstraintUsage(AssertConstraintUsage usg) {
1011-
// TODO: Add/check validateAssertConstraintUsageReference
1014+
// validateAssertConstraintUsageReference
1015+
checkReferenceType(usg, ConstraintUsage, INVALID_ASSERT_CONSTRAINT_USAGE_REFERENCE_MSG, INVALID_ASSERT_CONSTRAINT_USAGE_REFERENCE)
10121016
}
10131017

10141018
@Check
@@ -1054,7 +1058,7 @@ class SysMLValidator extends KerMLValidator {
10541058
@Check
10551059
def checkRequirementDefinition(RequirementDefinition defn) {
10561060
// validateRequirementDefinitionOnlyOneSubject
1057-
checkAtMostOneFeature(defn, SubjectMembership, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT_MSG, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT)
1061+
checkAtMostOneFeature(defn, SubjectMembership, INVALID_REQUIREMENT_DEFINITION_ONLY_ONE_SUBJECT_MSG, INVALID_REQUIREMENT_DEFINITION_ONLY_ONE_SUBJECT)
10581062

10591063
// validateRequirementDefinitionSubjectParameterPosition
10601064
checkSubjectParameter(defn, defn.subjectParameter, defn.input, INVALID_REQUIREMENT_DEFINITION_SUBJECT_PARAMETER_POSITION_MSG, INVALID_REQUIREMENT_DEFINITION_SUBJECT_PARAMETER_POSITION)
@@ -1103,11 +1107,11 @@ class SysMLValidator extends KerMLValidator {
11031107

11041108
@Check
11051109
def checkCaseDefinition(CaseDefinition defn) {
1106-
// validateCaseDefinitionOnlyOneObjective is checked in checkObjectiveMembership
1107-
checkAtMostOneFeature(defn, ObjectiveMembership, INVALID_CASE_USAGE_ONLY_ONE_OBJECTIVE_MSG, INVALID_CASE_USAGE_ONLY_ONE_OBJECTIVE)
1110+
// validateCaseDefinitionOnlyOneObjective
1111+
checkAtMostOneFeature(defn, ObjectiveMembership, INVALID_CASE_DEFINITION_ONLY_ONE_OBJECTIVE_MSG, INVALID_CASE_DEFINITION_ONLY_ONE_OBJECTIVE)
11081112

1109-
// validateCaseDefinitionOnlyOneSubject is checked in checkSubjectMembership
1110-
checkAtMostOneFeature(defn, SubjectMembership, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT_MSG, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT)
1113+
// validateCaseDefinitionOnlyOneSubject
1114+
checkAtMostOneFeature(defn, SubjectMembership, INVALID_CASE_DEFINITION_ONLY_ONE_SUBJECT_MSG, INVALID_CASE_DEFINITION_ONLY_ONE_SUBJECT)
11111115

11121116
// validateCaseDefinitionSubjectParameterPosition
11131117
checkSubjectParameter(defn, defn.subjectParameter, defn.input, INVALID_CASE_DEFINITION_SUBJECT_PARAMETER_POSITION_MSG, INVALID_CASE_DEFINITION_SUBJECT_PARAMETER_POSITION)
@@ -1119,11 +1123,11 @@ class SysMLValidator extends KerMLValidator {
11191123
if (!(usg instanceof AnalysisCaseUsage || usg instanceof VerificationCaseUsage || usg instanceof UseCaseUsage))
11201124
checkOneType(usg, CaseDefinition, INVALID_CASE_USAGE_TYPE_MSG, SysMLPackage.eINSTANCE.caseUsage_CaseDefinition, INVALID_CASE_USAGE_TYPE)
11211125

1122-
// validateCaseDefinitionOnlyOneObjective is checked in checkObjectiveMembership
1126+
// validateCaseDefinitionOnlyOneObjective
11231127
checkAtMostOneFeature(usg, ObjectiveMembership, INVALID_CASE_USAGE_ONLY_ONE_OBJECTIVE_MSG, INVALID_CASE_USAGE_ONLY_ONE_OBJECTIVE)
11241128

1125-
// validateCaseDefinitionOnlyOneSubject is checked in checkSubjectMembership
1126-
checkAtMostOneFeature(usg, SubjectMembership, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT_MSG, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT)
1129+
// validateCaseDefinitionOnlyOneSubject
1130+
checkAtMostOneFeature(usg, SubjectMembership, INVALID_CASE_USAGE_ONLY_ONE_SUBJECT_MSG, INVALID_CASE_USAGE_ONLY_ONE_SUBJECT)
11271131

11281132
// validateCaseUsageSubjectParameterPosition
11291133
checkSubjectParameter(usg, usg.subjectParameter, usg.input, INVALID_CASE_USAGE_SUBJECT_PARAMETER_POSITION_MSG, INVALID_CASE_USAGE_SUBJECT_PARAMETER_POSITION)
@@ -1171,7 +1175,7 @@ class SysMLValidator extends KerMLValidator {
11711175

11721176
@Check
11731177
def checkIncludeUseCaseUsage(IncludeUseCaseUsage usg) {
1174-
// TODO: Add validateIncludeUseCaseUsageReference
1178+
// validateIncludeUseCaseUsageReference
11751179
checkReferenceType(usg, UseCaseUsage, INVALID_INCLUDE_USE_CASE_USAGE_REFERENCE_MSG, INVALID_INCLUDE_USE_CASE_USAGE_REFERENCE)
11761180
}
11771181

0 commit comments

Comments
 (0)