Mathematica: Webel ADT pseudo classes: 'Q: Do I have to use these EX$Val scalar "atom" thingies and the EX$Row, EX$RowList, and EX$RowMap? Can't I just use Wolfram Language Lists and Associations?' A: Of course you can also use the basic Wolfram Language!
Mathematica: Webel ADT pseudo classes: An EX$Val has concise methods for testing the type of its wrapped '$$' value: isR, isI, isB, isQ, isS. These may be used in ADT "constructor" type tests.
Mathematica: Webel ADT pseudo classes: The validity of the type of a wrapped '$$' value of an EX$Val may be checked in ADT "constructors" which have type checking utility support. This strategy has been chosen over sub-types of EX$Val.
Mathematica: Webel ADT pseudo classes: There does not seem to be a way to register ::usage specific to a Webel ADT-Method (TagSetDelayed UpValue). The Webel libraries offer method documentation support via the HelpO` class/method registry.
Mathematica: Webel ADT pseudo classes: Webel ADT-Methods support Wolfram Language Options[] as TagSetDelayed UpValues (but there are some pros and cons). Webel ADT-Methods work with the Webel HelpO` class/method registry, including rich help on options.
Cameo Simulation Toolkit: You can use Mathematica as an external maths engine to share maths between an OpaqueBehavior and a ConstraintBlock using custom auto-loaded Mathematica functions (keeps a project nice and DRY and respects Single Source of Truth)
Webel: Psy/MPsy: Psychrometrics for Mathematica: The default MPsy class is a readonly one-shot class that pre-builds many frequently used psychrometric properties (offered as public fields) using CoolProp, and also offers some value-adding methods.
Mathematica: TIP: Package Editor mode: Use cell division between every function in .wl library files to make them more readable (and to make it easier to apply at least some degree automated code formatting per function).
Cameo Simulation Toolkit: You can assign the results of simulations calculations on instances to the default values of properties of the Classes/Blocks that type the instance.
The SysML Trace relationship can be used as a quick way to traceably elicit model elements from an identified diagram or table from a domain source document. You may visually remove the Trace symbols as each element is elicited to reduce clutter.
Webel Parsing Analysis: If you have a unique URL for a domain source «document» you MAY additionally set it as an external hyperlink in the MagicDraw/Cameo tool (as well as setting it as the unique 'url' tagged value that acts as the '/uri').
MagicDraw/Cameo: SysML Parametrics: To colour instance table cells to indicate broken constraints you need to create at least one Simulation Configuration Diagram, which loads a validation profile with colour coding rules.
MagicDraw SysML/Cameo: You can customise the generic query table diagram kind to check that the context Blocks of your Parametric Diagrams only contain BindingConnectors (not Connectors)
MagicDraw/Cameo: You can drag a Class symbol onto a Class symbol (in a Class Diagram) or a Block symbol or ValueType symbol onto or Block symbol (in a Block Definition Diagram) to create a new part property or value property
MagicDraw/Cameo: You can drag out a Property (or Port) from a Class or Block symbol to create an Association with the Property (or Port) as one end
MagicDraw/Cameo: supports HTML hyperlinks directly on model elements, and they are launchable from model element symbols in diagrams.
MagicDraw/Cameo: supports HTML (including hyperlinks) in String based tagged value (Stereotype property) fields. Just activate HTML mode during tagged value editing.
MagicDraw/Cameo: Use a Customization to set the «keyword» on a custom Stereotype. Make sure to save, close, then re-open the project afterwards!
MagicDraw/Cameo: You can easily create your own extensions of Block to act as subjects of UseCases. The tool knows how to handle the rectangular ‘subject’ notation on Use Case Diagrams
MagicDraw/Cameo can parse the 'text' field of some mathematical Requirements and populate the constraint (and also then the constraint parameters) of a ConstraintBlock that refines a Requirement (your mileage varies).
MagicDraw/Cameo: A Requirement may appear on many kinds of such as a Block Definition Diagram or Package Diagram, not just a Requirement Diagram
Magicdraw/Cameo has a powerful "implied relation" facility for use in query tables, dependency matrices, and as element properties
MagicDraw/Cameo: To callout the element properties of Diagram's context Element into a Note in that Diagram use the context menu item Represent Diagram Context on the Note!
MagicDraw/Cameo: One can choose between 'usage' level or 'definition' level allocation modes on AllocateActivityPartition swimlanes. The setting always applies to all AllocateActivityPartition items in one Activity Diagram at once.
MagicDraw/Cameo: Supports embedding of one or more Diagrams in another via the Diagram Overview feature. Awesome!
MagicDraw/Cameo: You can edit context-specific values (initial values) directly in an IBD by using the context menu item Tools > Define Context Specific Initial Values on appropriate blocks; once activated you can edit the values directly like Slot values
TIP: UML/SysML: MagicDraw/Cameo: Consider showing the constraint parameter name and type label inside the small rectangular parameter symbol on SysML Parametric Diagrams. Dr Darren swears by it!
MagicDraw/Cameo: Offers a customised Views and Viewpoints Diagram type with dedicated menus and some Viewpoint types.
MagicDraw/Cameo: you can make relationships between elements that are not visible in one diagram using the Relations section of the specification dialog for an element
TIP: MagicDraw/Cameo: Consider showing the Port name and type label inside the Port symbol! CAVEAT: This loses the direction indicators on Ports typed by Blocks with flow properties (but is fine if ItemFlows show the direction, or for "contract ports").
MagicDraw/Cameo: the (not so well named) "Enable Parts Compartment" feature on Ports is highly recommended and can make diagrams much easier to read.
In MagicDraw/Cameo an assigned stereotype of a Classifier that types an instance-like element (such as a part Property) "shines through" unless it has an instance-level stereotype assigned. This is sometimes called a "secondary stereotype".
In MagicDraw/Cameo if the Type of a Property has a Composite Structure Diagram or Internal Block Diagram defined it will act as the default hyperlink target for the Property
In MagicDraw/Cameo one can just drag the IBD or BDD of a Block from the model browser onto parts that are typed by that Block to make them the default hyperlink target for that part (so one can just "open the parts up" recursively to navigate the system).
Magicdraw/Cameo has powerful relationship Dependency Matrix diagrams, and in many cases one can assign or remove relationships directly in the cells of the matrix just by clicking!
In MagicDraw/Cameo one can display many element properties (and metamodel properties) directly in compartments on most element symbols
In MagicDraw/Cameo one can "call-out" many element properties (and metamodel properties) into a Note using the Edit Compartments context menu item
In MagicDraw/Cameo the name and any stereotype keywords of a Classifier subject of a UseCase may be shown in the top-middle (not just top-left)
Cameo Simulation Toolkit 19SP3 SUPPORTS (at least partially) State Chart XML (SCXML) the State Machine Notation for Control Abstraction
Cameo Simulation Toolkit handles OpaqueExpression and OpaqueBehavior including these action scripting languages: English (built-in), Alf (via plugin), BeanShell, JavaScript, JavaScript Rhino, Groovy, ...