2021-11 - SysML v2 Pilot Implementation
This is an incremental update to the 2021-10 release. It corresponds to Eclipse plugin version 0.18.0.
Language features
-
Assignment actions. An assignment action is used to change the value of a feature at the time of performance of the action.
-
Assignment to feature in scope. Assigns the result of
valueExpressionto the feature with afeatureNamein the current scope.assignfeatureName:=valueExpression;Example:
assigncurrentStatus := StatusEnum::Nominal; -
Assignment to feature of a target occurrence. Assigns the result of a
valueExpressionto the feature with namefeatureNameof the occurrence that is the result of atargetExpression.assigntargetExpression.featureName:=valueExpression;Example:
assigntrailer.trailerFrame.coupler := vehicle.hitch;Note: In this case the
targetExpressionis the path step expressiontrailer.trailerFrame, and thevalueExpressionis also a path step expression,vehicle.hitch. ThefeatureNameiscoupler.
-
-
Initial values. An initial value is specified when declaring a feature similarly to a bound value, but using the symbol
:=rather than=. The feature is set to the specified initial value at the start of the lifetime of its containing occurrence, and, unlike if a bound value was specified, the initial value can be subsequently changed using an assignment action.attributecount : Integer := 0;It is also possible to mark an initial value as a default, in which case it may be overridden in a redefinition of the feature.
itemsensordefault:= primarySensor; -
Invocation using feature chains. Feature chains can now be used as the target of invocation expressions.
directory.addressOf(userName) -
Implicit typing. If a feature is declared without an explicit feature typing, but with a feature value, then the feature is implicitly typed by the result type of the feature value expression.
attributecolor = ColorEnum::red; // color implicity has type ColorEnum.Note that this also works if the feature value is initial and/or default.
Model Library
- AssignmentAction. Added the action definition
AssignmentActionand the action usageassignmentActionsto the SysMLActionsmodel library.
Backward incompatibilities
-
Keywords. SysML: Added: assign.
-
Risk metadata. The enumerated values for the
LevelEnumandRiskLevelEnumin theRiskMetadatamodel have been renamed fromL,M,Htolow,medium,high. -
Trade studies. The calculation definition
ObjectiveFunctionin theTradeStudiesmodel has been renamedEvaluationFunctionand the corresponding calculation featureTradeStudy::objectiveFunctionhas been renamedevaluationFunction. -
Enumerations. Previously, if a feature was typed by an enumeration definition, then the name of an enumerated value from the definition could be used as a feature value without qualification. However, it is now necessary to qualify the name, unless it has otherwise been imported into the local namespace.
attributecolor : ColorEnum = ColorEnum::red; // Qualification is necessary.
Jupyter
None.
Visualization
- PlantUML
- Added new view for cases, including analysis cases, verification cases and use cases.
- Added special rendering for actors and stakeholders in the tree view.
- Added compartment rendering for connections.
- Corrected the rendering of flow connections in the interconnection view.
- Tom Sawyer
- Implemented visualization of "proxy" connections and connection points.
- Implemented a view that combines aspects of a tree and a nesting view, through actions that expand single nodes as nesting or as a tree.
Technical Updates
- Eclipse. Updated the development baseline to Eclipse version 2021-09.
Bug Fixes
- Variations. Declaring a case (of any kind) to be a variation no longer results in a spurious "A variation must only have variant owned members." error.
- Protected visibility. Fixed the resolution of the name of an inherited member with
protectedvisibility when referenced in a nested scope. Also updated handling of protected visibility to conform to the current specification that resolution of qualified names requires that all segments but the first havepublicvisibility. - Feature value scoping. Names in feature value expressions are now resolved starting with the scope of the owning namespace of the corresponding feature declaration, not in the scope of the feature itself, eliminating anomalous resolution to members of the feature. (Note, however, that this causes the backwards incompatibility for enumerations described above.)
- Metadata visualization. For PlantUML, fixed the visualization of feature chains used to specify a metadata feature.
- Requirement constraints. For PlantUML, fixed the visualization of
requireandassumeconstraints in the constraint compartment of a requirement definition or usage.