2023-11 - SysML v2 Pilot Implementation
This is an incremental update to the 2023-10 release. It corresponds to Eclipse plugin version 0.37.0.
Language Features
- Requirement constraint usage bodies. Previously,
assume
andrequire
declarations in a requirement were themselves syntactically treated like requirements, and, so, could have, e.g., nestedsubject
,assume
andrequire
declarations. Howver,assume
andrequire
actually declare constraint usages, for which nested declarations specific to requirements are invalid. This has now been changed so thatassume
andrequire
declarations can only have bodies consistent with regular constraint usages.
[PR #511]
Note. Several issues related to language bug fixes, with resolutions recently approved by the KerML and SysML v2 FTFs, were already implemented in the 2023-10 release.
Model Libraries
-
KerML. Various models in the Kernel Model Libraries have been updated consistent with the resolutions to the following KerML FTF issues. (Note that some issue resolutions recently approved by the FTF, related to the model libraries that, were already implement in the 2023-10 release.)
- KERML-38 Binary association ends always unique
- KERML-42 Occurrences can be data values
- KERML-43 Performances can be objects, behaviors can be structures
- KERML-56 Universal features can have many values
- KERML-77 Problems with IfThenElsePerformance
- KERML-88 BaseFunctions::',' has a bad parameter declaration
- KERML-188 DataFunctions::Min and Max should not be capitalized
- KERML-198 Wrong documentation format for class Occurrence in Semantic Library
- KERML-227 Documentation of features in Transfers library model is wrong
[PR #520]
-
SysML. Various models in the Systems and Domain Model Libraries have been updated consistent with the resolutions to the following SysML v2 FTF issues. (Note that some issue resolutions recently approved by the FTF, related to the model libraries that, were already implement in the 2023-10 release.)
- SYSML2-79 View::viewpointSatisfactions should subset viewpointChecks and checkedConstraints
- SYSML2-83 Narrow down return types of SpatialItem::PositionOf and ::CurrentPositionOf
- SYSML2-102 Semantic constraint for target of AssignmentActionUsage is missing
- SYSML2-219 Action::decisionTransitions should subset Action::transitions
- SYSML2-305 Message and flow connection ends should be occurrence usages [fully implemented]
- SYSML2-490 Actions::acceptSubactions and sendSubactions should subset acceptActions and sendActions
[PR #521]
An additional change was also made consistent with the proposed resolution to the following issue, which has not yet been approved by the FTF.
- SYSML2-182 Universal features can have many value
[PR #522]
Backward Incompatibilities
- Requirement constraint usages. Certain erroneous declarations in the bodies of requirement constraint usages will now be reported as syntax errors rather than validation errors. But there is no effective change in functionality.
Jupyter
None.
Visualization
Bug fixes.
Technical Updates
- JupyterLab installer. Updated the node.js dependency to version
15.*
in the Unix/MacOSinstall.sh
script for Jupyter, so that it works with theosx-arm64
architecture (for which a14.*
binary is not available), while still remaining on Jupyter version2.*
.
Bug Fixes
- Implicit specialization. Fixed a bug that prevented the removal of some unnecessary implicit specializations.
[PR #514] - Concern usages. Corrected the improper implicit specialization of non-framed concern usages.
[PR #514] - Port usages. Corrected the implementation of
isComposite
for port usages.
[PR #515] - View rendering usages. Corrected the implicit redefinition of view rendering usages.
[PR #517] - Function operation expressions. Corrected the parsing of function operation expressions, so they parse as invocation expressions, but not operator expressions.
[PR #518] - Conjugated direction. Corrected the implementation of
Type::directionOf
for conjugation. Also updated the derivations ofType::input
andType::output
.
[PR #519] - Alias membership visualization. Updated the PlantUML visualization so that unnamed alias memberships are not rendered.
[PR #516]