MagicDraw and Cameo features and tips Note pages

This site contains a massive number of pages with tips and info about MagicDraw® UML, the MagicDraw SysML Plugin, Magic Cyber-Systems Engineer ® (Cameo Systems Modeler®), and the Magic Model Analyst® (Cameo Simulation Toolkit®). A lot of the best info is captured in Note pages that are linked to relevant content pages (especially tutorial slide trail pages) demonstrating features, tips, and capabilities. Enjoy!
You can also search the MagicDraw and Cameo ISSUES pages or search for content by UML/SysML keyword or SysPhS keyword.
Learn how to best use the MagicDraw and Cameo tools for Systems Modeling Language v1 (SysML®) from the experts by attending our IT Training course:
Title
Cameo Simulation Toolkit: HOWTO test an EnumerationLiteral value in a (Groovy) script in an OpaqueAction/Behavior. Use kind.name == "value"
Webel: SysML/MBSE: Suggest don't fuss about ownership (containment) too much early on. Focus on "logical" modelling, values, flows, relationships between elements. Suggest perform regular separate modelling "housekeeping" sweeps to deal with ownership.
Webel: SysML: If you are working within a self-contained model you may freely include diagrams icons for navigation and model elements from other Packages in a Package Diagram or "focus" BDD but beware of breaking Shared Package and library dependencies!
SysMLv1: MagicDraw/Cameo: GOTCHA: If you DRAG a Signal onto a Block symbol it will create a Reception. One way to create a Property typed by a Signal is to use a composite Association. Or just create an untyped Property then type it by the Signal.
SysMLv1/UML2: Whilst fUML does not support InterruptibleActivityRegion, there are still ways to interrupt a StructuredActivityNode in Cameo Simulation Toolkit
SysMLv1: Cameo Simulation Toolkit: 2024x: GOTCHA: SendSignalAction: Nested Ports won't appear in the selection dialog for 'onPort' (or work for Drag n' Drop) unless «InvocationOnNestedPortAction» has been applied (they are filtered out).
Cameo Simulation Toolkit includes a (basic) TimeEvent, but fUML-1.3/1.4 does not. There are many different supported time units for duration constraints, and you can also use property values in durations.
TIP: SysMLv1/UML: Cameo Simulation Toolkit: HOWTO convert an fUML ReadLine CLI String to a Boolean for cleaner DecisionNode tests against a LiteralBoolean [true] guard.
TIP/GOTCHA: SysMLv1/fUML: Cameo Simulation Toolkit: If you have a ControlFlow loop with a DecisionNode test you MUST have a MergeNode for the continuation path ControlFlow (typically entered also from an InitialNode or other loop starting point).
TIP/GOTCHA: SysMLv1/UML: Cameo Simulation Toolkit: If you use a «decisionInputFlow» to a DecisionNode you MUST also have a ControlFlow to the DecisionNode; if you don't use an explicit «decisionInputFlow» you don't need the "extra" ControlFlow
SysML: HOWTO Represent a person as an external block-based SysML «actor» in one lower context and as an internal participating «person» in another higher context, with traceability. For modelling systems of systems in a team with many modellers.
The Webel recipe for pragramatic SE with SysML adopts the MagicDraw/Cameo tool friendly approach of using a SystemContext as 'subject' of top-level UseCases (although using a System as 'subject' can also be used).
SysML: MagicDraw/Cameo: Use query view tables, matrices, and maps, use them a lot! They help communicate well with other stakeholders. Learn how to use the Generic Table diagram type, custom relations, Simple Navigation & Metachain Navigation (expert)!
SysMLv1: MagicDraw/Cameo: HOWTO show "missing" ItemFlows after using Display Related Elements to re-draw Associations and Connectors. Use the 'Show Realised Item Flows' and 'Realize All Item Flows' smart manipulators.
SysMLv1: MagicDraw/Cameo: Oh no, I lost my part or reference property? Where did it go? The Symbol Properties option for 'Show Association ends as Attributes' may help you find it!
SysMLv1: MagicDraw/Cameo: Having a SystemContext as the 'subject' of each main UseCase plays nicely with the feature for automated creation of usage-level allocation swimlanes in SysML Activity Diagrams for part properties. But it's not the only way.
SysMLv1: MagicDraw/Cameo: Synchronising ItemFlows on Connectors with ObjectFlows in Activities using the Item Flow Manager. Nice!
SysMLv1: MagicDraw/Cameo: INTRINSIC GOTCHA: Care must be taken with ownership of Activities used as UseCase scenarios vs the ‘subject’ of the UseCase. Make sure you don’t get an Activity ‘context’ mismatch! It's up to you to manage it as intended.
SysMLv1: MagicDraw/Cameo: Automated creation of usage-level allocation swimlanes in SysML Activity Diagrams for part properties of a Block. EXAMPLE: A UseCase scenario within a SystemContext as UseCase ‘subject’.
SysML/MBSE: Many videos, tutorial slides, and guides to MBSE with SysML present particular modelling recipes as though they are THE way to do something in SysML, not just ONE way of doing it in SysML. They are not necessarily enforced by the SysML spec.
SysMLv1: UseCase scenario representations: On use of Activity Diagrams with swimlanes and/or Sequence Diagrams (Interactions): Actor or block-based custom «actor» on 1st (typically left) Lifeline/Swimlane, System/Subsystem on 2nd Lifeline/Swimlane
Webel: MBSE: SysMLv1: Prefer a custom «actor» extension of a Block (such as the non-normative External) over UML-style Actor for use as parts in IBDs and on allocation swimlanes. You can also have a Trace from a block-based «actor» to a UML-style Actor.
Webel: SysMLv1: Dr Darren for LinkedIn: On "Trusting The Type" and avoiding unnecessary verbose repetitive Property names ... unless you really, really need them and really do have reasons to use them, and then only use concise role indicators anyway!
TIP: SysMLv1: MagicDraw/Cameo: Activity Diagrams: Consider using the Pin display mode 'Name And Type Labels Inside' for 'Position of Labels'. Dr Darren swears by it!
TIP: UML/SysML: MagicDraw/Cameo: Activity Diagrams: Pins: You can display the 'multiplicity' of the underlying Parameter on Pins symbols using Edit Compartments. (The 'multiplicity' shows anyway if the :Type is shown.)
TIP: UML/SysML: MagicDraw/Cameo: Activity Diagrams: ActivityParameterNodes: Displaying the underlying 'parameter::multiplicity' using Edit Compartments is extremely useful!
UML/SysML: MagicDraw/Cameo: Edit Compartments: ActivityParameterNode: Can't select the 'parameter::multiplicity'? Run the synchronisation between the Activity in the direction Synchronize Activity Parameter Nodes by Activity Parameter then try again!
MagicDraw/Cameo/CATIA Magic: How to (try to) edit and fix a corrupt MDZIP project file
MagicDraw/Cameo: UML/SysML: DO NOT use '$' character in Stereotype names (corrupts MDZIP file)
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)
HOWTO: MagicDraw/Cameo: v2022Refresh1: JDK 11 download compatible with the modelling tools AND Apple Silicon (ARM) machines (such as M1 Max)
SysML: Cameo Systems Modeler: A ValueType that does not extend Real might not always simulate correctly when used to type a constraint parameter of a ConstraintBlock (in a SysML Parametric Diagram) or to type a parameter (in a SysML Activity Diagram)!
SysML1.x: MagicDraw/Cameo: The nested property path concept is implemented using a vendor-specific stereotype extension NestedPropertyPath
SysML1.x: MagicDraw/Cameo: The value property concept is implemented using a vendor-specific stereotype extension ValueProperty
SysML1.x: MagicDraw/Cameo: The shared property concept is implemented using a vendor-specific stereotype extension SharedProperty
SysML1.x: MagicDraw/Cameo: The reference property concept is implemented using a vendor-specific stereotype extension ReferenceProperty
SysML1.x: MagicDraw/Cameo: The part property concept is implemented using a vendor-specific stereotype extension PartProperty
SysML1.x: MagicDraw/Cameo: The block property concept is implemented using a vendor-specific stereotype extension BlockProperty
SysML1.x: MagicDraw/Cameo: The constraint parameter concept is implemented using a vendor-specific stereotype extension ConstraintParameter
SysML1.x: MagicDraw/Cameo: The constraint property concept is (was) implemented using a vendor-specific stereotype extension ConstraintProperty [VENDOR-DEPRECATED]
SysML/UML: MagicDraw/Cameo: The name of an ActivityParameterNode does not always stay in synch with its Parameter (and it is not always desirable that it does).
SysML/UML: MagicDraw/Cameo: Activity Diagrams: All Pins of CallBehaviorActions and CallOperationActions MUST be displayed (synchronised). All ActivityParameterNodes MUST be shown on the frame of an Activity Diagram.
TIP: Webel: SysML/UML: On the boundary of symbols for ConstraintParameters on a ConstraintProperty (ConstraintBlock usage) symbol in Parametric Diagrams use any placement or "ordering" of ConstraintParameter symbols that works for the diagram!
TIP: Webel: SysML/UML: On the boundary of Action symbols in Activity Diagrams use any placement or "ordering" of Parameter symbols that works for the diagram. Ignore the Parameter ordering of Operation and Behavior signatures completely!
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
[FIXED in v2022Refresh1]: BUG: MagicDraw/Cameo: 19SP3/v2022xGolden: Activity Diagrams: Pin display mode 'Position of Labels' does not stick, label positions in Diagrams have sometimes moved after re-opening a project [and "FIX"]
Webel: SysML: MagicDraw/Cameo: Strongly recommend that you set the Perspective to 'Full Featured' and 'Expert' at the very beginning at the start of every new project
Dr Darren explains: Why I am not offering SysML diagrams on some of my LinkedIn TIP postings
MagicDraw/Cameo: UML/SysML: TIP: Activity Diagrams: Learn how to use the Refactor > Extract feature to divide-and-conquer and identify cleaner flow and logic. Get control of those crossed wires!
Webel: MagicDraw/Cameo: UML/SysML: TIP: Activity Diagrams, StateMachine Diagrams, and port-based IBDs: Keep it loose initially with oblique (no break) paths, then square it up with rectangular paths at the very end
UML/SysML: TIP: Using Cameo Simulation Toolkit will strengthen your use of Activity Diagrams even when they are "just" analysis diagrams
THE BIG TIP: You brain has many facets: code + graphical engineering is greater than either alone
MagicDraw SysML: [v2022xGolden,v2022xRefresh1]: ISSUE: Automatic assignment of the Type of the 'result' of a ReadStructuralFeatureAction not working with drag & drop.
MagicDraw/Cameo: 2022xGolden: TIP/GOTCHA: Mac: HOWTO Load the available plugins in the Resource/Plugin Manager
SysMLv1.x: MagicDraw/Cameo: Contextual relationships feature (links)
Webel + Mathematica + MTools + SysML
MagicDraw/Cameo/CATIA Magic: Getting your software tools ready for the Webel IT training courses in SysML/MBSE
HOWTO access custom (user-defined) Mathematica functions using Mathematica v13.2 as an external maths engine for SysML Parametrics (ConstraintBlocks) in Magic Model Analyst (Cameo Simulation Toolkit) versions 2021x, 2021xR1, 2022xR1
HOWTO use Mathematica v12.3.2 as an external maths engine for SysML Parametrics (ConstraintBlocks) in Magic Model Analyst (Cameo Simulation Toolkit) versions 2021x, 2021xR1, 2022xR1
MagicDraw/Cameo 19SP3/v2022xGolden: [FIXED in v2022xRefresh1]: Activity Diagrams: Pin display mode 'Position of Labels' does not work correctly for 'Name And Type Labels Inside', only shows the Name inside (not the Label) [and WORKAROUND]
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.
TIP/GOTCHA: MagicDraw SysML/Cameo: In Parametric Diagrams create BindingConnectors involving part properties by selecting the constraint parameter symbol first and use the smart manipulator (otherwise you might accidentally create a regular Connector)
UML/SysML: MagicDraw/Cameo: 19SP3: Instance Table Diagram sometimes does not display the values for nested value properties
UML/SysML: MagicDraw/Cameo: Instance Table Diagrams are one of the most powerful features of MagicDraw/Cameo! Learn to use them to progressively test, debug, and evolve your models as you work!
UML/SysML: MagicDraw/Cameo 19SP3: GOTCHA/TIP: An Instance Table will not display a row for instances typed by an abstract Class/Block (although one can show such instances as InstanceSpecification symbols on a Class Diagram or Block Definition Diagram)
UML/SysML: Cameo Simulation Toolkit 19SP3: GOTCHA/TIP: ConstraintBlock constraints: Not every available constraint language can handle Enumeration literals (if in doubt choose 'English')
Webel electronics modelling recipe for SysML: Diagrams can be made less verbose by using stereotype icon shape display mode, by not showing names and types on obvious Ports, by hiding context-specific values, and by omitting {net} tagged values.
MagicDraw/Cameo: Rule: Internal Block Diagram and Block structure compartment: only one symbol for a given Property may be shown.
MagicDraw/Cameo: Display option: You can choose whether to show Domain Specific Language (DSL) stereotypes: 'None', 'All', 'Only Last'
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 v19SP3: UML/SysML: HOWTO Set an OpaqueExpression on a Slot that seems to be stuck on a numerical value.
MagicDraw/Cameo: Modelica export: Need environment option to disable generation of layout annotations (not just on individual export dialog)
Cameo Simulation Toolkit: Before you run a simulation consider enabling Auto Open Diagrams under Environment Options -> Simulation. Alternatively, consider using split horizontal or vertical window groups (if there are only a few relevant diagrams).
MagicDraw SysML/Cameo: If you have a SINGLE Allocate from an Activity to a Block it will set that Block to be the Behavior::/context for that Activity.
MagicDraw SysML/Cameo has a nice feature 'Tools > Delegate Port(s)' accessible from the context menu for splitting Connectors that cross block boundaries into multiple Connectors with "exporting" Ports.
Progressively "exporting" internal Ports of usages of Blocks to the boundary of their using Block may seem like a bit of extra work, but it means you can progressively develop with clean black box views without the Connectors crossing Block boundaries.
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.
GOTCHA: MagicDraw SysML/Cameo 19SP3: Export to Modelica: The name of a redefining Property must be exactly the same as the Property it redefines or it will not export properly!
MagicDraw/Cameo: If you drag a Behavior from the model browser onto the SYMBOL of a State (that does not already own the Behavior) and set it as an 'entry', 'doActivity', or 'exit' Behavior a "wrapper" Behavior owned by the State will be created.
MagicDraw SysML/Cameo 19SP3: GOTCHA: If you drag a Behavior from the model browser onto the 'entry', 'doActivity', or 'exit' field in a specification dialog of a State it WILL BECOME OWNED by the State (which "steals ownership")!
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.
MagicDraw/Cameo: HOWTO: Create a redefining value property with a default value using drag-n-drop
MagicDraw/Cameo: On dragging a Property onto another Property set it as redefining, the multiplicity of the redefining Property is set to [0..*] if the redefined (dragged) Property only has <UNSPECIFED> Multiplicity
SysML: When using Property::defaultValue and Property::redefinedValue to carry a "shadow hierarchy" of redefinitions across an entire system hierarchy, considering using a user-defined keyword such as «configuration» or «scenario» on each redefining Block
Webel: UML/SysML: Navigation: ALWAYS offer a way out of a diagram (usually up a hierarchy, but possibly across) using a navigable symbol (linked to a diagram) and/or a diagram symbol. Avoid "cul-de-sacs"! [But beware of shared package cross-dependencies]
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
MDSysML/Cameo 19SP3: Showing stereotype keywords on FlowProperty rows is UNSUPPORTED
SysPhS: MagicDraw/Cameo: In the sysphs_profile the properties for PhSVariable have multiplicity [1], so the defaults always appear explicitly (but may be overridden): isContinuous: Boolean = true, isConserved: Boolean = false, changeCycle: Real = 0
GOTCHA: MD SysML/Cameo 19SP3 vs SysPhS-1.1: Export to Modelica does not see a 'doActivity' on a State (does not write it to a Modelica algorithm), you MUST use an 'entry'!
GOTCHA: MagicDraw SysML/Cameo 19SP3: Export to Modelica: 'entry', 'doActivity', or 'exit' Behaviors of a State must be directly owned (not just "wrapped") or they won't be seen on export!
MagicDraw SysML/Cameo: SysPhS: Export to Modelica: It does not seem to matter whether you give the language of Constraints as 'Modelica' or 'sysphs' (although SysPhS specifies a restricted SysPhS expression grammar)
MagicDraw SysML/Cameo: GOTCHA: Export to Modelica only includes owned Constraints (not just applied Constraints) under the 'equation' export
MagicDraw SysML/Cameo: GOTCHA: A Constraint created and applied to a ConstraintBlock via the sidebar menu is NOT owned by the ConstraintBlock!
MagicDraw SysML/Cameo: For export of more complex physical interaction and flow cases to Modelica or Simulink/Simscape/Stateflow load the SysPhS ModelLibrary using SysPhSLibrary.mdzip as a shared project.
MagicDraw SysML/Cameo: You do not always need to load the entire SysPhS ModelLibrary for simpler black box exports to Modelica or Simulink/Simscape/Stateflow (sometimes the sysphs_profile within the MD Customization for SysML is enough)
Not every task in Activity Diagrams is well-suited to graphical modelling; consider using Action Language Helper (ALH) or Action Language for Foundational UML (Alf)
Cameo Simulation Toolkit matches the Parameters of an effect Behavior and a trigger Operation on a Transition under the hood.
Cameo Simulation Toolkit: GOTCHA: In the Variable pane reference properties are hidden by default (show them using the Options pulldown menu)
Cameo: You can create a Simulation Configuration element in a Simulation Configuration Diagram (and you may then copy it to a BDD or Package Diagram if desired).
MagicDraw/Cameo: You can import excel spreadsheets with data into instance tables easily!
MDSysML/Cameo: Unless a custom ValueType is otherwise specified through specialisation it is behaves like a Real for the purposes of data entry for value properties typed by that ValueType
MagicDraw/Cameo: A structured ValueType can have value properties (each typed by a ValueType), but they list in an 'attributes' compartment (not a 'values' compartment)
MagicDraw/Cameo supports embedding images in diagrams
Webel Parsing Analysis: MagicDraw/Cameo: In parsing diagrams use the element compartment properties to only display the features relevant to the context of a particular snippet's text extract.
GOTCHA: Cameo: If you run a parametrics calculation from an instance symbol in a diagram it will just show computed values in the simulation window; if you run from an Instance Table diagram it will populate the instance Slots with the computed values.
MagicDraw/Cameo: TIP: tagged values with no specified type or String types optionally support HTML.
Webel: SysMLv1: MagicDraw/Cameo: AVOID the "default" SysML Item Flow Creation Mode 'Between Part Types' completely. Use 'Direct' mode, change it as soon as you start any SysML project under Options → Project → General → SysML [Helps prevent a clash/issue]
Webel: MagicDraw/Cameo: STRONGLY RECOMMEND: On EVERY project of ANY kind set the Environment Perspective to 'Full Featured' and check the Expert box, even if you are a "novice". For SysML use 'Full-Featured' not just 'System Engineer'!
Cameo/MagicDraw: The Classifier specification setting 'isAbstract' is (for reasons that beggar belief or engineering reason) not by default visible in the Element specification dialog. Enable expertise level 'All' (and for always everwhere).
Webel: MagicDraw/Cameo: Set EVERY element properties & symbol properties filter to 'All' (yes, not just 'Expert', to 'All', even if you are a "novice" on your first project) in EVERY dialog and every project option setting. Use the search filters!
MagicDraw/Cameo: HOWTO turn off verbose context information in SysML-style diagram frames
MagicDraw/Cameo: You can control how or whether applied Sterotypes are displayed on most Element symbols using the 'Show Stereotypes' display option (and in some cases this affects how the entire symbol is displayed).
MagicDraw/Cameo: You can assign values to 'tagged values' of Stereotypes via the Tags section in the specification dialog. Make sure you have one of the 'On Shape' or 'In Compartment' Show Tagged Values display options enabled.
MagicDraw/Cameo: You can assign or un-assign one or more Stereotypes to one or more selected Elements at once using the 'Stereotype' context menu item
MagicDraw/Cameo: You can drag-n-drop most applicable Stereotype types from the model browser onto an Element's symbol in a Diagram to apply it to that Element (does not work in all cases).
MagicDraw/Cameo: You and can drag-n-drop the icon for most Diagram types from the model browser onto a symbol in a Diagram to make it the default hyperlink for that Element; clicking on that Element symbol will then open up that Diagram.
MagicDraw/Cameo: You and can choose which Features, element properties, or tagged values of Stereotypes to show on most symbol compartment types
Not every task in Activity Diagrams is well-suited to graphical modelling and LoopNode and ConditionalNode are notoriously fiddly to setup; consider using Action Language Helper (ALH) or Action Language for Foundational UML (Alf)
MagicDraw: Has an additional tool-specific notation and feature sometimes called "ball-and-socket dependency wiring" for use with provided and required Interfaces in Class Diagrams and some other definition-level diagrams.
MagicDraw/Cameo: The context menu item 'Tools > Define Context-Specific Value' will only ever be available in an Internal Block Diagram on a part property symbol typed by a Block that has a value property!
MagicDraw/Cameo: The context menu item 'Tools > Define Context-Specific Value' will only be available UNTIL you have assigned one! Thereafter it does not appear anymore because the tool will have already created a tree of instances to carry the values.
MagicDraw/Cameo: For context-specific values you do not have to deal with fiddly instances, you can edit the values directly in the 'initialValues' compartment! Enable 'Tools > Define Context Specific Initial Value' on a part whose Block has a value.
MagicDraw/Cameo: When you create an InstanceSpecification in a diagram it will a Select Classifier dialog. It is often faster to Cancel that and then just drag a Classifier onto the instance symbol from the diagram or model tree.
MagicDraw/Cameo: In a BDD the diagram sidebar menu item for Enumeration is a UML Enumeration with ValueType applied (so properties typed by it will list as value properties in the 'values' compartment on a Block).
MagicDraw/Cameo has many tool-specific Stereotype icons, most of which can be hidden in most diagrams using Stereotype and icon display options.
MagicDraw/Cameo: If you want to show a Property or Port listed both in its corresponding compartment on a Class or Block symbol and as the end of an Association in the same diagram, set the display option Show Association Ends As Attributes/Ports to 'all'
MagicDraw/Cameo: You can set a Property as redefined/subsetted by another in a Class Diagram or BDD by dragging its label from an Association end onto the label of another Property on an Association end then choosing 'Set As Redefined/Subsetted Property'
MagicDraw/Cameo: If you make a copy of the SYMBOL of an Element in a Diagram you have only copied the SYMBOL, it represents the same Element! If you make a copy of an Element in the model browser you have indeed made a unique new (distinct) Element!
MagicDraw/Cameo support for the SysML Parametric Diagram and ConstraintBlocks for equations and mathematics is excellent, and it integrates with powerful maths engines such as Mathematica. It CAN be used on industrial strength real-world projects.
MagicDraw/Cameo: You can set many fields in an Element's specification dialog just by dragging compatible elements from the model browser onto the value area of the field.
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: Many table cells are interactive! You can, for example, edit the 'name' of elements. Most columns are also sortable. And you can navigate from element cells to elements in the model browser via context menu items.
MagicDraw/Cameo: The default swimlanes in SysML Activity Diagrams are AllocateActivityPartition swimlanes with the «allocate» keyword applied.
MagicDraw/Cameo: In SysML Activity Diagrams you can only set the allocation mode in to 'usage' or 'definition' for an entire AllocateActivityPartition group at once, not for individual AllocateActivityPartition columns or rows.
MagicDraw/Cameo: You can allocate an Action to any NamedElement in the model via its specification box under the Allocations section by dragging and dropping an element (such as a part Property) from the model browser onto the Allocate To field.
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: Learn how to effectively use and customise the powerful table, matrix, and relation map diagrams and how to create custom queries, implied relations, and custom properties. It will open up a whole new world of enjoyable power modelling!
MagicDraw/Cameo: The default 'Implied Satisfy' relation will claim a Requirement is satisfied by any direct composite aggregation parent Block or composite aggregation ancestor Block of a part property
MagicDraw/Cameo: In a Dependency Matrix the mode 'Show Element = All' can lead to very large matrices (but it enables you to interactively create relationships for elements that don't yet have any).
MagicDraw/Cameo does not explictly support tracking of satisfaction and verification of composite/compound requirements, but the "implied relations" facility can help.
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: If a particular symbol for a tool does not support compartments for the requirements relationships 'refines', 'satisfies', 'tracedFrom' and 'verifies' use a callout into a Note instead
MagicDraw/Cameo: HOWTO get back an InformationFlow or ItemFlow when it vanishes from a redrawn Connector. Use the 'Show Realised Item Flows' and 'Realize All Item Flows' smart manipulators!
MagicDraw/Cameo: You can easily find all elements a Stereotype has been applied to via the Stereotype's specification dialog.
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: For the "rake" symbol to show on a CallBehaviorAction typed by a Behavior you must have the Show Rake Icon display option on AND the Behavior must have a Diagram (such as an Activity Diagram)
MagicDraw/Cameo: Supports embedding of one or more Diagrams in another via the Diagram Overview feature. Awesome!
Webel recommends (usually) display the header of a Package, Model, ModelLibrary, or Profile in the 'tab' (rather than 'top')
MagicDraw/Cameo: To show the type of initialValues (context-specific values) use the display option Show Slot Type
MagicDraw/Cameo: The display option Apply SysML Callout Style shows elements with their Metaclass or Stereotype keywords and no vendor-specific icons
MagicDraw/Cameo: HOWTO redisplay the name and type of a SysML ItemFlow on a Connector if it vanishes (such as when the Connector is redrawn)
MagicDraw/Cameo 19SP3: if Continuous or Discrete are applied to the Parameter of an ActivityParameterNode the keywords «continuous» or «discrete» can be optionally displayed on the ActivityParameterNode symbol
Webel: SysMLv1/UML: Prefer the Name Display Mode 'both' on CallBehaviorAction symbols (rather than 'Show Action Name', 'Show Behavior Name', or 'Show Both or Behavior Name')
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 19SP3: Does not seem to directly support compartment for decomposition of Views as properties of Views (but one can create properties in an IBD and they will show in the 'attributes compartment')
MagicDraw/Cameo: Offers a customised Views and Viewpoints Diagram type with dedicated menus and some Viewpoint types.
MagicDraw/Cameo: To access the Expose relationship use a View and Viewpoints Diagram (non-normative) or create a Dependency in a Package Diagram then use: Refactor > Convert To > Expose
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").
The MagicDraw/Cameo feature "Enable Parts Compartments" really means "Enable SysML Compartments"
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).
Nobody (informed) said that SysML (or even UML) modelling and MBSE is only about graphical modelling, notations, and diagrams! Information can be extracted in many different ways and presented in many different formats from the underlying model!
Magicdraw/Cameo has powerful relationship maps!
Magicdraw/Cameo has powerful query view tables, maps, and dependency matrix diagrams!
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!
SysML: MagicDraw/Cameo can optionally indicate Requirement IDs in tables
MagicDraw/Cameo query tables use a single row (with a group of elements) to represent multiple targets/hits from a relationship, rather than one row per hit.
MagicDraw/Cameo derived relationships and metachain navigation are very powerful and worth exploring
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)
In the Webel recipe for SysML, DO use a "standard" Port until you have a truly compelling reason to commit to a FullPort or ProxyPort
HOWTO get at and display "standard" Ports that have been unnecessarily hidden and suppressed in MD SysML 19SP3 and Cameo 19SP3
[HISTORICAL] HOWTO easily "hack" the SysML-1.6 ~InterfaceBlock conjugation and «~interfaceBlock» keywords in MagicDraw/Cameo. [NOW SUPPORTED 2024x Golden]
Cameo Simulation Toolkit 19SP3 SUPPORTS (at least partially) State Chart XML (SCXML) the State Machine Notation for Control Abstraction
MagicDraw, Cameo Systems Modeler, and Cameo Simulation Toolkit use the name 'English' for a "default" vendor-specific action scripting language
Cameo Simulation Toolkit 19SP3 DOES NOT support ValuePin
Cameo Simulation Toolkit 19SP3 SUPPORTS StructuredClassifier and Connector
Cameo Simulation Toolkit 19SP3 SUPPORTS Port and EncapsulatedClassifier
Cameo Simulation Toolkit 19SP3 SUPPORTS UseCase
Cameo Simulation Toolkit 19SP3 SUPPORTS StateMachine
The vendor-specific Action Language Helper (ALH) API can be accessed from all of the various action scripting languages available in MagicDraw, Cameo Systems Modeler, and Cameo Simulation Toolkit
HOWTO set a ValueSpecificationAction to use the * LiteralUnlimitedNatural to drive an 'insertAt' InputPin on an AddStructuralFeatureValueAction in Cameo Simulation Toolkit and Cameo Systems Modeler
Cameo Simulation Toolkit 19SP3 SUPPORTS TimeEvent
Cameo Simulation Toolkit 19SP3 SUPPORTS ChangeEvent
Cameo Simulation Toolkit handles OpaqueExpression and OpaqueBehavior including these action scripting languages: English (built-in), Alf (via plugin), BeanShell, JavaScript, JavaScript Rhino, Groovy, ...