Book a Demo

Author Topic: Ownership "Dot"  (Read 6986 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Ownership "Dot"
« on: November 27, 2006, 10:30:12 pm »
In the topic: [size=13]Is a Association a Method?[/size] there is mention of the Ownership "dot" that UML 2 introduced.  EA supports this dot, to an extent.  However, there doesn't appear to be sufficient support for it.  If you check [X] Owned then EA will draw the dot for you.  That is, if you check the Target Role, then it will place the dot at the destination end of the Association (and vice versa).

As I mention in the other topic, it seems to us that if a particular AssociationEnd has a role defined, then the [X] Owned checkbox should be checked automatically.

We'd welcome feedback on this before formally requesting same from Sparx.

In addition, in [size=13]DB relationships vs UML Associations[/size] I note that DB RelationshipEnds are the inverse UML AssociationEnds.  In DB modelling, it is not really relevant to discuss the Ownership of the end as it is specified by definition.  If the Edge is a DB relationship, should the [  ] Owned checkbox be disabled and unchecked?

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

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Ownership "Dot"
« Reply #1 on: November 28, 2006, 12:57:31 pm »
UML does not mandate the use of the ownership dot, and neither does EA.

I'm also not convinced that a role means that the property is owned by the opposite classifier.  If I look at the associations that appear in the UML specification (which as discussed in a separate thread uses a different convention for ownership) I see roles specified when ownership doesn't appear to exist.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Ownership "Dot"
« Reply #2 on: November 28, 2006, 02:11:56 pm »
Quote
UML does not mandate the use of the ownership dot, and neither does EA.

I'm also not convinced that a role means that the property is owned by the opposite classifier.  If I look at the associations that appear in the UML specification (which as discussed in a separate thread uses a different convention for ownership) I see roles specified when ownership doesn't appear to exist.
Hi Simon,

There's some fine print on page 17 of the UML 2.1 specification:
Quote
The following conventions are adopted for all metamodel diagrams throughout this specification:
• An association with one end marked by a navigability arrow means that:
• the association is navigable in the direction of that end,
• the marked association end is owned by the classifier, and
• the opposite (unmarked) association end is owned by the association.
(NOTE: This convention was inherited from UML 1.x and was used in the initial versions of the specification because there was no explicit notation for indicating association end ownership. Such a notation was introduced in revision 2.1 (see the notation subsection of the Association metaclass on page 37) but was not applied to the diagrams in the specification due to lack of tool support. In accord with the new notation, the ownership of an association end by the association would continue to be shown by leaving the end unmarked, but the ownership of an end by the classifier would be shown by marking that classifier-owned end with a dot.)
• An association with neither end marked by navigability arrows means that:
• the association is navigable in both directions,
• each association end is owned by the classifier at the opposite end (i.e., neither end is owned by the association).
[size=10](my emphasis)...[/size]

In other words, the specification will be self inconsistent...  (diagrams versus text).

I agree that there is some doubt as to whether UML explicitly mandates the dot (although the fine print above is strongly indicative).  Nevertheless, it should be a repository (and/or diagram option) and, if so requested, should be automatic where a role is specified.

Paolo

« Last Edit: November 28, 2006, 02:14:12 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Ownership "Dot"
« Reply #3 on: November 28, 2006, 02:22:58 pm »
Yes, that's the section that I was referring to about the conventions used.

There is no doubt that UML does not mandate the use of the ownership dot.  This is stated in section 7.3.3 (page 41).

Quote
This standard does not mandate the use of explicit end-ownership notation, but defines a notation which shall apply in models where such use is elected. The dot notation must be applied at the level of complete associations or higher, so that the absence of the dot signifies ownership by the association. Stated otherwise, when applying this notation to a binary association in a user model, the dot will be omitted only for ends which are not owned by a classifier. In this way, in contexts where the notation is used, the absence of the dot on certain ends does not leave the ownership of those ends ambiguous.

EA is simply allowing the user to explicitly show ownership on a per connector basis.

Further, in response to your assertion that if a role is specified then ownership should be automatic.  If you look at the example diagram on that page you will see that having a role specified does not mean that ownership is implied.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Ownership "Dot"
« Reply #4 on: November 28, 2006, 03:13:19 pm »
Quote
Yes, that's the section that I was referring to about the conventions used.

There is no doubt that UML does not mandate the use of the ownership dot.  This is stated in section 7.3.3 (page 41).
My point is there is no way to elect (or not) the notation at a repository level.  (see below)
Quote
EA is simply allowing the user to explicitly show ownership on a per connector basis.
We want to constrain our models more globally...
Quote
Further, in response to your assertion that if a role is specified then ownership should be automatic.  If you look at the example diagram on that page you will see that having a role specified does not mean that ownership is implied.
Well I would argue that the token endA and endB need not be roles - but merely labels for explanatory purposes.

Notwithstanding that, as Jim Shaw asked (if roles don't signify ownership) what does ownership signify?  I concede that ownership does not require role specification, but I assert that specifying a role implies ownership.

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

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: Ownership "Dot"
« Reply #5 on: November 28, 2006, 03:49:35 pm »
An association end has to be owned by something. If it isn't owned by a classifier at one of the ends of the association, it is owned by the association itself. Kernel::Association has a set ownedEnd:Property[ *] which contains association ends owned by the association. Kernel::Property specializes Kernel::NamedElement. Therefore, an association end not owned by a classifier can have a name, therefore giving an association end a name doesn't imply it is owned by a classifier. QED.
« Last Edit: November 28, 2006, 03:51:31 pm by KP »
The Sparx Team
[email protected]

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Ownership "Dot"
« Reply #6 on: November 28, 2006, 03:59:35 pm »
Quote
An association end has to be owned by something.
[size=13][SNIP][/size]
OK...  You got me bang to rights, Mr Holmes...   ;D

But surely the dialog control is misnamed... It should be named: [x] Classifier Owned - since, by your own definition, an AssociationEnd is Always owned by something...

Paolo

I guess the same then applies with the DB Relationships (with the proviso that the owning Classifier is inversed).  My view is that if the Database notations are used, the additional UML ownership dot shouldn't be displayed.
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!