2023-10 - SysML v2 Pilot Implementation
This is an incremental update to the 2023-08 release. It corresponds to Eclipse plugin version 0.36.0. (There was no 2023-09 release.)
Language Features
-
New KerML validation constraints. Checks have been implemented for the following new constraints, applying to both KerML and SysML:
validateRedefinitionDirectionConformance– If theredefinedFeatureof aRedefinitionhasdirectioninorout, then theredefiningFeaturemust have the samedirection. If theredefinedFeaturehasdirectioninout, then theredefiningFeaturemust have a non-nulldirection.validateExpressionResultExpressionMembership– AnExpressionmust have at most oneResultExpressionMembership.validateFunctionResultExpressionMembership– AFunctionmust have at most oneResultExpressionMembership.validateFeatureValueOverriding– AllFeaturesdirectly or indirectly redefined by thefeatureWithValueof aFeatureValuemust have only defaultFeatureValues.
[PR #504]
-
New SysML validation constraints. Checks have been implemented for the following new constraints, applying only to SysML:
validateAssignmentActionUsageArguments– AnAssignmentActionUsagemust have two argumentExpressions.validateAssignmentActionUsageReferent– AnAssignmentActionUsagemust have anownedMembershipthat is not anOwningMembershipand whosememberElementis aFeature.validateForLoopActionUsageLoopVariable– The firstownedFeatureof aForLoopActionUsagemust be aReferenceUsage.validateForLoopActionUsageParameters– AForLoopActionUsagemust have two ownedinputparameters.validateIfActionUsageParameters– AnIfActionUsagemust have at least two ownedinputparameters.validateWhileLoopActionUsage– AWhileLoopActionUsagemust have at least two ownedinputparameters.validateTriggerInvocationExpressionAfterArgument– If aTriggerInvocationExpressionhaskind = after, then it must have an argumentExpressionwith aresultthat conforms to the typeISQ::DurationValue.validateTriggerInvocationExpressionAtArgument– If aTriggerInvocationExpressionhaskind = at, then it must have an argumentExpressionwith aresultthat conforms to the typeTime::TimeInstantValue.validateTriggerInvocationExpressionWhenArgument– If aTriggerInvocationExpressionhaskind = when, then it must have an argumentExpressionwith aresultthat conforms to the typeScalarValues::Boolean.validateAssertConstraintUsageReference– If anAssertConstraintUsagehas anownedReferenceSubsetting, then itsreferencedFeaturemust be a ConstraintUsage.validateSatisfyRequirementUsageReference– If aSatisfyRequirementUsagehas anownedReferenceSubsetting, then itsreferencedFeaturemust be aRequirementUsage.
[PR #506]
-
Feature values on connections. The textual notation now supports declaring connection usages and interface usages with feature values:
abstract connectionc1;
abstract connectionc2 = c1; // Previously did not parse.
connectionc3 = c1connecta to b; // Previously did not parse.[PR #505]
-
View renderings. The notation for a view rendering usage has been extended to allow the rendering to be defined locally within the containing view, rather than just allowing rendering by reference.
render renderingname : Def [m] ... ;The previous notation
renderr; then effectively becomes a shorthand forrender rendering referencesr;.[PR #505]
Model Libraries
Various library models have been updated to correct violations of new KerML validation constraints, as reported in the following KerML and SysML v2 FTF issues. Note, however, that the resolutions of these issues have not yet been approved by the FTFs and, therefore, are subject to change.
[PR #504]
KerML Issues
- KERML-182 Update Kernel Semantic Library for validateRedefinitionDirectionConformance
- KERML-184 Update Kernel Model Libraries for validateFeatureValueOverriding constraint
- KERML-186 Update semantic model of invariants for validateExpressionResultExpressionMembership constraint
SysML v2 Issues
- SYSML2-491 KerML constraint requires updates to Systems Library models
- SYSML2-492 KerML constraint requires updates to Domain Library models
Backward Incompatibilities
- Validation constraints. The newly implemented validation constraints (particularly
validateRedefinitionDirectionConformanceandvalidateFeatureValueOverriding) may cause some models that previously passed validation to now fail.
Jupyter
None.
Visualization
-
PlantUML
None. -
Tom Sawyer
None.
Technical Updates
None.
Bug Fixes
Bugs reported in the following KerML and SysML v2 issues have been fixed (or mitigated) in this release. Note, however, that the resolutions to these issues have not yet been approved by the FTFs and, therefore, are subject to change.
KerML Issue
- KERML-154 Directed features inherited from a conjugated type not handled properly
[PR #504]
SysML v2 Issues
- SYSML2-495 Textual notation BNF for TriggerExpression is wrong
- SYSML2-497 validateTriggerInvocationExpressionAfterArgument constraint is too strong
- SYSML2-498 validateTriggerInvocationExpressionWhenArgument constraint is wrong
- SYSML2-499 Assignments parsed without a target will fail validateAssignmentActionUsageArguments
- SYSML2-500 The derivation of AssignmentActionUsage::referent is wrong
[PR #506]