Sparx Systems Forum

Enterprise Architect => Uml Process => Topic started by: Michael Hafner on January 30, 2010, 10:07:56 pm

Title: EA-Connector to element feature - UML compatible?
Post by: Michael Hafner 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
Title: Re: EA-Connector to element feature - UML compatib
Post by: Eve 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.
Title: Re: EA-Connector to element feature - UML compatib
Post by: Geert Bellekens 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
Title: Re: EA-Connector to element feature - UML compatib
Post by: Michael Hafner 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.
Title: Re: EA-Connector to element feature - UML compatib
Post by: Paolo F Cantoni 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
Title: Re: EA-Connector to element feature - UML compatib
Post by: Geert Bellekens on February 02, 2010, 06:12:39 pm
And what whould an attribute then be if not a typed instance?

Geert
Title: Re: EA-Connector to element feature - UML compatib
Post by: Paolo F Cantoni 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
Title: Re: EA-Connector to element feature - UML compatib
Post by: Geert Bellekens 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
Title: Re: EA-Connector to element feature - UML compatib
Post by: Michael Hafner 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
Title: Re: EA-Connector to element feature - UML compatib
Post by: Frank Horn 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.
Title: Re: EA-Connector to element feature - UML compatib
Post by: salayande 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
Title: Re: EA-Connector to element feature - UML compatib
Post by: Michael Hafner 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
Title: Re: EA-Connector to element feature - UML compatib
Post by: Frank Horn 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.
Title: Re: EA-Connector to element feature - UML compatib
Post by: Geert Bellekens 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


Title: Re: EA-Connector to element feature - UML compatib
Post by: Paolo F Cantoni 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
Title: Re: EA-Connector to element feature - UML compatib
Post by: Frank Horn on February 23, 2010, 07:44:30 pm
Quote
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.

Geert, in XMI 2.1 it certainly doesn't.

But then I think what you are talking about is something different. When you have defined an association, you can type a name for a role, and then the role will not be associated to an attribute, it will just have a name. But instead of typing you can also choose an attribute from the combo box, and this will result in the association being linked to an attribute the way you understand it.

EA's new "link to element" feature is something different altogether. It's a Sparxs specific extension and nothing else. You can do both things for the same role, actually, and with differnet attributes.
Title: Re: EA-Connector to element feature - UML compatib
Post by: Geert Bellekens on February 23, 2010, 07:59:37 pm
Would be interesting to hear Sparx's point of view on how this relates to UML then.

Geert