Learn about Webel's comprehensive SysMLv2 Workshop Seminar course!
Webel now has a SysMLv2 Online Self-Study course with self-test Quizzes!
Learn about the Webel Q&A online self-testing system for SysML v2/v1

Webel's "super-relational" Note pages!

A Note is a short categorised statement, claim, policy, tip, or issue tracker Throughout this site, content is often related to supporting Notes, and each Note page links back to the content pages that reference it! The Note and Snippet concepts are very closely related and they support each other.
Look for "super-relational" Note page links at the bottom of most content pages!
Note kind Note Spec tag UML keywords SysML keywords Keywords
ANTI-PATTERN, DISPLAY, MODELLING, PATTERN, STYLE, TIP, TOOL Webel: SysMLv2: Cameo: TIP: Whilst long KerML expressions may be convenient in code they don't always display well in Views. Consider Divide & Conquer strategies for breaking them up into smaller expressions carried by related elements. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
DISPLAY, MODELLING, TIP SysMLv2: TIP: Cameo won't display the out result (code keyword return) as a boundary "pin" symbol but you can list it in the parameters compartment as an out parameter (possibly inherited). SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
DISPLAY, ISSUE, TOOL SysMLv2: Cameo 2026xHF2: Fails almost completely representing a «message». Just displays a black dot. (Compare with SysML2.0 spec example from p.82) SysMLv2
ISSUE SysMLv2 GitHub (2026-06-16): TRIVIAL: 15_19-Materials with Properties.sysml: Mass fractions for Steel alloy should be different (compare with correct 15_19a-Materials with Properties.sysml) SysMLv2
ISSUE, TOOL SysMLv2: Cameo 2026xHF2: ISSUE: An expose using ::** (recursive form) seems to recursively expose large sections of the metamodel (if used without any additional filters). SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
ISSUE, LIMITATION, TOOL SysMLv2: Cameo 2026xHF2: ISSUE: An expose using ::** (recursive form) seems to recursively expose large sections of the metamodel (if used without any additional filters). SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
DISPLAY, MODELLING, TIP SysMLv2: Cameo: TIP: To see elements exposed by a «view» click on its symbol to open up a diagram (or table) space and select Display > Display Exposed Elements. [BUT Cameo 2026xHF2 does not yet interpret all KerML inline import or export filter syntax] SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
MODELLING, TIP SysMLv2: The default visibility for Import (in the abstract syntax) is private; The default visibility for Membership is public; the visibility of Expose is always protected (and any other visibility declaration is ignored). SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ASSERTION, MODELLING, TIP SysMLv2: TIP: An «attribute def» specializing a Collections type may redefine Collections::elements to restrict the type of elements (including possibly subsequent redefinition of a Collections type as further restricted element type) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ASSERTION, MODELLING, TIP SysMLv2: An «attribute def» can redefine its self as a named attribute usage for use as an in parameter of an owned constraint usage SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
DISPLAY, MODELLING, TIP Webel Best Practice: SysMLv2: Recommend indeed use the optional derived declaration for attributes with derived expression values for better traceability and for clearer display as /derived when feature values are not shown. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
DISPLAY, GOTCHA, ISSUE, LIMITATION, MODELLING, TOOL, WORKAROUND SysMLv2: Cameo 2026xHF2: LIMITATION: Does not display a non-asserted «constraint» in a compartment of an «part def» (but you can show it as a symbol using nested view or tree view) SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
DISPLAY, GOTCHA, ISSUE, LIMITATION, MODELLING, TOOL, WORKAROUND SysMLv2: Cameo 2026xHF2: LIMITATION: Does not display an «assert constraint» in a compartment of an «attribute def» or «attribute» (but you can show it as a symbol using nested view or tree view) SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
MODELLING, NAMING, TIP SysMLv2: Prefer the term 'payload' (commensurate with the metamodel) over "exchange item" (since not necessarily a SysMLv2 item) or "transfer item" (terms popular in some SE methodologies). SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
MODELLING, TIP SysMLv2: An allocation usage may itself own an allocation usage that allocates between features of its ends SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
MODELLING, TIP SysMLv2: A Dependency can be from one source (client) to one target (supplier) OR from one source to multiple targets, OR even between multiple sources and targets (n-ary) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
MODELLING, TIP SysMLv2: TIP: There is no dedicated metaclass equivalent to the (notoriously vague) «use» Usage of SysMLv1/UML2. Just use a dependency named 'use'. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
Dr Darren's thoughts on the new verification system in SysMLv2. Test engineering is NOT simple. SysMLv2 has captured a very complex systems engineering task as simply as possible whilst still offering flexibility, and without making it "too simple". SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, MSOSA, CATIA Magic
ASSERTION, MODELLING SysMLv2: A performed action may be a skeleton or stub for performance by another elaborating action SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
DISPLAY, ISSUE, MODELLING, TOOL SysMLv2: Cameo 2026xHF2: Does not display «variation perform» or «variant perform» (just «perform» or «perform action») SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Cameo v2026xHF2
DISPLAY, ISSUE, MODELLING, TOOL, WORKAROUND SysMLv2: Cameo 2026xHF2: Does not list «variant perform» subactions of a «variation perform» in a compartment [WORKAROUND: Use drag n' drop of the full «variant perform» feature symbol] SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Cameo v2026xHF2
DISPLAY, ISSUE, MODELLING, TOOL, WORKAROUND SysMLv2: Cameo 2026xHF2: Does not list «variant part» subparts of a «variation part» in a compartment [WORKAROUND: Use drag n' drop of the full «variant part» feature symbol] SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Cameo v2026xHF2
ISSUE, WARNING, WORKAROUND SysML2.0: ERROR: The Specification body, Annex and multiple SysMLv2 PILOT Github samples show or use in code an incorrect transition from an (empty) entry action of a state (breaks the rules for transitions). Prefer transition from start:StateAction! SysMLv2
MODELLING, TIP SysMLv2: Whilst it is possible to bake your own Allocations for functional analysis, prefer the built-in SysMLv2 performed actions and exhibited states machinery for functional allocations SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
MODELLING, OPTION, TIP SysMLv2: Pros & Cons: Swimlanes do not show the «perform» actions directly (only the performed actions targets). Consider also in parallel showing parts with their «perform» actions SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ASSERTION, MODELLING SysMLv2: A part can be treated as an item. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ASSERTION, MODELLING SysMLv2: An item can become a part of something else and an item in one context can become a part in an other. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ASSERTION, MODELLING SysMLv2: It is permissible for an «item def» to be specialized by a «part def» using subclassification SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
TIP SysMLv2: TIP: Unlike SysMLv1, SysMLv2 does NOT have a dedicated Signal metaclass. For payloads, Just use an «item def» (if more complex) or «attribute def» (if very simple such as for triggers), or a usage thereof. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
CONVENTION, MODELLING, PATTERN, STYLE, TIP Webel Best Practice: SysMLv2: "Trust the Type": If using parameter = shorthand to provide a feature always also include the :Type in the declaration (which is an implied redefinition) - and even if it's a bit tedious and a bit WET. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
ASSERTION, MODELLING SysMLv2: It is permissible to use a binding connector from a parameter (possibly redefining an inherited parameter) to a parameter that is inherited (without redefinition of the target) and vice versa SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ASSERTION, MODELLING SysMLv2: It is permissible to use = binding shorthand from a parameter (redefining an inherited parameter) to a parameter that is inherited (without redefinition of the target) and vice versa SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
CONVENTION, MODELLING, PATTERN, STYLE, TIP Webel Best Practice: SysMLv2: "Trust the Type": If redefining a port or parameter to provide a "clean" connection end target always also include the :Type in the redefinition declaration - and even if it's a bit tedious and a bit WET. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
ASSERTION, MODELLING SysMLv2: It is permissible to use an interface between port usages without redefining inherited port usages (to create "clean" end targets) in the connection context SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ASSERTION, MODELLING SysMLv2: It is permissible to use a flow between parameters of action usages without redefining inherited parameters in the connection context. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ASSERTION, MODELLING SysMLv2: It is permissible to use = binding shorthand from a port usage (possibly redefining an inherited port) to a port usage that is inherited (without redefinition of the target) and vice versa SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ASSERTION, MODELLING SysMLv2: It is permissible to use a flow between compatible directed features of port usages without redefining inherited port usages (to create "clean" end targets) in the connection context SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ASSERTION, MODELLING SysMLv2: It is permissible to use a flow between compatible directed features of ports without an interface SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ISSUE SysMLv2 GitHub (2026-06-09): TYPO: 03-Function-based Behavior / 3a-Function-based Behavior-3.sysml: Package name '3a-Function-based Behavior-5' should probably be '3a-Function-based Behavior-3' SysMLv2
ISSUE SysMLv2 GitHub (2026-06-09): 03-Function-based Behavior / 3a-Function-based Behavior-2.sysml: Binding of wheel torque ports seems to be missing SysMLv2
DISPLAY, MODELLING, PATTERN, STYLE, TIP, TOOL Webel Best Practice: SysMLv2: Prefer graphically clearer explicit binding connectors from/to boundary ports over = binding shorthand (and even if = shorthand binding is convenient in code) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
CAVEAT, DISPLAY, GOTCHA, LIMITATION, MODELLING, PATTERN, STYLE Webel Best Practice: SysMLv2: CAVEAT: Ports: Using Webel i/o directed feature naming may not display meaningfully with SysMLv2 ~conjugated ports. Consider instead one character feature name and still "Trust the Type" to communicate the feature role. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
DISPLAY, MODELLING, PATTERN, STYLE, TIP Webel Best Practice: SysMLv2: PortDefinition naming: DO NOT include the word 'Port'! Use prefix 'P_Role' OR for ports with directed features for flows consider 'F_Thing' or 'F_Stuff' where Thing or Stuff indicates a flowing discrete packet or substance. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
ANTI-PATTERN, DISPLAY, MODELLING, PATTERN, STYLE, TIP, TOOL Webel Best Practice: SysMLv2: "Trust the Type" and use short or acronym feature names instead of verbose feature name that just repeat the Type name but as lowerCase! ANTIPATTERN: veryLongName:VeryLongName SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
DISPLAY, MODELLING, PATTERN, STYLE, TIP Webel Best Practice: SysMLv2: Prefer Views that DO NOT rely on specific packaging structures EXCEPT for dedicated package overview diagrams (and then prefer just list members in a compartment). Use of package symbols for GRAPHICAL containment can break! SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
ISSUE, MODELLING SysML2.0: INCONSISTENCY: Multiple SysMLv2 spec and Annex examples and SysMLv2 PILOT GitHub samples have a «viewpoint» or «viewpoint def» with a subject that is not a «view» (or no declared subject) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE
ISSUE, LIMITATION, TOOL SysMLv2: Cameo 2026xHF2: ISSUE: Does not seem to be able to interpret _inline_ import or expose filter syntax SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
DISPLAY, MODELLING, TIP SysMLv2: Cameo: TIP: To list aliases and filter imports in the members compartment DISABLE Symbol Style > Show Only Owned SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
DISPLAY, MODELLING, TIP SysMLv2: Cameo: Unlike SysMLv1 Stereotype tagged values, SysMLv2 Metadata values won't display in compartment listings. But for parameters you can display metadata values on boundary "pin" symbols or the metadata kind and values on a full feature symbol. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
CAVEAT, COMPLICATION, EXPLANATION, MODELLING SysMLv2: Webel: The challenge of the twice-performed action (or twice exhibited state) when combining "logical" functional analysis breakdown using performed actions with allocations to "physical" components SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice, functional analysis
ANTI-PATTERN, MODELLING, TIP Webel Best Practice: “There is nothing worse than a sharp image of a fuzzy concept.” (Ansell Adams, photographer) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice, SysMLv1
MODELLING, PATTERN, TIP SysMLv2: Webel Best Practice: Prefer use performed actions and exhibited states as the primary mechanism for "logical" layer/zone systems engineering functional analysis breakdown (not SysMLv2 allocations). SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice, functional analysis
MODELLING, PATTERN, TIP SysMLv2: Webel Best Practice: If you have as many allocation definitions as allocation usages in your final model you might not be using them effectively! SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
MODELLING, PATTERN, TIP SysMLv2: Webel Best Practice: An allocation definition should be of a specific "nature" (possibly related to a formal systems engineering methodology, and optionally with the "nature" further distilled using custom Metadata). SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
ISSUE, LIMITATION, TOOL SysMLv2: Cameo 2026xHF2: ISSUE: Does not seem to automatically bind by default the subject of an included use case to its the subject of its owning use case SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
CONVENTION, MODELLING, PATTERN, STYLE, TIP Webel Best Practice: SysMLv2: "Trust the Type": When redefining a subject (within any element kind) ALWAYS also include the :Type in the redefinition declaration (even if it's a bit tedious and a bit WET). SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
ISSUE SysMLv2 GitHub (2026-06-04): ISSUE: TRIVIAL: Use Case Usage Example.sysml: «part def» 'Fuel Station' declared twice (already in imported 'Use Case Definition Example') SysMLv2
ANTI-PATTERN, DISPLAY, MODELLING, PATTERN, STYLE, TIP, TOOL Webel: SysMLv2: Cameo: Modelling Best Practice: Links to examples of _DELIBERATELY_ very large Views (diagrams) that are candidates for "Divide & Conquer" strategies. Some linked examples are AntiPatterns! SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
DISPLAY, FEATURE, TIP, TOOL SysMLv2: Cameo 2026xHF2: TIP: A requirement verification usage of the objective of a verification cases lists under the require constraints compartment SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
ISSUE, LIMITATION, TOOL SysMLv2: Cameo 2026xHF2: ISSUE: Does not seem to automatically bind by default the subject of a verification case to its objective or the subject of the objective to its requirement verification usages SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
TOOL Quick guide to SysMLv2 support in the Cameo (CATIA Magic) tool family for Model-Based Systems Engineering SysML-1.7, SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, MSOSA
TIP, TOOL MSOSA = Magic Systems of Systems Architect (acronym popular in the USA for the CATIA Magic product bundle with systems engineering methodology and systems architecture standards extensions under Dassault branding) SysML-1.7, SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, MSOSA
ISSUE, LIMITATION, TOOL SysMLv2: Cameo 2026xHF2: ISSUE: Sometimes struggles to parse doc /* .. */ embedded in an expression SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
TIP SysMLv2: TIP: When specializing TradeStudies::TradeStudy you can redefine the 'selectedAlternative' result (out) parameter if you wish to specify a feature :Type but DO NOT change the = binding to studyAlternatives->selectOne {...}! SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
GOTCHA, ISSUE, TOOL ISSUE: Cameo 2026xHF2 SysMLv2 Evaluation Plugin: Seems to ignore assumed constraints in evaluations (only recognises required constraints) SysMLv2 Cameo Systems Modeler, Cameo SysMLv2 Plugin, Cameo SysMLv2 Evaluation Plugin, Systems Modeling Language, SysMLv2
CONVENTION, MODELLING SysMLv2 Specification and GitHub examples: CONSISTENCY TRACKER: Links to examples where action (usage or definition) in parameters are redefined but the out parameter is not. SysMLv2
DISPLAY, FEATURE, MODELLING, TIP, TOOL SysMLv2: Cameo: TIP: A subject (which should always be declared using the subject syntax in code) will also display as the 1st parameter in the parameters compartment but without the 'in' feature direction kind displayed. It is nevertheless an 'in'. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ISSUE SysMLv2 GitHub (2026-06-03): TRIVIAL: 33. Analysis: Analysis Case Definition Example.sysml: Redundant import of 'Calculation Definitions'::* SysMLv2
DISPLAY, ISSUE, TOOL, WORKAROUND SysMLv2: Cameo: ISSUE: Sometimes does not show a reference subsetting relationship from a «perform action» using Display > Display Specializations if the target is a nested «action» symbol (but is traced ok under Go To > Performed Action) [HAS WORKAROUND] SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
ISSUE, TOOL SysMLv2: Cameo 2026xHF2: ISSUE: Does not catch the subject declared using a satisfy by when the target (by subject) is declared as a feature path. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
DISPLAY, ISSUE, LIMITATION, MODELLING, TOOL, WORKAROUND SysMLv2: Cameo 2026xHF2: LIMITATION: Does not a show an «assert constraint» or «constraint» in a compartment of a «state» or «action» (workaround drag n' drop from the containment browser tree to create a symbol so you can show the constraint expression) SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
MODELLING Webel Best Practice: SysMLv2: States: Instead of an "empty" entry action (that does nothing) with a succession to an initial state prefer a start:StateAction with a transition to the initial state EXCEPT where conditional successions are needed. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
CAPABILITY, DISPLAY, FEATURE, MODELLING, TIP, TOOL SysMLv2: Cameo: TIP: A «constraint» usage that is not an «assert constraint» won't list in a compartment of a part, but you can display it as a symbol using Display > Display Features (Nested-view or Tree-view) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
CAPABILITY, DISPLAY, FEATURE, MODELLING, TIP, TOOL SysMLv2: Cameo: TIP: For parameters the Show Value symbol style is only enabled by default for parameters listed in compartments but you can enable it also on the little parameter "pin" symbols (on the boundary of the owner symbol). SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
DISPLAY, GOTCHA, ISSUE, LIMITATION, MODELLING, TOOL Cameo SysMLv2 Plugin: LIMITATION: Does not display an «assert constraint» in a compartment of an «action def» (but you can show it as a symbol using nested view or tree view) SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
DISPLAY, GOTCHA, ISSUE, LIMITATION, MODELLING, TOOL Cameo SysMLv2 Plugin: LIMITATION: Does not have a parameters compartment for an «assert constraint» or «assert» constraint reference and does not show the constraint out expression (but you can display it as a symbol use drag n drop from the browser) SysMLv2 Cameo SysMLv2 Plugin, Cameo Systems Modeler, SysMLv2, Model-Based Systems Engineering, MBSE
CAPABILITY, DISPLAY, FEATURE, MODELLING, TIP, TOOL SysMLv2: Cameo: TIP: The Show Value symbol style is only enabled by default for attributes and parameters (in compartments), but you can Show Value on nearly any feature kind (whether listed in a compartment or displayed as a symbol). SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
CAPABILITY, DISPLAY, FEATURE, MODELLING, TIP, TOOL SysMLv2: Cameo: TIP: If you need to display something that is "hidden" (buried in the complex underlying SysMLv2 machinery) you can often access it in the model tree by DISABLING Show Essential Elements Only with Show Implied Relationships ENABLED. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
DISPLAY, MODELLING, TIP, TOOL SysMLv2: Cameo: The special result parameter of a calculation (which is an out parameter) won't display as a parameter symbol on its owner's symbol boundary but you can still list it in the parameters compartment (it will appear as an out) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
TIP SysMLv2: Cameo: Although you can use return in SysMLv2 code for the out parameter of a calculation it will display as an out in the parameters compartment. Note that the special parameter is called 'result' but the code keyword is return and it's an out. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
TIP SysMLv2: TIP: You can import ISQ «attribute def» and «attribute» elements via ISQ::* instead of via individual ISQ library packages SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
DISPLAY, MODELLING, OPTION, PATTERN, STYLE, TOOL Webel: SysMLv2: Modelling OPTION: Links to examples of heavily compartment-oriented views (compare with relationship-oriented views). Often combined with the Symbol Style option to display inherited features. Consider for non-SysMLv2 fluent stakeholders. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
ISSUE SysMLv2 GitHub (2026-06-01): TYPO: Car Mass Rollup Example 2.sysml: Package name ''Car Mass Rollup 1'' should probably be 'Car Mass Rollup Example 2' SysMLv2
MODELLING, PATTERN, STYLE, TIP Webel Best Practice: SysMLv2: "Trust the Type" functional analysis: When referencing a performed action or exhibited state ALWAYS also include the :Type in the declaration (even if it's a bit tedious and a bit WET). Helps avoid also verbose usage names! SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
MODELLING SysML2.0: Links to specification, Annex, and SysMLv2 GitHub PILOT code examples that directly use an ISQ «attribute def» as attribute type (an opposed to subsetting the ISQ «attribute» equivalent). SysMLv2
ISSUE SysMLv2 GitHub (2026-06-01): TYPO: 24. States: State Decomposition-2.sysml: Package name 'State Decomposition-1' causes clash (suggest use 'State Decomposition-2') SysMLv2
ASSERTION, ISSUE, PROPOSAL SysML2.0: Webel: Suggest the entire description in the specification of whether and when usages MUST redefine inherited parameters needs an overhaul (and the SysML2.0 spec examples, Annex problem, and SysMLv2 GitHub examples are inconsistent anyway). SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE
MODELLING Webel Best Practice: SysMLv2: Prefer transition (not succession) from start:StateAction SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
ISSUE SysMLv2 GitHub (2026-06-01): TYPO: 21. Asynchronous Messaging: Messaging with Ports.sysml: Package name 'Messaging Example' causes clash (suggest use 'Messaging with Ports') SysMLv2
DISPLAY, MODELLING, STYLE Webel: SysMLv2: Modelling: When parameters are bound using = binding without flow connectors the "pin" boundary symbols end up "floating". If you instead list all parameters in a compartment do still also show any actually connected ones as "pin" symbols. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
DISPLAY, MODELLING, PATTERN, STYLE, TIP, TOOL Webel: SysMLv2: OPTION: If using = binding shorthand (instead of binding connectors) from/to context boundary parameters try listing the parameters in compartments with their bound values (rather than as parameter boundary "pin" symbols). Saves space! SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
MODELLING, OPTION SysMLv2: Webel: Redefining a parameter or port (or a directed feature of such) in a binding connector's context provides a "clean" binding target (as opposed to binding to an inherited feature). BUT it's not always necessary (confirmed by SysMLv2 samples) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
DISPLAY, MODELLING, PATTERN, STYLE, TIP, TOOL Webel Best Practice: SysMLv2: Prefer graphically clearer explicit binding connectors from/to context boundary parameters over parameter = binding shorthand (and even if = shorthand binding is convenient in code) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
ISSUE, PROPOSAL SysML2.0: Webel: Suggest it needs to be clarified whether binding to a parameter or port (or a directed feature of such) that has NOT been redefined in the binding connector context (is just inherited) is valid [it is] SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE
ISSUE, PROPOSAL SysML2.0: Webel: Suggest it needs to be clarified whether a regular connection (that is not an interface and is not a flow) may be used between ports. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE
DISPLAY, MODELLING, PATTERN, STYLE, TIP, TOOL Webel Best Practice: SysMLv2: Avoid naming features after their owner where it is clear what owns them. SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
DISPLAY, MODELLING, PATTERN, STYLE, TIP, TOOL Webel Best Practice: SysMLv2: Where port usages aren't connected just list them in compartments (do not show them as port boundary symbols). SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
DISPLAY, MODELLING, PATTERN, STYLE, TIP, TOOL Webel Best Practice: SysMLv2: "Trust the Type" feature name hiding. In many Views, there is no benefit, at all, in showing feature names (especially if they are needlessly verbose and just repeat the Type name but lowerCase) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering, Webel Best Practice
GOTCHA, MODELLING, PATTERN, TIP GOTCHA: New to SysMLv2? The graphical open-headed arrow SYMBOL and the SysMLv2 code shorthand :> for subclassification (specialization between definition level elements) and subsetting (specialization between usage level elements) are the same! SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering
GOTCHA, ISSUE, LIMITATION, MODELLING, TOOL SysMLv2: Cameo 2026xHF2: GOTCHA: On Textual Editor sync removes (strips) // note text from the SysMLv2 code (see KerML1.0 p.76: SINGLE_LINE_NOTE = '//' LINE_TEXT) SysMLv2 SysML2, Systems Modeling Language, SysML, Model-Based Systems Engineering, MBSE, Cameo Systems Modeler, Cameo SysMLv2 Plugin, model-based engineering