Webel: SysML4Mathematica: When modelling the main logic flow of Mathematica code with Activity Diagrams it isn't necessary to model every Mathematica construct. Placeholder Actions, OpaqueActions , and OpaqueBehaviors (as CallBehaviorActions) may be used.

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

The emphasis of the Webel recipe for modelling Mathematica code in Systems Modeling Language v1 (SysML®) is on capturing the logic flow (using Activity Diagrams), equation networks (using SysML Parametric Diagrams and/or SysML Activity Diagrams), and main data structures (using SysML Blocks) of the Mathematica code.

It is not intended that every single little Wolfram Language code construct be replicated in SysML!

When modelling Wolfram Language code as SysMLv1 Parametric Diagrams and ConstraintBlocks, complex networks of equations can be accurately encapsulated and then even executed in Magic Model Analyst® (Cameo Simulation Toolkit®), but the main aim is to represent the dependencies of Parameters graphically, and this can be of enormous benefit. Indeed, creating a SysML Parametric Diagram first can be an excellent way to plan your Mathematica coding efficiently.

It is however much harder to create SysML Activity Diagrams that can be executed to mimic the execution of Mathematica code. The main benefit is to be found in creating SysML Activity Diagrams that capture the main function logic, the flow of information between functions, and the Parameter (argument) dependencies. This can be very useful for planning and recording refactoring of Mathematica code, and serves as excellent documentation of a Mathematica code system.

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