Book a Demo

Author Topic: Navigability  (Read 19629 times)

nifsmith

  • EA Novice
  • *
  • Posts: 18
  • Karma: +0/-0
    • View Profile
Navigability
« on: February 11, 2006, 07:47:34 am »
I have been using the the UML Reference Manual as a guide in my work with the finer points of the UML2.0

Its not the easiest book to get to grips with, in fact one step down from trying to decipher the superstructure tome.

My question is with navigability. In the past I have drawn the lines and wrote the code without an indepth understanding of its finer points.

The book states "Navigability describes whether it is possible to transverse an association at run time" OK I think this is the draw the lines write the code explanation.

Then it all goes a bit crazy for me from here. The book goes on to say. "At run time, the extent of an association is a set of tuples". OK (from my limited knowleged of sets) this should be Assoc.Extent{t1, t2, t3, .. tn}.

Then "each tuple containing one value corresponding to each end of the association". OK t{AE1, AE2}.

The book then explains navigability in the following terms which leave me in the dark. "Navigability means that given values for all but one of the association ends, the tuples containing all those values can be obtained; the result is usually stated as the set of values for the remaining association end". Nope I don't understand this even when I write it down.

Could someone please explain what this means in easier language. I've read it so many times I'm starting to go word blind (I even used a dictionary for some of the harder words). ;)
People should not be afraid of their Governments. Governments should be afraid of their people.

V

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Navigability
« Reply #1 on: February 11, 2006, 05:35:17 pm »
Hi,

Search the forum for AssociationClass and Lozenge.

You'll find some ramblings that should explain some of it.  If they don't, come back here with questions and I'll try to help.

HTH,
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Navigability
« Reply #2 on: February 12, 2006, 02:01:53 pm »
Consider a planet where the lifeforms have three genders - and a complete set of three is necessary for procreation.

Now here is an example of a three ended association,  and should help in understanding the gobbledygook "Navigability means that given values for all but one of the association ends, the tuples containing all those values can be obtained; the result is usually stated as the set of values for the remaining association end"

"each tuple containing one value corresponding to each end of the association" gives some examples like
{Gender1Individual_x, Gender2Individual_y, Gender3Individual_z}

My understanding of the Navigability  quote is that in this case I would need knowledge of not just one end, but two of the three in order to successfully navigate to the correct "full" association ie the genetic set.

hth  ???
bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

thomaskilian

  • Guest
Re: Navigability
« Reply #3 on: February 13, 2006, 02:37:03 am »
Quote
Consider a planet where the lifeforms have three genders - and a complete set of three is necessary for procreation.
...

So I guess these constructs are just useful for aliens?

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Navigability
« Reply #4 on: February 13, 2006, 04:53:45 am »
Quote
So I guess these constructs are just useful for aliens?
Only, Thomas, if UML stands for Universal Modelling Language! ;D
« Last Edit: February 13, 2006, 05:29:30 am by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Navigability
« Reply #5 on: February 13, 2006, 05:02:01 am »
I don't agree Thomas. These constructs should be useful for anybody with three genders, not just aliens.
No, you can't have it!

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Navigability
« Reply #6 on: February 13, 2006, 05:42:00 am »
Quote
a complete set of three is necessary for procreation.

Wondering what the Activity Diagram for that behavior would look like  ???
Verbal Use Cases aren't worth the paper they are written upon.

SF_lt

  • EA User
  • **
  • Posts: 216
  • Karma: +1/-0
  • The Truth Is Out There
    • View Profile
Re: Navigability
« Reply #7 on: February 13, 2006, 10:02:59 am »
Quote
Search the forum for AssociationClass and Lozenge.


I remember great thread on this, but till now have some doubts for lozerge when more than 2 ends ???
« Last Edit: February 13, 2006, 10:03:30 am by SF_lt »
registertm everything to SparX

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Navigability
« Reply #8 on: February 13, 2006, 10:09:44 am »
Quote

