2022-01 - SysML v2 Pilot Implementation
This is an incremental update to the 2021-12 release. It corresponds to Eclipse plugin version 0.20.0.
Language Features
KerML
- Return parameters. It is now possible to mark a parameter declared in a function body as the
returnparameter in the KerML textual notation (as was already possible in SysML).
SysML
-
Accept actions. The notation for accept actions (used either within an action model or in a transition) has been updated to allow the payload parameter to be declared with a feature value or incoming flow. In this case, an accepted transfer must have a payload identical to the bound or flowed value.
acceptpayloadName:PayloadType=valueExpression;acceptpayloadName:PayloadTypeflow fromsource;
Note. The syntactic form
acceptPayloadType;, without a colon in the payload declaration, is still allowed and still represents a declaration of the payload type, not its name. A binding or flow cannot be included in a declaration of this form. -
Change triggers. A change trigger of the form
whenchangeConditioncan now be used in place of a feature value in a payload declaration. ThechangeConditionmust be a Boolean-valued expression, and the trigger fires when the expression result changes from false to true (or if the result is true when first evaluated).acceptpayloadName:PayloadTypewhenchangeCondition;
Note. The explicit declaration of the payload parameter is optional, allowing the simple form
accept whenchangeCondition;. The formacceptpayloadNamewhenchangeCondition;is also allowed, but this represents a declaration of the payload name, not its type. -
Time triggers. A time trigger of the form
attimeExpressionorafterdurationExpressioncan now be used in place of a feature value in a payload declaration. ThetimeExpressionmust result in aTimeInstantValue, and the trigger fires at that time (relative to the default clock). ThedurationExpressionmust result in aDurationValue, and the trigger fires after the elapse of that duration (on the default clock).acceptpayloadName:PayloadTypeattimeExpression;acceptpayloadName:PayloadTypeafterdurationExpression;
Note. Simplified payload declarations are allowable for time triggers, similarly to change triggers.
Model Library
- FeatureReferencePerformances. The Kernel Library package
FeatureAccessPerformanceshas been renamed toFeatureReferencingPerformances, and the following behaviors have been added to it:FeatureMonitorPerformanceEvaluationResultMonitorPerformanceBooleanEvaluationResultMonitorPerformanceBooleanEvaluationResultToMonitorPerformance
- Clocks and Triggers. The following packages have been added to the Kernel Library:
Observation– models monitoring for change and notifying registered observers.Clocks– models clocks that provide a current time reference, with functions for getting the time and duration of an Occurrence relative to a clock.Triggers– provides convenience functions for creating monitored change signals for change triggers, absolute time triggers and relative time triggers.
- Time. A specialization of the Kernel
Clockmodel has been added to the Quantities and Units LibraryTimepackage, using time instant and duration quantity values. - SI.
ScalarQuantityValuein the Quantities and Units LibraryQuantitiespackage is now a specialization ofNumericalValueinstead ofScalarValue.
Backward Incompatibilities
- Keywords.
- KerML: Added: return
- SysML: Added: when at after
- FeatureReferencePerformances. The Kernel Library package
FeatureAccessPerformanceshas been renamed toFeatureReferencingPerformances. - SI. The Quantities and Units Library package
SIno longer importsQuantityCalculations. These means that theSIpackage no longer re-exports the the calculation definitions fromQuantityCalculationsor various other members re-exported fromQuantityCalculations(such as fromScalarValuesandQuantities). - Time. The order of the public owned features of the
Iso8601DateTimeandIso8601DateTimeStructurecalculation definitions in the Quantities and Units Library has been changed so the non-redefining parameters come first (allowing a more natural use of positional argument notation when invoking these calculations). - USCustomaryUnits. Units other than actual US customary units have been removed from this package.
Jupyter
None.
Visualization
- PlantUML
- Imports (both element and package, recursive or not) are now rendered using the dashed arrow notation. A new option, SHOWIMPORTED, has been added which shows imported elements as well as the traversed elements.
- Imports (both element and package, recursive or not) are now rendered using the dashed arrow notation. A new option, SHOWIMPORTED, has been added which shows imported elements as well as the traversed elements.
- Tom Sawyer
None.
Technical Updates
None.
Bug Fixes
- KerML relationship notation. Fixed the KerML grammar so that
- A Relationship that is an owned related element of another relationship can have unowned related Eeements.
- A Relationship can have only owned related elements.
- All owned related elements of a relationship are added to its targets.