The default search pattern in ArgoUML when looking for something is to
start at the root model (historically there was only a single root)
and look for the element in that namespace then recursively search
each of the ownedElements which is a Namespace doing a recursive
descent search of the entire tree (depth first typically, I think).

I'm pretty sure that this is exactly backwards, but it's wrong in so
many places that I'm beginning to doubt myself, so I just want a
sanity check from others before attempting to untangle this.

It's my belief that namespaces in UML work exactly like they do in
most programming languages and that you can "see" out/up towards
enclosing namespaces, but you can not, without an import, see into
peer or child namespaces.

In the following hierarchy of namespaces, with the root at A,

  A
 B C
D

Our current search path is typically A, B, D, C while I believe it
should be B, D, A and the contents of C should be off the search path.

Do others agree with this or am I hallucinating?

The one possible place where an exhaustive search might be useful is
in a profile with nested package, but that seems to be a special case.

In addition to being correct, this change would have an additional
advantage of being a lot faster for large models since we'd be
searching a vertical slice of the model, rather than doing a brute
force search of the entire model.

Tom

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to