Tags and keywords
We aren't modelling radio telescopes in detail in this trail section, so the following analysis is just enough to be able to complete our basic overview of the EM spectral regions. The target snippet is:
The RegionEM
has ranges stated in wavelengths in nm, which was convenient enough for visible light, but not ideal for radio frequencies. The value properties fMin
to fMax
use the ValueType frequency[gigahertz]
and Unit gigahertz
already available in the ISO-80000 ModelLibrary, and readonly values have been assigned within redefined fMin
to fMax
within RegionRadio
.
It would be nice to be able to use either wavelength ranges lMin
to lMax
or frequency ranges fMin
to fMax
, but if we do that we need to make sure that if both value sets are populated they agree. Constraints for the relationship between frequency (f) and wavelength (λ) can be elicited from the following:
Where the speed of light c is held by a common block of Constants
:
This gives us basic UML-style Constraints on block RegionEM
, which must be satisfied by any valid instances:
{lMax = constants.c / fMin}
{lMin = constants.c / fMax}
Consistent values for lMin
and lMax
have been assigned in readonly redefinitions in block RegionRadio
using an online resource frequency converter resource, with the SysML Trace relationship used to indicate where the values come from.
However, we can also use SysML Parametrics to calculate them. For example, given fMin
and fMax
we can calculate lMax
and lMin
. But because this is Parsing Analysis tutorial, we don't want to overwrite values that have been stated as elicited from snippets, so instead some value holders /calc_lMin
and /calc_lMax
are used, which we can use to compare with the stated values as shown next .