Webel: SysML4Mathematica: An '@*~' prefix in a @pseudo function (OpaqueBehavior or Activity) represents a cast from any expression to a Type. Example: '@*~OpenerView' casts from any expression to an OpenerView. '@Type~' casts from a specific Type.
“Chained” Head and OpaqueBehavior Convenient for frequently used combinations Gallery Tutorial [TECHNICAL SLIDE TRAIL] The Webel libraries for Wolfram Mathematica: With SysMLv1 models. Section SECTION: Modelling the Wolfram Language in SysMLv1 and related Webel coding conventions
“Active” OpaqueBehaviors corresponding to block Heads: Used in CallBehaviorActions Gallery Tutorial [TECHNICAL SLIDE TRAIL] The Webel libraries for Wolfram Mathematica: With SysMLv1 models. Section SECTION: Modelling the Wolfram Language in SysMLv1 and related Webel coding conventions
Cameo Simulation Toolkit: HOWTO test an EnumerationLiteral value in a (Groovy) script in an OpaqueAction/Behavior. Use kind.name == "value"
SysMLv1.7/fUMLv1.4: Cameo Simulation Toolkit v2024x: Using an extending Enumeration literal as a parameter argument value runs but a WARN is issued.
GOTCHA: MagicDraw/Cameo: SysMLv1/UML: The argument context required to see results in Evaluation Mode for custom OpaqueBehavior scripts might not be the same as required for use in an Operation From Model for a Derived Property on a table column
GOTCHA: MagicDraw/Cameo: SysMLv1/UML: If you can extract model info using an OpaqueBehavior and you can see that in the Evaluation Mode in the Expression Editor it might not appear in a column in the Generic Table Diagram because the final Type is not set
Webel: SysML4Mathematica: Does every bit of the Mathematica code need to be modelled in SysML? No. Typically just the main function parameters and their interdependencies, data structures, and main code logic. Except for special or educational purposes.
SysMLv1.x: Limitation: The 'body' (maths formula) of an OpaqueBehavior can't be synchronised (shared) with the 'constraint' of a ConstraintBlock (directly in the SysML model). Can lead to a WET (not DRY) model and breaks Single Source of Truth!
Webel: SysML4Mathematica: An Association used as the Type of an argument or return is represented by a Block '<||>'. A List used as as the Type of an argument or return is represented by a Block '{}'. (Extending types may adapt the notation.)
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: SysML4Mathematica: Cameo Systems Modeler: Can perform calculations with a custom Quantity ValueType (for Mathematica) directly, but DOES NOT perform units-aware algebra (no automatic conversions)
SysML/UML: MagicDraw/Cameo: To display the body of an OpaqueBehavior on a usage (CallBehaviorAction) in an Activity Diagram use an element property callout of 'Body' into a Note with a handle to the CallBehaviorAction
Webel: SysML4Mathematica: An '@' prefix in the name of a Block indicates a data structure (such as an Association or List) that does not have a corresponding MTools class or a Webel Abstract Data Type (ADT) "pseudo class" in the Wolfram Language code.
Webel: SysML4Mathematica: An '@' prefix in the name of a ConstraintBlock, Activity, or OpaqueBehavior indicates that it is a "@pseudo" function not represented directly in the Wolfram Language or Webel code libraries (typically for minor maths or logic)
MagicDraw/Cameo: Display options: On an 'entry', 'doActivity', or 'exit' Behavior of a State you may choose to display the specification code of an OpaqueBehavior or just its name.
Figure 29: State machine in SysML Gallery Tutorial TRAIL: SysPhS-1.1 specification body figures in MagicDraw/Cameo SysML vs Modelica [using Wolfram SystemsModeler] Section Slide kind hybrid diagram SysML Block Definition Diagram (BDD) SysML StateMachine Diagram
LoopNode: running loopVariable example Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
Loop: running example using DecisionNode and MergeNode and an Integer property in a context Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
LoopNode: basic running example Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
Starting an Action that has a ValuePin - LIMITED SUPPORT Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
Starting an Action that has a ControlPin Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
Starting an Action that has an InputPin with multiplicity Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
Starting an Action that has an InputPin Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
The append(n:int) operation and its Activity method Append Gallery Tutorial HOWTO simulate UML-2.5.1 'Figure 14.7 Composite State with two States' in Cameo Simulation Toolkit - Operation-driven Transition case study Section Slide kind UML Activity Diagram
Overview: Controller class (and its Activity), Dialer Class (and its StateMachine), Number class Gallery Tutorial HOWTO simulate UML-2.5.1 'Figure 14.7 Composite State with two States' in Cameo Simulation Toolkit - Operation-driven Transition case study Section Slide kind UML Class Diagram
StateMachine diagram for comparing action language access to an operation for a guard Gallery Tutorial HOWTO invoke an operation as a Transition guard in Cameo Simulation Toolkit Section Slide kind UML StateMachine Diagram
Class diagram for comparing action language access to an operation for a guard Gallery Tutorial HOWTO invoke an operation as a Transition guard in Cameo Simulation Toolkit Section Slide kind UML Class Diagram