Skip to content

2023-11 - SysML v2 Pilot Implementation

Compare
Choose a tag to compare
@seidewitz seidewitz released this 13 Dec 03:32
· 345 commits to master since this release

This is an incremental update to the 2023-10 release. It corresponds to Eclipse plugin version 0.37.0.

Language Features

  1. Requirement constraint usage bodies. Previously, assume and require declarations in a requirement were themselves syntactically treated like requirements, and, so, could have, e.g., nested subject, assume and require declarations. Howver, assume and require actually declare constraint usages, for which nested declarations specific to requirements are invalid. This has now been changed so that assume and require 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

  1. 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]

  2. 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

  1. 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

  1. JupyterLab installer. Updated the node.js dependency to version 15.* in the Unix/MacOS install.sh script for Jupyter, so that it works with the osx-arm64 architecture (for which a 14.* binary is not available), while still remaining on Jupyter version 2.*.

Bug Fixes

  1. Implicit specialization. Fixed a bug that prevented the removal of some unnecessary implicit specializations.
    [PR #514]
  2. Concern usages. Corrected the improper implicit specialization of non-framed concern usages.
    [PR #514]
  3. Port usages. Corrected the implementation of isComposite for port usages.
    [PR #515]
  4. View rendering usages. Corrected the implicit redefinition of view rendering usages.
    [PR #517]
  5. Function operation expressions. Corrected the parsing of function operation expressions, so they parse as invocation expressions, but not operator expressions.
    [PR #518]
  6. Conjugated direction. Corrected the implementation of Type::directionOf for conjugation. Also updated the derivations of Type::input and Type::output.
    [PR #519]
  7. Alias membership visualization. Updated the PlantUML visualization so that unnamed alias memberships are not rendered.
    [PR #516]