2021-03 - SysML v2 Pilot Implementation
This is an incremental update to the 2021-02 release. It corresponds to Eclipse plugin version 0.11.0.
Language features
- Port Types. A port usage had been restricted to being typed by a single port definition. It now may be typed by one or more type definitions (including types inherited through subsetting and redefinition).
- Units Notation. The notation
num[unit]can now be used for quantities with units, rather thannum@[unit]. The old units notationnum@[unit]is now deprecated and should no longer be used. - Tensor and Vector Quantities. The Quantities and Units model library has been extensively updated to allow for tensor and vector quantities. The
QuantityValueattribute definition is now an alias for the most generalTensorQuantityValueattribute definition, which has specializationsVectorQuantityValueandScalarQuantityValue. Similarly,MeasurementReferenceis now an alias forTensorMeasurementReference, which has specializationsVectorMeasurementReferenceandScalarMeasurementReference.MeasurementUnitspecializesScalarMeasurementReference. - Array. A multi-dimensional
Arraytype has been added toCollections, the Kernel Library model of collection types. This is used as the base type forTensorQauntityValueandTensorMeasurementValue.
Backward incompatibilities
- Quantity Values. The definition of
QuantityValuehas been revised to include explicit quantity dimensions relative to a system of units. This effects user models if they define new quantity values. However, for most previous usages of quantities and standard units, user models should be unaffected. - Quantities. The quantity attribute
Quantities::quantityhas been renamed toQuantities::quantities, and it is now an alias fortensorQuantities. For scalar quantities, useQuantities::scalarQuantities. - SpeedValue. The quantity definition
VelocityValuehas been renamedSpeedValue, which is aScalarQuantityValue, with corresponding quantityspeed. For vector velocity quantities, use the new quantity definitionCartesian3dVelocityVector(aVectorQuantityValuewith aCartesian3dVelocityCoordinateSystem) and corresponding quantityvelocityVector. (These elements are all available from theISQpackage, re-exported fromISQSpaceTime.) - Integer Division. The return type of the
IntegerFunctions::'/'function is nowRationalinstead ofInteger. - Collections. The library packages
NonScalarValuesandNonScalarFunctionshave been renamedCollectionsandCollectionFunctions. - Sampled Functions. The data type
NonScalarValue::SampledFunctionValueis nowCollections::SampledFunction. It's definition has also changed having two multivalued attributes for domain and range values to a single multivalued attributesamples, each element of which has adomainValueand arangeValue.
Visualization
- Tom Sawyer
- Implemented the visualization of variations and variants.
- Implemented the visualization of variations and variants.
- PlantUML
- Added a help option to the
%vizcommand.%viz -hnow produces a brief description of usage and options.
- Added a help option to the
Bug Fixes
- ISQ Units. Removed certain redundant ISQ unit definitions.
- PlantUML. Fixed a possible stack overflow due to circular import of a definition element.
- Deployment. Fixed build failure when deploying from a release-tagged commit.
Technical Improvements
- Implicit Generalization. The code for creating implicit generalizations and computed redefinitions has been moved out of the EMF
Implclasses into the adapter classes previously created for performing transformations. - Conda Publishing. The Jupyter kernel for SysML is now published to Conda for each release. This is then used by the Jupyter installer distributed in the release.