2022-02 - SysML v2 Pilot Implementation
This is an incremental update to the 2022-01 release. It corresponds to Eclipse plugin version 0.21.0.
Language Features
- Feature chain expressions. Expressions of the form
expr.x.y.zthat were previously parsed as path step expressions are now parsed in a slightly simpler and more semantically correct way as feature chain expressions.
Model Library
Kernel Library
- Occurrences
- Added modeling for spatial aspects of
Occurrenceand for constructive relations on occurrences of union, intersection and difference. - Added associations to represent spatial relationships
SpaceSliceOf,SpaceShotOfandOutsideOf, and the spacetime relationshipWithOut.
- Added modeling for spatial aspects of
- Objects
- Added specializations of
ObjectforBody,Surface,CurveandPoint, of inner space dimension 3, 2, 1 and 0, respectively. - Added
StructuredSpaceObjectto represent anObjectthat is broken up into cells of the same or lower inner space dimension (faces, edges and vertices).
- Added specializations of
- SpatialFrame (new). Models spatial frames of reference for quantifying the position vector of a point in a three-dimensional space.
- VectorValues (new). Provides a basic model of abstract vectors as well as concrete vectors whose components are numerical values.
- VectorFunctions (new). Defines abstract functions on
VectorValuecorresponding to the algebraic operations provided by a vector space with inner product. It also includes concrete implementations of these functions specifically forCartesianVectorValue. - TrigFunctions (new). Defines basic trigonometric functions on real numbers and provides a constant feature for
pi.
Systems Library
- Items. Added the following features:
shape- The shape of an item is its spatial boundary.envelopingShapes- Other shapes that spatially envelop an item.isSolid- An Item is solid if it is three-dimensional and has a non-empty shape (boundary).
Quantities and Units Domain Library
- Quantities.
VectorQuantityValueis now a kind ofNumericalVectorValue(fromVectorValues). - VectorCalculations. Revised to provide calculation definitions for
VectorQuantityValuethat specialize the corresponding functions fromVectorFunctions.
Geometry Domain Library
- SpatialItems (new). Models physical items that have a spatial extent and act as a spatial frame of reference for obtaining position and displacement vectors of points within them.
- ShapeItems (new). Provides a model of items that represent basic geometric shapes.
Backward Incompatibilities
- Select and collect expressions. The new shorthand notation for
expr->select{...}isexpr.?{...}. The shorthand notation previously used for select,expr.{...}, is now a shorthand forexpr->collect{...}. - Suboccurrences. The feature
suboccurrencesofOccurrencehas been renamed tospaceEnclosedOccurrences. - Sum and product functions. The
sumandproductfunctions have been moved intoNumericalFunctionsand removed fromDataFunctionsandScalarFunctions. - Mathemetical function names. Non-operator mathematical functions from the various Kernel mathematical function packages have been updated to have a more consistent convention of names starting with a lower case letter.
- BasicGeometry. The
BasicGeometrymodel previously in the Geometry Domain Library has been deleted.
Jupyter
None.
Visualization
- PlantUML
None. - Tom Sawyer
None.
Technical Updates
None.
Bug Fixes
Implementation
- Assumed and required constraints. Fixed the implmentation of
getAssumedConstraintImplandgetRequiredConstraintImplinRequirementUsageImpl. - Owned connections. Fixed the implementation of
getOwnedConnectioninDefinitionImpl. - Validation. Corrected the multiplicity lower bound validation for end features.
Library
- Portions. Constrained the portions of an occurrence to have the same life as the occurrences they are portions of.
- PortionOf. Corrected the order of the end features of the
Occurrences::PortionOfassociation. - SnapshotOf. Corrected the multiplicity of
SnapshotOf::snapshottedOccurrence. - VectorQuantityValue. Updated
Collections::Arrayto allow dimensionless arrays of a single value. This then allows aVectorQuantityValueto be dimensionless (order 0), correcting the former inconsistency ofScalarQuantityValue(with order 0) being a specialization ofVectorQuantityValue(previously required to have order 1).