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
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 fluid modelling zone (where you can instead 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 choose to adopt a strongly package symbol oriented approach to record the library, being a stable target and with 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 views, 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.

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)