Learn about Webel's comprehensive SysMLv2 Workshop Seminar course!
Webel now has a SysMLv2 Online Self-Study course with self-test Quizzes!

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!

Icon class
icon_class
far fa-sticky-note
icon_class_computed
far fa-sticky-note
Note kind
Policy level
Specification keywords
SysMLv2 keywords
Keywords
All new SysMLv2 students are encouraged to read this and take it to heart
This is a BIG TIP for more flexible and stress free diagramming and modelling!

Dr Darren says:

The single biggest hurdle I've witnessed for those completely new to SysML is PREMATURE fussing over packaging and ownership structures, which can be stultifying and can prevent you getting into your fluent modelling zone (where you can enjoyably focus on the actual engineering itself).

You mostly don't need to do use package symbols for GRAPHICAL containment in diagrams, and even if you've seen it done copiously that way elsewhere.

SPECIAL EXCEPTION: Views of readonly model libraries may benefit from a strongly package symbol oriented approach (and even nested package symbols) to record the library - being a stable target and with the View having a very specific aim.

Except for dedicated package overview diagrams (for which listing members in a compartment usually suffices) specific packaging is seldom important for diagrams, and using GRAPHICAL containment with package symbols can break (if you change the ownership structure later elsewhere in code or in other diagram) AND it greatly restricts your options or organising your diagrams according to engineering idioms that leverage the model meaningfully.

Using package symbols as graphical containers also makes it much harder to sensibly and consistently use the Tree-view style for feature symbols, which mode can be very useful for some cases.

(Cameo 2026xHFs actually currently lets you get away with having a symbol for a feature owned by another element visually contained within a package symbol, which is misleading, but future versions with a validation engine will no doubt report it as incorrect.)

If you must include packages in a diagram, consider using just using owning membership "containment" relationship symbols (or even omit those completely if you've already listed the members in a compartment. The owning membership symbols will simply vanish if the packaging changes but those changes won't render the View actually invalid!

Especially if you are using the tool's diagrams (GUI) for your SysMLv2 modelling try to split your modelling into two separate phases:

  1. Model freely inside the diagram without fussing over the final ownership of elements. Get in the zone, work with a loose "logical" mindset without any concern at all for "physical" packaging.
  2. Then, later, separately, do house-keeping sweeps to tidy up the packaging, possible recorded with package overview diagrams with compartment listings.

Best of all, SysMLv2 now makes it wickedly easy to change the ownership of elements, both in code, and in tools.

Even if you are working against a strict systems engineering methodology with a strict packaging structure, the above STILL applies, and does still work. Just make sure you do your housekeeping sweeps!

If you ALSO adopt the Webel approach of using cross-cutting Metadata to indicate SE layers (can use SysMLv2 Semantic Metadata and user defined «#keywords»), you can even do queries across the model to find what is living where and then move anything that is in the wrong packaging zone.

Instead of say having something indicated as being a "logical" component by showing its symbol inside a LogicalModel package symbol in the view, you can see immediately that it is «#logical» without any use of a packaging symbol at all. If it happens to be in the wrong package, then you can just move it during your house keeping sweep, and your view does not break.

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