In the Webel recipe for modelling Mathematica code in Systems Modeling Language v1 (SysML®), a Mathematica code function may be represented by an Activity.
A '$E' in the function name (in the Mathematica code) is the Webel convention for indicating that the Mathematica function has arguments that match any Expression (a trailing '_' Blank in each argument pattern), and can therefore be used for both symbolic algebra and numerical computations alike.
However, while the MagicDraw SysML Plugin and Magic Cyber-Systems Engineer ® (Cameo Systems Modeler®) tools support a type UNSPECIFIED
, this can get over-ruled (changed) in the tool if an ObjectFlow is drawn to/from a typed element to/from an InputPin or OutputPin!
For the purposes of capturing the logic of Mathematica functions in SysML, this is ultimately just a minor annoyance, not a big deal, but it can present some challenges when creating executable Activities in Magic Cyber-Systems Engineer ® (Cameo Systems Modeler®).
You can protect yourself against this somewhat by introducing a SysML ValueType _
to represent the Blank for any Mathematica Expression. So, for example, a custom ValueType for the Mathematica Quantity
that extends _
will be seen to be compatible with _
arguments (parameters) of '$E' Activities. However, because the SysML Real
is in a readonly Profile in the tool, it can't be extended (to include _
), so that strategy runs into issues if any of the arguments are Real!
Visit also: