2025-11 - SysML v2 Pilot Implementation
This is an incremental update to the 2025-10 release. It corresponds to Eclipse plugin version 0.54.0.
Language Features
- Control function evaluation. Invocations of the functions
ControlFunctions::collectandControlFunctions::selectcan now be evaluated, which also allows the evaluation of collect expressions (seq.{...}) and select expressions (seq.?{...}). Per the specification, these functions are also model-level evaluable, but, unfortunately, a problem with the current specification of the model-level evaluablity of body expressions (see KERML11-178) prevents them from be used in useful cases in model-level expressions.
[PR #718]
Model Libraries
None.
Backward Incompatibilities
-
Name resolution. Previously, in certain cases a qualified name used as a redefinition target resolved inconsistently in the Eclipse Xtext editor and Jupyter. For example, in the model below, in Eclipse,
x::yinitially resolved toB::x::yin the outline tree view, but was re-resolved toA::x::ybefore validation. In Jupyter, it always resolved toB::x::y, which resulted in a validation error, due toB::x::yredefining itself.item def A { item x { attribute y; } } item def B :> A { item x :>> x { attribute :>> x::y; } }The name resolution algorithm has now been updated so that
x::yalways resolves toA::x::y, in both Eclipse and Jupyter, with no validation error.
[PR #717] -
Model-level evaluable functions. The following functions had previously been implemented as model-level evaluable, but they are not specified as model-level evaluable in the specification. Conformant with the specification, they are now longer model-level evaluable, though they can still be used and evaluated in non-model-level evaluable expressions.
NumericalFunctions::prodNumericalFunctions::sumSequenceFunctions::excludesSequenceFunctions::includesSequenceFunctions::isEmptySequenceFunctions::notEmptySequenceFunctions::sizeStringFunctions::LengthStringFunctions::Substring
[PR #718]
Jupyter
None.
Visualization (PlantUML)
None.
Technical Updates
- Library KPARs. The Maven build has been updated so that the each of the libraries under
sysml.libraryis packaged into a KerML Package Archive (KPAR) file, using a Maven plugin for the Sysand librarian tool. The generated KPAR files are place in thesysml.library/outputdirectory (not committed to the repository). On a release build, the KPAR files are automatically attached as artifacts to the GitHub release.
[PR #713]
Bug Fixes
getDirectedUsage. Fixed the implementation ofDefinition::getDirectedUsage.
[PR #712]- Item usages. Removed the incorrect validation requiring item usages to be typed by only item definitions.
[PR #715] - Constant end features. Corrected the KerML grammar to allow
conston end features.
[PR #716] - Name resolution. Corrected inconsistency in the resolution of qualified names used as redefinition targets.
[PR #717]