Webel: SysML4Mathematica: Convention: A '$E' in a function name indicates that all parameters (arguments and return) are Mathematica '_' expressions. However, when representing such functions as Activities they may end up getting strongly typed in tools!

Webel IT Australia promotes the amazing Mathematica tool and the powerful Wolfram Language and offers professional Mathematica services for computational computing and data analysis. Our Mathematica tips, issue tracking, and wishlist is offered here most constructively to help improve the tool and language and support the Mathematica user community.
DISCLAIMER: Wolfram Research does not officially endorse analysis by Webel IT Australia.
Icon class
icon_class
far fa-sticky-note
icon_class_computed
far fa-sticky-note
Note kind
Policy level
Specification keywords
UML keywords
SysMLv1.x keywords
Keywords

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:

Relates to
Related notes
Related notes (backlinks)
Related snippets (extracts)
Visit also
Visit also (backlinks)
External links