Author Topic: EA-Connector to element feature - UML compatible?  (Read 17899 times)

Michael Hafner

  • EA User
  • **
  • Posts: 47
  • Karma: +0/-0
    • View Profile
EA-Connector to element feature - UML compatible?
« on: January 30, 2010, 10:07:56 pm »
Dear all,

EA makes it possible to connect elements to element features - a very useful feature, but is it UML? Browsing UML 2.2, I do not find any reference to it, neither to the notation nor to the concept - ?

Best,
Michael

http://www.sparxsystems.com.au/uml_tool_guide/modeling_with_uml/connect_to_element_feature.html

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8085
  • Karma: +118/-20
    • View Profile
Re: EA-Connector to element feature - UML compatib
« Reply #1 on: February 01, 2010, 04:38:38 pm »
The notation is our own, but UML allows for dependencies (as an example) to anything (including attributes and operations).  But it doesn't specify a notation.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13404
  • Karma: +567/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: EA-Connector to element feature - UML compatib
« Reply #2 on: February 01, 2010, 06:51:07 pm »
Michael,

I agree with Simon. The concept is within the boundaries of UML. The notation is EA specific.

Geert

Michael Hafner

  • EA User
  • **
  • Posts: 47
  • Karma: +0/-0
    • View Profile
Re: EA-Connector to element feature - UML compatib
« Reply #3 on: February 02, 2010, 02:35:16 am »
Simon, Geert,
thank you very much for your prompt reply! - Would you agree that the following defintions from UML 2.2, Superstructure, cover a dependency between attributes but not an association (an association being a relationship between typed instances)?
Best,
Michael


7.3.47 Relationship
Relationship is an abstract concept that specifies some kind of relationship between elements.


7.3.12 Dependency
A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation.


7.3.3 Association
An association describes a set of tuples whose values refer to typed instances.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: EA-Connector to element feature - UML compatib
« Reply #4 on: February 02, 2010, 04:49:18 am »
Sorry Michael,

I believe you've misinterpreted what the specifications says:
"An association describes a set of tuples whose values refer to typed instances"

You say:
"(an association being a relationship between typed instances)?"

Those two statements are NOT identical.  In particular, you can't derive yours from the specification.

The specification says that each column in the tuple refers to a typed instance.

I agree with Simon and Geert.

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

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13404
  • Karma: +567/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: EA-Connector to element feature - UML compatib
« Reply #5 on: February 02, 2010, 06:12:39 pm »
And what whould an attribute then be if not a typed instance?

Geert

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: EA-Connector to element feature - UML compatib
« Reply #6 on: February 03, 2010, 01:27:34 am »
Quote
And what whould an attribute then be if not a typed instance?

Geert
I think in UML 2 Attriutes are Features of Elements that contain values of the specified type.  Where the type is a class the value is a reference to the class.  That's not the same as instances of that type.

It's like C# Reference types and Value types.  A Struct is a Value type, but a Class is a Reference type.

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

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13404
  • Karma: +567/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: EA-Connector to element feature - UML compatib
« Reply #7 on: February 03, 2010, 06:07:13 pm »
Sorry If I was not clear enough.
I meant to point out that an attribute is a TypedElement in UML. (see 7.3.52 in UML superstructure 2.2)

Geert

Michael Hafner

  • EA User
  • **
  • Posts: 47
  • Karma: +0/-0
    • View Profile
Re: EA-Connector to element feature - UML compatib
« Reply #8 on: February 20, 2010, 04:11:29 am »
Sorry and thanks Paolo,
you are right; the two statements do not mean the same. A UML:association is not a relationship among instances, it specifies a relationship among instances.

Until recently, my main source of information about UML was not the specification but Rumbaugh's, Jacobson's, and Booche's Manual (The Unified Modeling Language Reference Manual, Second Edition; "RJB"), and sometimes I have doubts whether the two documents are compatible (v.i.). OK; a manual is a manual, and the specification is the specification.

Dear all,

I am still not sure whether associations between attributes are legal in UML:

Assumptions:

1 - A (binary) association describes a set of tuples (viz. a "relation" as a "class of ordered pairs").
2 - The values (or members) of the tuples refer to instances of a given type.
3 - An instance of the association is called a "link": Another tuple the values of which are typed instances (they do not refer instances).
4 - Attributes in a user model are instances of the metaclass "Attribute" from the user model's metamodel (M2: UML; profiles).
5 - Therefore, if there is an association in the metamodel with entTypes "Attribute" and "Attribute", there may be links among the attributes in the user model.
6 - These links connect model elements - e.g. "SomeClassA.title" and "SomeClassB.title". They do not imply associations among the model's instances - e.g. SomeInstanceA.title "Title #1" and SomeInstanceB.title "Title #2"

Problem:

7 - RJB say that "an association is a relationship among two ore more specified classifiers that describes connections among their instances."
8 - Attributes are instances of a metaclass, and they have instances "out there" (RJB) in the actual system. However, they are no classifiers ("Attribute" is, attributes are not. cf. Superstructure, Annex F).
9 - If 7 and 8 are correct, an association between attributes would be difficult.

Do you agree so far? - As I understand it, JRB's statement is not covered by the definition in superstructure 2.2., but nevertheless: Is (9) really a problem? And, if not: Could any other application than EA deal with links to element features?  (By the way: The information is stored in tagged value "styleex", right?)

Sorry, I don't want to bother anybody. In fact, it would greatly facilitate my work if I could use attribute associations.

Michael

