Composition hierarchy questions

6 views
Skip to first unread message

Paul Ebert

unread,
Oct 21, 2009, 3:59:25 PM10/21/09
to SysML Forum
Some questions regarding composition hierarchy. I will refer to
figures in "A Practical Guide to SysML" to help explain the questions.

There seem to be two ways to model composition hierarchy. One can use
a composite association between the whole and the part in a block
definition diagram as shown between Camera and Mount Assembly in
figure 6.1 or one can add part properties (block instances) to an
internal block diagram. Some questions about this:

- Are these the same thing or different?
- If they are different, when does one use one approach versus the
other?
- If they are the same shouldn't the parts show up in both diagrams?
That is, if I replicate figure 6.1 and then make an internal block
diagram of Mount Assembly, shouldn't this internal block diagram be
populated as shown in figure 6.6 when it is created? In EA, at least,
it seems to not be.
- Given that parts are not automatically populated in internal block
diagrams, how would one create the hierarchy (as shown in figure 6.2,
for example) without creating a multiplicity of composite part
instances? Continuing with the Mount Assembly example, how do I create
both figure 6.1 and figure 6.6 without creating two instances of
elevation gimbal?

Thanks.

Ralph N Hains

unread,
Oct 22, 2009, 5:42:20 AM10/22/09
to sysml...@googlegroups.com
Hello Paul,

Answers inline,

Cheers,

Ralph

-----Original Message-----
From: sysml...@googlegroups.com [mailto:sysml...@googlegroups.com] On
Behalf Of Paul Ebert
Sent: 21 October 2009 20:59
To: SysML Forum
Subject: [SysML Forum] Composition hierarchy questions


Some questions regarding composition hierarchy. I will refer to
figures in "A Practical Guide to SysML" to help explain the questions.

There seem to be two ways to model composition hierarchy. One can use
a composite association between the whole and the part in a block
definition diagram as shown between Camera and Mount Assembly in
figure 6.1 or one can add part properties (block instances) to an
internal block diagram. Some questions about this:

- Are these the same thing or different?
Ralph> As far as the underlying model is concerned they are the same

- If they are different, when does one use one approach versus the
other?
Ralph> See above. Typically which diagram representation you use depends on
what else you want to show as the diagram types have different capabilities
as well as strengths and weaknesses.

- If they are the same shouldn't the parts show up in both diagrams?
That is, if I replicate figure 6.1 and then make an internal block
diagram of Mount Assembly, shouldn't this internal block diagram be
populated as shown in figure 6.6 when it is created? In EA, at least,
it seems to not be.
Ralph> Not when it is created, but afterwards if you choose to do it.
All SysML (and for that matter UML) diagrams show a view of the system, not
all of it.
Until you tell the diagram (in some way) that you want to duplicate the
information shown on the earlier diagram, it will typically default to not
showing it. Strictly this is a tool issue, but for scalability reasons on
large systems this is likely to be a better solution than the behavior you
expected (show everything by default and subsequently hide things you don't
want). Remember that for a big system each diagram will hide more than it
shows, in order to be readable, typically only showing items around a
particular theme. For example a system that features both fluid flow and
electrical control might have two IBDs for its internals, one of which shows
the electrical components (and their wiring), the other of which shows the
fluid flow components (and their pipes). Only some parts will feature on
both diagrams (those that are both electrical and concerned with fluid
flow). I usually mention the human body to explain this when teaching SysML,
as it has a convenient set of interconnected but distinguishable "themes"
traditionally shown on different diagrams in medical texts - Skeletal
system, Blood circulation system, Nervous system, Digestive system,
Lymphatic system, Musculature, etc. The example you reference is small and
single themed so the "show everything by default" approach isn't immediately
obvious as problematic.
In Artisan Studio you can use several mechanisms to get the parts you want
to show themselves (see below) - I am not familiar with EA but I would be
surprised if there were not at least one equivalent mechanism.

- Given that parts are not automatically populated in internal block
diagrams, how would one create the hierarchy (as shown in figure 6.2,
for example) without creating a multiplicity of composite part
instances? Continuing with the Mount Assembly example, how do I create
both figure 6.1 and figure 6.6 without creating two instances of
elevation gimbal?
Ralph> Again I cannot answer for EA, but in Artisan Studio you could
(assuming you drew the BDD first and are building the IBD):
1. Use populate on the block symbol to get all of the existing parts (not
scalable - hence the other more selective mechanisms - but usable on small,
single themed systems)
2. Drag the existing part from the browser to the block symbol
3. Drag the block typing the existing part from the browser to the block
symbol, and select an existing part from the pop up rather than the "New"
option.
4. Use the toolbar "part" button and right click the block on the diagram,
then select the part you want
5. Use the toolbar "part" button and left click then select an existing part
rather than the "New" option.
There are often several ways to achieve the same effect in Studio - for use
based on situation and personal preference - not normally quite so many as
five!
A similar set of mechanisms (3 I think this time) exist if you drew the IBD
first then are building the BDD.

Thanks.


Reply all
Reply to author
Forward
0 new messages