I remember great thread on this, but till now have some doubts for lozerge when more than 2 ends ???
Why?  A binary Association is only a special case for rendering purposes...  They're all N-ary Associations... (N>=2)

Can you share your doubts?

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

SF_lt

  • EA User
  • **
  • Posts: 216
  • Karma: +1/-0
  • The Truth Is Out There
    • View Profile
Re: Navigability
« Reply #9 on: February 14, 2006, 08:30:22 am »
when N>=3, how to read lozernge notation? is it means, that every participating classifier is associated with rest classifiers?

For example, N=3, classes A, B and C connected with lozenge. Is this means, that A at the same time is associated with B and C? the same should be for the B and C
registertm everything to SparX

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Navigability
« Reply #10 on: February 14, 2006, 10:52:51 am »
Quote
when N>=3, how to read lozenge notation? is it means, that every participating classifier is associated with rest classifiers?

For example, N=3, classes A, B and C connected with lozenge. Is this means, that A at the same time is associated with B and C? the same should be for the B and C
Yes,

All three classes (A, B & C) are connected together by the AssociationClass (say X).  You'll remember in my ramblings I assert that the Lozenge is just the rendering of an N-Ary AssociationClass.  Now, an instance of the Lozenge Xn will associate a specific set of (A, B & C) instances, say Ap, Bq, Cr.  Each instance of X represents a fact concerning the relationship of A, B & C, under X.  Thus a different fact might be that: Xm will associate  say Ad, Bq, Cf.  Thus X = (A, B, C) and X = (B, C, A) and X = (A, C, B).

Notice that now Bq is related (under X) both to Ap and Ad and to Cr and Cf!

We can create aggregate functions that will traverse X and yield the facts about how each instance in one class is related to instances in the other classes (such as the facts about Bq above).  Notice that each aggregate function requires 1 Class as the source and N-1 classes as the set of resultant tuples.  You could say: XA = (B, C) and XB = (A, C) etc

This is the: "Navigability means that given values for all but one of the association ends, the tuples containing all those values can be obtained; the result is usually stated as the set of values for the remaining association ends".  Each class in the tuple is attached to an AssociationEnd that connects the Class to the AssociationClass (Lozenge).  Thus if we aggregate over (B, C) we get the set of As that correspond to XA.

Does that clarify matters?

Paolo

Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Navigability
« Reply #11 on: February 14, 2006, 02:18:11 pm »
Quote
Does that clarify matters?
Not to us Venusians.

bruce  ;)
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Navigability
« Reply #12 on: February 14, 2006, 05:11:10 pm »
Quote
Not to us Venusians.

bruce  ;)
I know how many OO programmers haven't a clue about how databases work so I tried the easier explanation.  The harder explanation is to think of the classes A, B and C and Relational Tables and X as a three way intersector with foreign keys to each of the other three tables.  Unique values for the foreign keys constitute a uniqueness constraint on X.  This corresponds to X = (A, B, C)

XA corresponds to SELECT DISTINCT A FROM X
(where A is the FK column referencing Table A)

Happy now? :-X

Paolo

BTW: bruce, I know Venusians understand RDBs but for the Martians out there...
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

thomaskilian

  • Guest
Re: Navigability
« Reply #13 on: February 15, 2006, 03:45:54 am »
Paolo,
I have no problem in understanding the abstraction. What I simply miss is a REAL example. The Venusian Bruce has a need for that, but us Earthlings?

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Navigability
« Reply #14 on: February 15, 2006, 04:36:53 am »
Quote
Paolo,
I have no problem in understanding the abstraction. What I simply miss is a REAL example. The Venusian Bruce has a need for that, but us Earthlings?
Thomas,
can you clarify what you are after?  If you want to see the use of an AssociationClass using C# and (what James E Shaw and I now call) Slot Injection, then look at:
Collections, Containers, Composites & Nest .

If that's not sufficient, then let me know...

Paolo
« Last Edit: February 15, 2006, 05:44:33 am by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!