Frank Horn

  • EA User
  • **
  • Posts: 535
  • Karma: +1/-0
    • View Profile
Re: EA-Connector to element feature - UML compatib
« Reply #9 on: February 20, 2010, 05:53:19 am »
It's a useful thing, and I don't care if the pope or the superstructure approve either.

Anyway, I don't think there's an association between attributes. Looking at XMI 2.1 export I can see it's still just a plain association between classes. The tags

Code: [Select]
<packagedElement xmi:type="uml:Association">/<memberEnd>
in the uml:Model section are exactly like they would be if you hadn't used the "Link to element" feature. Only the connector tag referring to the association in the xmi:Extension section has a tag "style" with an attribute "value" pointing to the attribute.

So I take it that it's only an extension to a standard association between classes, and in so far UML compatible as extensions can practically do what they bloody well please.

salayande

  • EA User
  • **
  • Posts: 224
  • Karma: +0/-0
  • I love YaBB 1 Gold!
    • View Profile
Re: EA-Connector to element feature - UML compatib
« Reply #10 on: February 20, 2010, 06:28:09 am »
Many thanks to Michael for bringing this feature to my notice.
I have been begging for this feature for many years and would have given my left arm for it....

In information exchange mapping (intra- and inter-enterprise information exchange), it is a requirement to map source data to target data items. This is a real enterprise information management requirement that UML was not designed to fulfill, hence the slow uptake of "UML 2.0 -Abiding" CASE tools in the market in the corporate environment (Please check the latest Gartner Research documents on EA CASE Tools).

Could Michael kindly tell me how many of the value-adding enterprise architecture frameworks out there is based strictly on UML?

Sparxsystems supports UML but in addition supports other practical corporate level requirements. By doing so the product earns its name "Enterprise Architect".

Again, great thanks to you, Michael.

kind regards

Segun

Michael Hafner

  • EA User
  • **
  • Posts: 47
  • Karma: +0/-0
    • View Profile
Re: EA-Connector to element feature - UML compatib
« Reply #11 on: February 23, 2010, 04:10:43 am »
Please, Frank, why so exited?
"Don't care if the pope...what they bloody well please" - Boy oh boy...

First of all, I do think that you should care about the specification of a standard if you decide to use it. (Submitting the matter to a pontifical commission might have its charms... :-)

Secondly, my question was not meant as a criticism of EA. - Having used another tool for some years, I am now exploring EA, and I'm flabbergasted by its functional range. I'm deeply grateful for a tool like this (TWIMC). OK?

Thirdly: If we agree it's an extension, well and good. However, while it's possible to cut out the extension and to still keep a valid model, this comes at a cost. At best it means a dumbing down of the model. At the worst it distorts the model. An association among attributes does not (onto)logically imply an association between the classes which own those attributes.

Finally: I just have to create a UML model plain and simple. No extensions. Captain's orders.

Best,
Michael

Frank Horn

  • EA User
  • **
  • Posts: 535
  • Karma: +1/-0
    • View Profile
Re: EA-Connector to element feature - UML compatib
« Reply #12 on: February 23, 2010, 05:49:53 am »
OK, Michael, I do care about the standard while I can afford to. But then again, when an unofficial extensions saves a lot of work, I may be tempted to use it no matter if it complies with the standard. Anyway, it depends on the situation.

Quote
An association among attributes does not (onto)logically imply an association between the classes which own those attributes.


Well, in a way it does, but that's not the point, because there is no association between attributes, at least in EA there isn't. If you link an association to an attribute and then move the attribute to another class, the association will remain with the old class. And if you export it to XMI and then import it with a previous EA version, your association will remain, only the link to the attribute will be lost.

By the way, you could to the same thing before without using the new feature by defining a tagged value of RefGUID type on the association end and ponting it to an attribute, only you wouldn't see it on the diagram.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13404
  • Karma: +567/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: EA-Connector to element feature - UML compatib
« Reply #13 on: February 23, 2010, 06:22:04 pm »
Lets look at how an association is defined in UML.

Quote
An association specifies a semantic relationship that can occur between typed instances. It has at least two ends
represented by properties, each of which is connected to the type of the end.

This actually means that an association doesn't connect two Classifiers directly, but instead connects two Properties

An attribute nothing more then a property related to a classifier by the association "attribute".

As far as I understand linking an association (end) to an attribute of a classifier indicates that you are using this attribute as the association end.

I haven't inspected the xmi output of an association that is linked to an attribute, but I surely hope the xmi reflects this.

No problem with the link association to attribute feature I think. It looks perfectly UML compliant.

The link between an association and an operation is another thing. An Operation is not a Property, so I can't really find a reasonable explanation on how this would translate in UML.

My conclusion:
- link association to attribute = UML
- link association to Operation = NOT UML.

Geert



Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: EA-Connector to element feature - UML compatib
« Reply #14 on: February 23, 2010, 07:24:36 pm »
Quote
Lets look at how an association is defined in UML.

Quote
An association specifies a semantic relationship that can occur between typed instances. It has at least two ends
represented by properties, each of which is connected to the type of the end.
[size=18]...[/size]
Hi Geert,

I think you have to be careful here... My reading of this quote is that the Association has two ends represented by properties (of the Association) which, in turn, connect to the type of the end.

You can define a UML Association between two classifiers without specifying the attributes involved.  Remember the old slogan:  "a named AssociationEnd IS and Attribute"?  So an unnamed AssociationEnd still complies with the definition, but doesn't involve any feature of the typed End.

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