Systems-Modeling / SysML-v2-Pilot-Implementation

Proof-of-concept pilot implementation of the SysML v2 textual notation and visualization
GNU Lesser General Public License v3.0
114 stars 23 forks source link

ST6RI-669 Resolved outstanding TODOs in SysML validation cases and examples #479

Closed hpdekoning closed 1 year ago

hpdekoning commented 1 year ago

This PR resolves the following left-over TODOs in various SysML validation case models:

  1. 3c-Function-based Behavior-structure mod-1

    • TODO: Destroy the link object.
      Added action to destroy the connection using OccurrenceFunctions::destroy.
  2. 15_03-Value Expression

    • TODO: Change profileDepth by adding tolerance: profileDepth: LengthValue = @i{6.0 ± 0.5} [mm];
      Instead of specifying a tolerance the following constraint was added:
            constraint hasLegalProfileDepth {profileDepth >= 3.5 [mm]} and the profileDepth value was changed from binding to default:       attribute profileDepth: LengthValue default 6.0 [mm];
  3. 15_06-System of Quantities

    • TODO: Support definition of a System Of Quantities package with additional information that records its provenance.
    • TODO: Support explicit identification of the base quantities.
    • TODO: Add integrated support for vectors, matrices, nth-order tensors in general (prototypes exist).
      Replaced TODOs with comments that explain the actual implementation in standard libraries.
  4. 15_07-System of Units and Scales

    • TODO: Allow annotation of a System Of Units and Scales package with additional information that records its provenance.
    • TODO: Support explicit identification of the base units.
      Replaced TODOs with annotations that explain the actual implementation in standard libraries.
  5. 15_08-Range Restriction

    • TODO: Define a model library for angular units.
      Resolved TODO by importing ISQ and SI, and using standard ISQ::PlaneAngleValue and SI::'°'. Deleted redundant declarations.
  6. 15_10-Primitive Data Types

    • TODO: Move this to the model library.
      Removed TODO on UnsignedReal, and updated documentation
  7. 15_10-Primitive Data Types`

    • TODO: Specify any requirements on character encoding.
      Removed TODO, as character encoding for String is specified in the KerML specification.
  8. 15_10-Primitive Data Types

    • TODO: Specify standardized string encodings.
      Removed TODO, as string encoding for DateTime values is specified in the Time package.
  9. 15_11-Variable Length Collection Types

    • TODO: Define syntactic sugar for instantiating collection types.
      Replaced TODO with comment /* Examples of declaring syntactic sugar-like names for instantiating collection types. */
  10. 15_19a-Materials with Properties

    • TODO: Move definition of tensile strength and N/mm² to SI
      Replaced TODO with comment: /* Example declarations of a quantity and unit that are not specified in ISQ and SI */

The following TODOs were removed and recorded as issues for possible future resolution:

  1. VehicleGeometryAndCoordinateFrames (Geometry example)

    • TODO: When origin position is available as position3dVector rather than Point, use SpatialItem::PositionOf to reformulate
  2. 15_01-Constants.sysml

    • TODO: Move mathematical and fundamental physical constants to model library package(s)
    • TODO: Add concept of precision for Real values
    • TODO: Represent physical constant attribute error bounds.