Skip to content

Commit

Permalink
Merge pull request #507 from Systems-Modeling/ST6RI-709
Browse files Browse the repository at this point in the history
ST6RI-709 (Update) Resolutions from SysML v2 FTF Ballot #6
  • Loading branch information
seidewitz authored Nov 4, 2023
2 parents 325a2d1 + 4398a4f commit dc676ca
Showing 1 changed file with 14 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,9 @@ class SysMLValidator extends KerMLValidator {
public static val INVALID_CALCULATION_USAGE_TYPE = "validateCalculationUsageType_"
public static val INVALID_CALCULATION_USAGE_TYPE_MSG = "A calculation must be typed by one calculation definition."

public static val INVALID_ASSERT_CONSTRAINT_USAGE_REFERENCE = "validateAssertConstraintUsageReference"
public static val INVALID_ASSERT_CONSTRAINT_USAGE_REFERENCE_MSG = "Must reference a constraint."

public static val INVALID_CONSTRAINT_USAGE_TYPE = "Invalid Constraint Usage - invalid type"
public static val INVALID_CONSTRAINT_USAGE_TYPE_MSG = "A constraint must be typed by one constraint definition."

Expand Down Expand Up @@ -1008,7 +1011,8 @@ class SysMLValidator extends KerMLValidator {

@Check
def checkAssertConstraintUsage(AssertConstraintUsage usg) {
// TODO: Add/check validateAssertConstraintUsageReference
// validateAssertConstraintUsageReference
checkReferenceType(usg, ConstraintUsage, INVALID_ASSERT_CONSTRAINT_USAGE_REFERENCE_MSG, INVALID_ASSERT_CONSTRAINT_USAGE_REFERENCE)
}

@Check
Expand Down Expand Up @@ -1054,7 +1058,7 @@ class SysMLValidator extends KerMLValidator {
@Check
def checkRequirementDefinition(RequirementDefinition defn) {
// validateRequirementDefinitionOnlyOneSubject
checkAtMostOneFeature(defn, SubjectMembership, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT_MSG, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT)
checkAtMostOneFeature(defn, SubjectMembership, INVALID_REQUIREMENT_DEFINITION_ONLY_ONE_SUBJECT_MSG, INVALID_REQUIREMENT_DEFINITION_ONLY_ONE_SUBJECT)

// validateRequirementDefinitionSubjectParameterPosition
checkSubjectParameter(defn, defn.subjectParameter, defn.input, INVALID_REQUIREMENT_DEFINITION_SUBJECT_PARAMETER_POSITION_MSG, INVALID_REQUIREMENT_DEFINITION_SUBJECT_PARAMETER_POSITION)
Expand Down Expand Up @@ -1103,11 +1107,11 @@ class SysMLValidator extends KerMLValidator {

@Check
def checkCaseDefinition(CaseDefinition defn) {
// validateCaseDefinitionOnlyOneObjective is checked in checkObjectiveMembership
checkAtMostOneFeature(defn, ObjectiveMembership, INVALID_CASE_USAGE_ONLY_ONE_OBJECTIVE_MSG, INVALID_CASE_USAGE_ONLY_ONE_OBJECTIVE)
// validateCaseDefinitionOnlyOneObjective
checkAtMostOneFeature(defn, ObjectiveMembership, INVALID_CASE_DEFINITION_ONLY_ONE_OBJECTIVE_MSG, INVALID_CASE_DEFINITION_ONLY_ONE_OBJECTIVE)

// validateCaseDefinitionOnlyOneSubject is checked in checkSubjectMembership
checkAtMostOneFeature(defn, SubjectMembership, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT_MSG, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT)
// validateCaseDefinitionOnlyOneSubject
checkAtMostOneFeature(defn, SubjectMembership, INVALID_CASE_DEFINITION_ONLY_ONE_SUBJECT_MSG, INVALID_CASE_DEFINITION_ONLY_ONE_SUBJECT)

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

// validateCaseDefinitionOnlyOneObjective is checked in checkObjectiveMembership
// validateCaseDefinitionOnlyOneObjective
checkAtMostOneFeature(usg, ObjectiveMembership, INVALID_CASE_USAGE_ONLY_ONE_OBJECTIVE_MSG, INVALID_CASE_USAGE_ONLY_ONE_OBJECTIVE)

// validateCaseDefinitionOnlyOneSubject is checked in checkSubjectMembership
checkAtMostOneFeature(usg, SubjectMembership, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT_MSG, INVALID_REQUIREMENT_USAGE_ONLY_ONE_SUBJECT)
// validateCaseDefinitionOnlyOneSubject
checkAtMostOneFeature(usg, SubjectMembership, INVALID_CASE_USAGE_ONLY_ONE_SUBJECT_MSG, INVALID_CASE_USAGE_ONLY_ONE_SUBJECT)

// validateCaseUsageSubjectParameterPosition
checkSubjectParameter(usg, usg.subjectParameter, usg.input, INVALID_CASE_USAGE_SUBJECT_PARAMETER_POSITION_MSG, INVALID_CASE_USAGE_SUBJECT_PARAMETER_POSITION)
Expand Down Expand Up @@ -1171,7 +1175,7 @@ class SysMLValidator extends KerMLValidator {

@Check
def checkIncludeUseCaseUsage(IncludeUseCaseUsage usg) {
// TODO: Add validateIncludeUseCaseUsageReference
// validateIncludeUseCaseUsageReference
checkReferenceType(usg, UseCaseUsage, INVALID_INCLUDE_USE_CASE_USAGE_REFERENCE_MSG, INVALID_INCLUDE_USE_CASE_USAGE_REFERENCE)
}

Expand Down

0 comments on commit dc676ca

Please sign in to comment.