SysML "shared" Property example: two Triangles share one LineSegment edge.

Gallery
Tutorial

For better or worse, both AggregationKind::none and AggregationKind::shared qualify as determining reference properties, as long as the Property is typed by a Block, which can sometimes be confusing, as the notation for them is then the same:

Click on the image to view it full size
Dr Darren says:
Ah, the joys of shared aggregation. If only anyone knew what it actually means. One thing I know; just because it not easy to define the semantics sufficient for execution engines does not mean it is not immensely useful to pragmatic SysML modellers. It certainly means something to a lot of users.
Here we look at just one example of how one might use shared aggregation. Consider one triangle - which be definition has three edges - that shares one of those edges with another triangle. Good ol' Wikipedia tells us that:
In geometry, an edge is a particular type of line segment joining two vertices in a polygon... In a polygon, an edge is a line segment on the boundary, and is often called a side.
So in the diagram there is a block Triangle that shares 3 edge Properties of block type LineSegment. We see next how this might be represented in an object model

Up next
Notes
Snippets (quotes/extracts)
Visit also
Visit also (backlinks)
Related slides (includes other tutorials)
Related slides (backlinks, includes other tutorials)