Skip to content

2022-02 - SysML v2 Pilot Implementation

Choose a tag to compare

@seidewitz seidewitz released this 18 Mar 05:43
· 2191 commits to master since this release

This is an incremental update to the 2022-01 release. It corresponds to Eclipse plugin version 0.21.0.

Language Features

  1. Feature chain expressions. Expressions of the form expr.x.y.z that 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

  1. Occurrences
    • Added modeling for spatial aspects of Occurrence and for constructive relations on occurrences of union, intersection and difference.
    • Added associations to represent spatial relationships SpaceSliceOf, SpaceShotOf and OutsideOf, and the spacetime relationship WithOut.
  2. Objects
    • Added specializations of Object for Body, Surface, Curve and Point, of inner space dimension 3, 2, 1 and 0, respectively.
    • Added StructuredSpaceObject to represent an Object that is broken up into cells of the same or lower inner space dimension (faces, edges and vertices).
  3. SpatialFrame (new). Models spatial frames of reference for quantifying the position vector of a point in a three-dimensional space.
  4. VectorValues (new). Provides a basic model of abstract vectors as well as concrete vectors whose components are numerical values.
  5. VectorFunctions (new). Defines abstract functions on VectorValue corresponding to the algebraic operations provided by a vector space with inner product. It also includes concrete implementations of these functions specifically for CartesianVectorValue.
  6. TrigFunctions (new). Defines basic trigonometric functions on real numbers and provides a constant feature for pi.

Systems Library

  1. 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

  1. Quantities. VectorQuantityValue is now a kind of NumericalVectorValue (from VectorValues).
  2. VectorCalculations. Revised to provide calculation definitions for VectorQuantityValue that specialize the corresponding functions from VectorFunctions.

Geometry Domain Library

  1. 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.
  2. ShapeItems (new). Provides a model of items that represent basic geometric shapes.

Backward Incompatibilities

  1. Select and collect expressions. The new shorthand notation for expr->select{...} is expr.?{...}. The shorthand notation previously used for select, expr.{...}, is now a shorthand for expr->collect{...}.
  2. Suboccurrences. The feature suboccurrences of Occurrence has been renamed to spaceEnclosedOccurrences.
  3. Sum and product functions. The sum and product functions have been moved into NumericalFunctions and removed from DataFunctions and ScalarFunctions.
  4. 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.
  5. BasicGeometry. The BasicGeometry model previously in the Geometry Domain Library has been deleted.

Jupyter

None.

Visualization

  1. PlantUML
    None.
  2. Tom Sawyer
    None.

Technical Updates

None.

Bug Fixes

Implementation

  1. Assumed and required constraints. Fixed the implmentation of getAssumedConstraintImpl and getRequiredConstraintImpl in RequirementUsageImpl.
  2. Owned connections. Fixed the implementation of getOwnedConnection in DefinitionImpl.
  3. Validation. Corrected the multiplicity lower bound validation for end features.

Library

  1. Portions. Constrained the portions of an occurrence to have the same life as the occurrences they are portions of.
  2. PortionOf. Corrected the order of the end features of the Occurrences::PortionOf association.
  3. SnapshotOf. Corrected the multiplicity of SnapshotOf::snapshottedOccurrence.
  4. VectorQuantityValue. Updated Collections::Array to allow dimensionless arrays of a single value. This then allows a VectorQuantityValue to be dimensionless (order 0), correcting the former inconsistency of ScalarQuantityValue (with order 0) being a specialization of VectorQuantityValue (previously required to have order 1).