Closed hpdekoning closed 1 year ago
There needs to be a MeasurementReferenceCalculations model (or maybe just UnitCalculations), and the semantic of this needs to be covered in the technical note and specification.
Just added library MeasurementRefCalculations.sysml
(keeping the name a little shorter). Will update the Technote and Spec accordingly.
@seidewitz Realized that also multiplication '*' and division '/' operators for CoordinateFrame (VectorMeasurementReference) and MeasurementUnit are required. Can we do that in the same library MeasurementRefCalculations, or since it gives name clashes should it be another library package?
Can we do that in the same library MeasurementRefCalculations, or since it gives name clashes should it be another library package?
You can put them in the same package, just give them different names, but specializing the general functions with the standard operator names. The expression syntax keys off the generic function names, so the names of the specialized functions aren't supposed to actually matter (we just try to keep them the same for simplicity when we can).
There is an example of this in CollectionFunctions
in which [
is specialized for OrderedCollection
, but then it is also further specialized for Arrays
, with the name array[
.
@hpdekoning
Also, make the imports private in MeasurementRefCalculations
.
The update to the Quantities and Units Domain Library enables automated unit / scale conversion, support for coordinate frame transformations, and type checking of expressions that contain quantity values.
The main points are:
QuantityDimension
andunitPowerFactors : UnitPowerFactor
onMeasurementUnit
, also in relation with free and bound vector spaces (isBound : Boolean
).VectorCalculations
for calculation definition signatures and to ensure compatibility with the KerML packagesVectorValues
andVectorFunctions
for coordinate frame computations.TensorCalculations
with calculation definition signatures.MeasurementRefCalculations
to support measurement unit arithmetic.This update is builds on PR #406 (ST6RI-523 Extended coordinate transformation).