Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » UML2 » Problems with UML2::NamedElement::isDistinguishableFrom
Problems with UML2::NamedElement::isDistinguishableFrom [message #473891] Sat, 07 July 2007 11:49 Go to next message
user is currently offline userFriend
Messages: 296
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------050401060106020101050204
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

I seem to have a problem with my reading understanding of the query
NamedElement::isDistinguishableFrom()

UML 2007-02-03, "The query isDistinguishableFrom() determines whether
two NamedElements may logically co-exist within a Namespace.
By default, two named elements are distinguishable if (a) they have
unrelated types or (b) they have related types but
different names."


A warning is issued for atttached small file.
"Not all the members of namespace '<Class> Class' are distinguishable
within it."

note: Im using the latest Europe 3.3 release.

thanks
/anders

--------------050401060106020101050204
Content-Type: text/xml;
name="default.uml"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="default.uml"

<?xml version="1.0" encoding="UTF-8"?>
<uml:Package xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xmi:id="_xZ0P4SpPEdybW4WcTRWaZg">
<eAnnotations xmi:id="_2CQoASx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2CQoAix7EdyIN_9H57vYNQ" key="uuid" value="_2CQoACx7EdyIN_9H57vYNQ"/>
</eAnnotations>
<packagedElement xmi:type="uml:DataType" xmi:id="_3MagoCpPEdybW4WcTRWaZg" name="A">
<eAnnotations xmi:id="_2CQoBCx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2CQoBSx7EdyIN_9H57vYNQ" key="uuid" value="_2CQoAyx7EdyIN_9H57vYNQ"/>
</eAnnotations>
<ownedAttribute xmi:id="_5XvIsCpPEdybW4WcTRWaZg" name="property" type="_PNCdICx2EdyhfbRgxFvqZQ" aggregation="composite">
<eAnnotations xmi:id="_2CQoByx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2CQoCCx7EdyIN_9H57vYNQ" key="uuid" value="_2CQoBix7EdyIN_9H57vYNQ"/>
</eAnnotations>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_7f7kQCpPEdybW4WcTRWaZg" name="Class">
<eAnnotations xmi:id="_2CQoCix7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2CQoCyx7EdyIN_9H57vYNQ" key="uuid" value="_2CQoCSx7EdyIN_9H57vYNQ"/>
</eAnnotations>
<ownedAttribute xmi:id="_B9caQCpQEdybW4WcTRWaZg" name="property" type="_3MagoCpPEdybW4WcTRWaZg" isReadOnly="true" isDerived="true" isDerivedUnion="true" aggregation="composite">
<eAnnotations xmi:id="_2CaZASx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2CaZAix7EdyIN_9H57vYNQ" key="uuid" value="_2CaZACx7EdyIN_9H57vYNQ"/>
</eAnnotations>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uG_-0CpQEdybW4WcTRWaZg" value="*">
<eAnnotations xmi:id="_2CaZBCx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2CaZBSx7EdyIN_9H57vYNQ" key="uuid" value="_2CaZAyx7EdyIN_9H57vYNQ"/>
</eAnnotations>
</upperValue>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ti8PgCpQEdybW4WcTRWaZg">
<eAnnotations xmi:id="_2CaZByx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2CaZCCx7EdyIN_9H57vYNQ" key="uuid" value="_2CaZBix7EdyIN_9H57vYNQ"/>
</eAnnotations>
</lowerValue>
</ownedAttribute>
<ownedAttribute xmi:id="_Dq9sACpQEdybW4WcTRWaZg" name="property" type="_8k7dcCpPEdybW4WcTRWaZg" aggregation="composite">
<eAnnotations xmi:id="_2CaZCix7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2CaZCyx7EdyIN_9H57vYNQ" key="uuid" value="_2CaZCSx7EdyIN_9H57vYNQ"/>
</eAnnotations>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Port" xmi:id="_m1ptMCx2EdyhfbRgxFvqZQ" name="port" aggregation="composite">
<eAnnotations xmi:id="_2Cji8Sx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2Cji8ix7EdyIN_9H57vYNQ" key="uuid" value="_2Cji8Cx7EdyIN_9H57vYNQ"/>
</eAnnotations>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:DataType" xmi:id="_8k7dcCpPEdybW4WcTRWaZg" name="B">
<eAnnotations xmi:id="_2Cji9Cx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2Cji9Sx7EdyIN_9H57vYNQ" key="uuid" value="_2Cji8yx7EdyIN_9H57vYNQ"/>
</eAnnotations>
</packagedElement>
<packagedElement xmi:type="uml:PrimitiveType" xmi:id="_9pxloCpPEdybW4WcTRWaZg" name="P">
<eAnnotations xmi:id="_2Cji9yx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2Cji-Cx7EdyIN_9H57vYNQ" key="uuid" value="_2Cji9ix7EdyIN_9H57vYNQ"/>
</eAnnotations>
<ownedAttribute xmi:id="_AKZvUCpQEdybW4WcTRWaZg" name="property" aggregation="composite">
<eAnnotations xmi:id="_2Cji-ix7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2Cji-yx7EdyIN_9H57vYNQ" key="uuid" value="_2Cji-Sx7EdyIN_9H57vYNQ"/>
</eAnnotations>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:DataType" xmi:id="_PNCdICx2EdyhfbRgxFvqZQ" name="DataType">
<eAnnotations xmi:id="_2CtT-ix7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2CtT-yx7EdyIN_9H57vYNQ" key="uuid" value="_2CtT-Sx7EdyIN_9H57vYNQ"/>
</eAnnotations>
<ownedAttribute xmi:id="_QX2DYCx2EdyhfbRgxFvqZQ" name="property" aggregation="composite">
<eAnnotations xmi:id="_2CtUACx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2CtUASx7EdyIN_9H57vYNQ" key="uuid" value="_2CtT_yx7EdyIN_9H57vYNQ"/>
</eAnnotations>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Component" xmi:id="_oATicCx2EdyhfbRgxFvqZQ" name="Component">
<eAnnotations xmi:id="_2C3E8Sx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2C3E8ix7EdyIN_9H57vYNQ" key="uuid" value="_2C3E8Cx7EdyIN_9H57vYNQ"/>
</eAnnotations>
<ownedAttribute xmi:type="uml:Port" xmi:id="_oh_TMCx2EdyhfbRgxFvqZQ" name="port" aggregation="composite">
<eAnnotations xmi:id="_2C3E9Cx7EdyIN_9H57vYNQ" source="http://www.topcased.org/uuid">
<details xmi:id="_2C3E9Sx7EdyIN_9H57vYNQ" key="uuid" value="_2C3E8yx7EdyIN_9H57vYNQ"/>
</eAnnotations>
</ownedAttribute>
</packagedElement>
</uml:Package>

--------------050401060106020101050204
Content-Type: image/gif;
name="default.gif"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="default.gif"

R0lGODlh+AHsAff/AP///7CwsLSQPbKPPq6NQKqKQKWIQp+GQ5uDRZWAR49+ SYp7S4Z5TYF3
Tnt0UPr7/fj6/ff5/PT3/PH1++7y++vx+ujv+uft+t3d3fb5/PT3++7z++vw +ujv+eft+fb4
/fT2+/H0++zx+unu+ff4/e7z+unu+vb4/PP2/Ovx+3E8F/j6/L+CMcF3K791 KsF6LZNVH65j
JcWDMvf4/Nu/nuXJoc6ri55wWNe5mMeggvnxu9e4l3lPQPn6/K6NP5+GRHyu SsXqoY/CXFyL
uwAAAPb394CAgLCOPqyMQKWJQp6FRZeCRpB+SYl7S4N4TX52T/n7/ZiYkfL0 ++3y+uzw+urv
+uju+vb3/PP3/PL1++ru+uju+fn6/fH1/JmZmenv+ujt+fT2/O7y+vP3++ru +fn7/O7x++3x
+urv+env+bCPP6uMQKaJQp+FRJeCR5F+SYN4Tn51TlJunXajz+Dq9bbO5tvb 27GPPq2NP6iK
QaOIQpiCR5J/SIx9SoZ6TIJ3Tebt+vH0/LfQynKmiTJ6SDqDUXWmhLvQwrrR y0SKXCl6QmGc
clSUZkWKWnSniTaCTvP39Njn3TyFVXutim+lf6TGrkaMWz2FU7GOPqOIQ52F RTR7R0eMW26f
fkSLWmKdc77WxbHOuSx7QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAA+AHsAQAI/gABCBxIsKDB gwgTKlzIsKHD
hxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN mzhz6tzJs6fP
n0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LNoDZ s2jTql3Ltq3b
t3DjriVLt67dAGDx2t3Lt6ter3/7Ch4sNTBXw4QTKz6KWGvjxZAj83yMlbLk y5hjWra6ObPn
zyY7hxRdkjTo06g1ml6Y1uFqka9Ty57tWjVB0bFB5qbNu/fA3QYD6z37m/jf 4WaLEweAdiNw
39BTP79Nnbrh4cGZW6+OcXr075m9/gsUXhDvde3ZyZPPKB68+8XtW483Xv46 /d/M5Xd/z/97
/OzjoYffcQNu51F7/SV4l23lFVgddgEeZx53FyGo4IVi/Rfccs0RmF9yH6LX HIMYluiZhbCN
ZuKKmKHY0Yi6sSgjZC4uJMCNOGo2446E1ajQAA8E+YAAOvJo5F4+JkSAkEPi iKMPKiV55JRE
SXlQAUxmGWQBUVLpZVhWGmQABGSSuUKZEPRgAAYphfnlmzm5SdABEWTwAQkn ZDDDCSeoMMMP
bKIkJ5yEzjSoQAhIoAEIGqDAwguQwgDpCywIWuilVR0KQAITTBBCCBO0QEMN Ntwwqg0vBFoa
pqxGpakC/hRssEEJG7hQgw473HDrDqmepGmrwJKk6QIVcCBCBSm8YMMOOfBg Aw459BpasNQm
pSkDFnQwggkqwHDDDTyE+y0MKvha7blFadrABR6060EMNtRAAw+nxqCqsOjm G5SmDvTrbww4
6FCDrjrgYK+5+iY8mUoYNNxwDDngUOqzORw8rcIY4/RrQTLE4DEMHscgw70j bZzxyQqZTJDD
KjjcMMIox/ySyobKbHNLNMuUM2Ny9ezzz0AHLXRcXu4Mk9HpQoc0X0vjHJ7S Ref1tG9NL/hV
1ftCTSXWXbao9ZRctzl1b2GPVTbMkp1tbdRXj42Sk3DnuJTaUrfttUp3aMkk /iZM0W03YG6f
hAeaEJxJZg9Qzs024HenlEedd+a55wkz5OEQET35zfjmaa+kh6KMoiCBBGGE AUImCRGhOuaY
L7x13ZdtrESnn3oayKeBaIJQ6wPxrpPmfsHeuUp7xDqrrBRQQOsSB/kuUOur 967689OzBPxh
wke2MR/FHpsCBykg4ogkm3RySEHOA+A86wSl3zXYgF1/08Z9ZLutCV8Iksgj k0ziSSPn651B
1qe+9h1tcVkB0YlW4gd2uQsQg1AEJCYYCUUYwoDoo171qqc+96HNSPJjTwjj tJI/+MtfhFgE
ACjBiU+I4hKqSh/7nodBGloPgZmSjclc1rBCMAIA/pWoBCheeC8C8s53SHTa 6zgzwp0gzRCK
iIRAQmFBkq1uhlfsIPQ4uJImXsWLEFGgDmVyiEYowhKWUEQjSFalog3tjXAM GtVmcghDXOIS
hngZUsB4swXSxGGK66Mg8TPHQQ6Sj64zZB8R6URFCjKOkIykJCe5HEfajJKY zKQm32LJmzHy
d5285NdCeTLNeTCRpMzYzo7YvAIq5JQzSyXKVinA3S0Eli75pCytlpLoafGX 7GOdL1k5TA76
Umy7xBjNZujKDtKQmAJk5TNzmUxlriSL0mwmM7epTWziMkXVTNivoGlDbZqT nM1s3zc/ostw
Zkgl6MwmN+NZy3Jayp35/tpYFp3pTGIec58bDOg62YnPfI6yoMFq5/wQei6F 2sShDKXJQCt0
0IimZqIWgShNNGrRjgjziMMs4D5VNMCkHBMiSORiGDs6GGOmU5j1BGcGS4JR W9pUg7gMZg0j
wlGWaiSJQN0pSYUqkpqW1IPZTGfzVGrUAPmUL0GNJlEJOtOPTlOL0PslTqeJ zZja04BIjSks
derVh/T0qReJ6lW/GqOq+tOeMF2rSOVZ1rCGFa4MkSFFzorWiqhVpFM9UElf ak6pGlauf71l
WQvL1oY0VUB9JcsVQbpB9D3WrDMlbFKZOdeuilWpr1zsZifyWL5GViKXLVlm 1fpXzuL1sHkd
/mkNk4javZ6WLqmVaTlZC9bewpaArcwsW0fL2NTZ9rZfMgxlKys9gRozpOpc LGiBu9ORJvWm
PEVucqsbkdyC1iLeDSxDTKtdowSGtg/JbXjV6d2TrrS88CskfEFY0fmyiLxK tK97jMDf/vr3
v730q2wbqd/9NsQIAaYIeglc4O8gmCEPfmZltzjh504Yq8Udrnhrgt8GvyTC CgGxS5kr4d/y
k7F6Fe568eXh6IA4ISL2rWZlDNjPDnSyP+lwi1nyYoTE+LCtxer0Fuxa40r3 oTuGTo8P8uO1
BjnFeL3xhjeaZN8s2SBNrvGMTbzg7053yjWrMm+uXBARA5S9FLZw/laj29jp DhiUYqYNmQmS
ZcdiZMUai7OcDwxm4ZKWKjrWc0nmPBAjbPLQiMakoGVDaIEYOtGQjrTQFp2a RgPA0oGjdGb+
y2n/1lfTZPs0qGnTxOtyeNTgKbVPAo3qLvbSuc29ajGxCGsNIrPV8qUpkM+p V3qi89a45s2h
fO3Zrfo6mnjGbLBDfZJjz3bX9KQesJc9xmZDe9dOPudn70nt2Whq1pSFazFd Cd3Ovq/b0nFJ
sheK7mqzZN1Ibne6cy3vz0j63vgmWr1Pk+9++xtG+/YjswMucGET3N41gTc1 D57plyg8vwwf
3kwefsOIxy4m0aNwrLX6T5VC3OLwgUmX/jmL3iLHEuTaEzkGvSm95g6Z4hJh Ncop6nAZg7Tl
7vN4xWeuGFpiO8rbPiDPe47xIRtboBt378KH3iNRM50u/456vp/edHpTnZcG v3pfZP5BrUPd
6V7/W9bDXheuX4zsX7c62rPn7bWnfeBuBxPY416ZudOdM3a/O6DzrvfC8L3v UDH7qgAfPLUT
Hu+GP/zeE6/4wkj98ZBuvOQnT/nKW/7ymM+85jfP+c57/vOgD73oR0/60pv+ 9KhPvepXz/rW
u/71sI+97GdP+9rb/vYxg7zu4Wje3T8+soJnj3nf2dfg7ydpci8+wpHP9o4a n+ZtTD5an5/R
4Uv/qdSvCBif/p/9kBdcKNwH/vKj33yL7uwIcYvbEeBMfpGgP/1OWv/SsQ8T AejtAVAQEpFI
yHyR2F9v+Rck+/dxLHV+UHCAXJCAUMAFPVAGPcAFasBGYdZ+IXEEB7iACsiA DgiBEth1zgcT
SBAFIjiCJCiCa8BGMKdsFAgSIViCLniCLpeCTjV9MJEEfHIFOJiDOXgCbGBF XjZtWUMSNngC
OliEPBhDfXZ8NPgSSoACKIAFGlA6EjAGXgACo9MGPiiD42V9I9GETxiFYTCF VXiFSHhkHNF9
RPcSSyAFUpAFXTABbOgFXgCHE+AGWVgkK/gRa9iGbxiHcygFdViGbfYi4vcS TDAF/ogoh2Ig
h1NgBmcwBW9QRGZ4dkPhJoeYiF6wiF7QiI8YiTFIiT61M01ABVQgAiIgh15A BRywihywAJI4
iB6YYyUxiqV4inKoiqzoikGnW6EIE05QBVWgBV9gAl6gBWRQBV+ABmkAB0X0 ZucGfiXxi8E4
jMV4jMm4jIL4g2dYiC7xBFZgBVsABlswjuA4jlsQB9mojYOXhx7hjeAojuRo jueYjTKIhomx
MyeUj/mYjlqYENtXEvoYkA4QQ85IVUv4EjyUkICUZ/0nEgqpkPPXi98XhOUX UfaYXQ1ZeAfZ
OJVIfBt5cRmJPco3kUARfsXneyjpM72Xkv4GfCz5km6x/pIweW/cyJHQeH0S 2XCyiJMFiBP9
qIQd+W5UNpIoYWpahl0nx45pJVrq+JMXORjjdGQ5NYFB6VFSqVixaJE0hXQZ B1hnJmEaZ2vr
WJVpxZVGF0zlZlVatZZAmZO6Jk9Z5Wzaxm1kmRHcJG1aNk/1ZHLQR38kUWx0 JZc4pnNDVZcC
ZnS7dW1OxnLbSJQhEW1zmZcZhpcsppQo9XOCOZkn1pY9ORKQmZl0NYnOwYXg hZmKKZmvJXyO
+Zjj1k/IpmZ4OWtZmTk/1ZqI2VnLFZtIN5qrKXGGKZIf6Zs3WZEM9ZQq+Jtb YZxbN36VOJP4
VpMgWSXOSZO9mXIhmZzQ+ZeH/kmYgzhZ3Plelll31VlUfiVe34Rn/8iTH/ia shZSHXdhgDlY
QhWWAMVUz6aWGNYg13lNoilYjjlia1ZiiHVioUlU1GVDOcddAnqUzpOeGBeR nQl0EjqgRKaO
XgVcCXqh5EZjDUqaClZrHEduXCmW1vWdx+mWvMVlg8ldUrZy5ZafX4VFYIVj FDKcCnaacWVz
kcmXx7WRKUqh8rlleZVB0lSgSiWjsAUg4Tmk2baiLrejvMabPqqjXMahflZX K1dLRgplQVaj
FHmjTbpaOIpi4aWcTINmAZqfNKqmliVdMiRbJbpVWIpTuamfS4qVkvmZUEpc fYmi3XVnMmGU
KeOh/qQFoi9anyIaoPjZpxFqoVf6pw/an15aklaJnBY5nZhKqEtpqcWJqdOp qdg5nt4nnZ6a
aNlpnbiHStGZquy3E4JKgKwabzzxkxgZq/zHmmmWdIlqa/T5npVpq+wGEqDZ a2Paj2Z6d1JC
bF35pMMKisA6lMJ6mokZptlGmYX5rND6EaC5l3u6i22FradWVIZKYmpKa4rK ltcKrnioa05x
rHQ3bE/hrnEnr/6orhxWqjNpr/q6r/zar/76rwAbsAI7sARbsAZ7sAibsAq7 sAzbsA77sBAb
sRI7sRRbsRZ7sRibsRq7sRzbsR77sSAbsiI7siRbsiZ7siibsiq7sizb/rIu +7IwG7MyO7M0
W7M2e7M4m7M6u7M827M++7NAG7RCO7REW7RGe7RIq3r4aqpCa5JB67RAC7U/ K7U+S7U9a7U8
i7U7q7U6SxrvB383In93arOk8X9aEoBDAqpb6xAWiIAZ2IAPGIH72bUO0YIu SIIwSKehtTve
yYtV6xBDWIQ6eITeCmb1OLSk4YVQKIVUaIUSgIUaynGyqaBeCZu10bQOsYdu CIdSIId0aIeR
q6XBlZo5SnKX+7QOcYlToIiM6IiQyI9VNbpHuqEm1hD0ynmkQYumiIq4uIq6 GKNymlJcZERR
tqasgbgOIY3CSIzGiIzKyIwaWqTcGr0TCp5R/usQ7hiO5liO44iO2ya906ph 1TtQt7t5pCGQ
+kiQJxWnMPpleiuntou8DvGQCWkSr1qr1xsUXaZ98kuct7W0iBZ4HqlfXKu2 CeRhBTy34llg
CUyqAJxJCDzAffPAmhTB6rk2F6xdDcypC0zAEhxI/EmV9rXBNroRRsmjsOif DJwSc9DCLZyt
faOtV7m3zgpfmjIHdEAHdTAEdiDCIFyWGteVaEliaumrJOLBKIHDdbDDPawz AswRd8lPelmt
R3nEI8zCS8zEfKt039oU7RGfiSmYjCmlSHwSczAEaMzD2HW48WqXpkmtqNmm Vjxfv2IHdmzH
azyWMQyoVLyt4euo/qe7GLTKwUIpqYyqFF9sm/P0nltEoiaKv4oxyCUcqEl4 yBjsv1WBn2f2
UZK8kyIhB6AsBwAQyqIMygMhyu/7q3uMyVQxYjNqyBoZEqZcyqU8yrOMyoDc mO36wVrxZJUc
yyBByrZ8y6NczClskF7My1nhy7AMnLKMy6EsELNszLlMxqssdlzBzMfMyhdh ytJcy9OMy67W
xhl8Fdpczc7MOdfMrrLaFWv6lS13puVswDIcrO5Masq8RzMal8G7lpuMYfdb w8uMz/PcfwBa
vCo6veiMzFdc0O33owwqpBINq+VFwRVMzhP6ZE5avRStwRataBgtpOecmlW8 c2WMzT8M/tGm
26XNnK42nM+Mgabi5lx1uj4BPZv/2xKdjBAadV6QWprr2tCV+l0ovNDVF9I1 pV4+/NIe8apT
idPp8tGUZMF3ZpY6xclhvJvoetTtKtWTRNU/RaZwHMVFPRE9DdM5bZfLimLd qrePDMk/rM50
7MZ9XKyitWJn7dCiepl1PdZs3dL1GtI1t82E2GCJHFDS5k+Wu5tczL+CrW4Q ytTcPMmoNa78
LLnmCr+NDdeSjdKIvKl5imxHZdfWPNd6Tdl8nafFBtDFitdgLdefDdSh/Wx+ DZequcKn/aV/
VtvcmpmAraQnDduXfJiaTa6ISp/seduQ0WnMDczaac/rzMeo/j0YloZpj+2Z DLnLUDy2dVHd
sVzEiRqXi42bmgmEsT3ZdOHdznzQmvVrpavQHc0zXh1Jl6HeoZrRVsrSJT3O nmffjsGiNrbP
az3RJs15/n3AAT6+7svRBb55B97BKi3RpvvLfqt5D/5FMv1S4FbTcmzUDO3g fLbeP12eQQ3i
EPbdI77bJW7hIZ6c803fn3fhTPTicQR6Mp5Dud1ticbcnQZ5DZ7OFkfChY3e Oo7WLl3IHs7V
KCfkuqxy8R1wTF7alZ2rJLqrwOTIFqbcIBflc/zTUzxXo83bUs5wXK7ltdWk qx2fxDbmB1fm
nOnlkRm+X07WZTp0bm7J6UXabR3H/kk+qWTeEGkc6Gkc11AdW1Qeok/qmohu bmYecaIxBAgx
BB043aq13YRcb5QBBJq+6ZteBAMh6edt3rKt20GeEEAQBKie6kEABKoC6mhm E7BkMneOapke
BEJw67jO6p/+ij45qF1E4zXOc5nO6Zze6ukYvBlXYRzOyGAJv3aavwhBv7s+ p3XtyqJNoeDL
0/07Ea6+4HG80vltpdpYvpo37MSu6QTR7VD27RLe3mkOi+SeebWu6qiu6wKh 7kFK1u2eWIQ1
7tteEKeO67lu7PNJpRF9zhMe6/9OEOe+6QT/6mya1cze7/DcTdqOuQnhMJLu MtMe1k+Os48u
6IE+6Wf+/uNZO7/SPtxTa+Q3O+ss6/IrC+zB/rQy/0YLD+RXy/Jkq9Mw/LdN zZRPLdBr+/Pd
iad67PNVHcRnSd68FpZb7diou922Pdvsvm7xjnmHre9iLmSb2egnL91aT/VR zGZeP/SgHfZz
/teEHb8Yn/SNrOhMX65Y3uQrn+MyC/Mqi/cpW/M237R8P2lt79lfT+R3r/M1 uzQ3rcLQ7uQm
b/bEDaPuOfe9muVvPvhgKvZdj/m/VvmOr+KLPOBqDm2uHfieH+ds7duZb9Y3 n9ppH5hj+tvP
XvfgZdkz3cjI3exlT7eWTuk5iyI7jee6T/gx+/eAT/PE/zOr/9+k79w5/9yt 5yr75Mlgi/+Y
qor0TY2YRjy5T9/llr/7s1uhctXF0O/9ufpcn/jWSj7+Jmzw5p9zD3f1l+cj Ef5zfX68y2/C
2J/sTq/9H978wg8QAAQOJFjQ4EGECRUuZNjQ4UOIESVOpFjR4kWMGTVuPBiA 40eQCz2GJFnS
5EmUKVWuZNmyo0uYDUfGpFnT5k2cOXVaDNDT50+gQYUOJVrU6FGkRHcuZdrU 6VOoUaVOpVrV
6lWsWbVu5drV61ewYcWOJVvW7Fm0adWuZdvW7Vu4ceXOpVvX7l28efXu5dvX 71/AgQUPJlzY
8GHEiUEGBAA7
--------------050401060106020101050204--
Re: Problems with UML2::NamedElement::isDistinguishableFrom [message #473893 is a reply to message #473891] Mon, 09 July 2007 15:21 Go to previous messageGo to next message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
Hi Anders,

The query isDistinguishableFrom() is checking metatypes not types.
In your case, the warning appears because the metatypes of "property" in
"Class" are the same ( Propety ) and the names are also the same.

The OCL as it appears in the spec is not entirely correct since it uses
"..self.oclType", where "oclType" is not properly formed OCL (I double
checked that with Christian Damus <aka Mr.OCL > )
The query behaves as you would expect most programming languages to behave
( Java in particular ). For example, you would get a warning if you had
two attributes with the same name even if their types were different.

The query should return true in a scenario where you have a nested Class and
a nested Interface under a namespace that have the same name. In that case,
the metatypes would be different.

Regards,

- James.

<user@domain.com> wrote in message news:468F7DC6.8050409@domain.com...
> Hi,
>
> I seem to have a problem with my reading understanding of the query
> NamedElement::isDistinguishableFrom()
>
> UML 2007-02-03, "The query isDistinguishableFrom() determines whether
> two NamedElements may logically co-exist within a Namespace.
> By default, two named elements are distinguishable if (a) they have
> unrelated types or (b) they have related types but
> different names."
>
>
> A warning is issued for atttached small file.
> "Not all the members of namespace '<Class> Class' are distinguishable
> within it."
>
> note: Im using the latest Europe 3.3 release.
>
> thanks
> /anders
>


------------------------------------------------------------ ----------------
----


> <?xml version="1.0" encoding="UTF-8"?>
> <uml:Package xmi:version="2.1"
xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML"
xmi:id="_xZ0P4SpPEdybW4WcTRWaZg">
> <eAnnotations xmi:id="_2CQoASx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CQoAix7EdyIN_9H57vYNQ" key="uuid"
value="_2CQoACx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <packagedElement xmi:type="uml:DataType"
xmi:id="_3MagoCpPEdybW4WcTRWaZg" name="A">
> <eAnnotations xmi:id="_2CQoBCx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CQoBSx7EdyIN_9H57vYNQ" key="uuid"
value="_2CQoAyx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <ownedAttribute xmi:id="_5XvIsCpPEdybW4WcTRWaZg" name="property"
type="_PNCdICx2EdyhfbRgxFvqZQ" aggregation="composite">
> <eAnnotations xmi:id="_2CQoByx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CQoCCx7EdyIN_9H57vYNQ" key="uuid"
value="_2CQoBix7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> </packagedElement>
> <packagedElement xmi:type="uml:Class" xmi:id="_7f7kQCpPEdybW4WcTRWaZg"
name="Class">
> <eAnnotations xmi:id="_2CQoCix7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CQoCyx7EdyIN_9H57vYNQ" key="uuid"
value="_2CQoCSx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <ownedAttribute xmi:id="_B9caQCpQEdybW4WcTRWaZg" name="property"
type="_3MagoCpPEdybW4WcTRWaZg" isReadOnly="true" isDerived="true"
isDerivedUnion="true" aggregation="composite">
> <eAnnotations xmi:id="_2CaZASx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CaZAix7EdyIN_9H57vYNQ" key="uuid"
value="_2CaZACx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <upperValue xmi:type="uml:LiteralUnlimitedNatural"
xmi:id="_uG_-0CpQEdybW4WcTRWaZg" value="*">
> <eAnnotations xmi:id="_2CaZBCx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CaZBSx7EdyIN_9H57vYNQ" key="uuid"
value="_2CaZAyx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </upperValue>
> <lowerValue xmi:type="uml:LiteralInteger"
xmi:id="_ti8PgCpQEdybW4WcTRWaZg">
> <eAnnotations xmi:id="_2CaZByx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CaZCCx7EdyIN_9H57vYNQ" key="uuid"
value="_2CaZBix7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </lowerValue>
> </ownedAttribute>
> <ownedAttribute xmi:id="_Dq9sACpQEdybW4WcTRWaZg" name="property"
type="_8k7dcCpPEdybW4WcTRWaZg" aggregation="composite">
> <eAnnotations xmi:id="_2CaZCix7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CaZCyx7EdyIN_9H57vYNQ" key="uuid"
value="_2CaZCSx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> <ownedAttribute xmi:type="uml:Port" xmi:id="_m1ptMCx2EdyhfbRgxFvqZQ"
name="port" aggregation="composite">
> <eAnnotations xmi:id="_2Cji8Sx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2Cji8ix7EdyIN_9H57vYNQ" key="uuid"
value="_2Cji8Cx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> </packagedElement>
> <packagedElement xmi:type="uml:DataType"
xmi:id="_8k7dcCpPEdybW4WcTRWaZg" name="B">
> <eAnnotations xmi:id="_2Cji9Cx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2Cji9Sx7EdyIN_9H57vYNQ" key="uuid"
value="_2Cji8yx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </packagedElement>
> <packagedElement xmi:type="uml:PrimitiveType"
xmi:id="_9pxloCpPEdybW4WcTRWaZg" name="P">
> <eAnnotations xmi:id="_2Cji9yx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2Cji-Cx7EdyIN_9H57vYNQ" key="uuid"
value="_2Cji9ix7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <ownedAttribute xmi:id="_AKZvUCpQEdybW4WcTRWaZg" name="property"
aggregation="composite">
> <eAnnotations xmi:id="_2Cji-ix7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2Cji-yx7EdyIN_9H57vYNQ" key="uuid"
value="_2Cji-Sx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> </packagedElement>
> <packagedElement xmi:type="uml:DataType"
xmi:id="_PNCdICx2EdyhfbRgxFvqZQ" name="DataType">
> <eAnnotations xmi:id="_2CtT-ix7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CtT-yx7EdyIN_9H57vYNQ" key="uuid"
value="_2CtT-Sx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <ownedAttribute xmi:id="_QX2DYCx2EdyhfbRgxFvqZQ" name="property"
aggregation="composite">
> <eAnnotations xmi:id="_2CtUACx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CtUASx7EdyIN_9H57vYNQ" key="uuid"
value="_2CtT_yx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> </packagedElement>
> <packagedElement xmi:type="uml:Component"
xmi:id="_oATicCx2EdyhfbRgxFvqZQ" name="Component">
> <eAnnotations xmi:id="_2C3E8Sx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2C3E8ix7EdyIN_9H57vYNQ" key="uuid"
value="_2C3E8Cx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <ownedAttribute xmi:type="uml:Port" xmi:id="_oh_TMCx2EdyhfbRgxFvqZQ"
name="port" aggregation="composite">
> <eAnnotations xmi:id="_2C3E9Cx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2C3E9Sx7EdyIN_9H57vYNQ" key="uuid"
value="_2C3E8yx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> </packagedElement>
> </uml:Package>
>


------------------------------------------------------------ ----------------
----
Re: Problems with UML2::NamedElement::isDistinguishableFrom [message #473947 is a reply to message #473893] Wed, 11 July 2007 13:23 Go to previous messageGo to next message
user is currently offline userFriend
Messages: 296
Registered: July 2009
Senior Member
Hi James,

Thanks with the reading help, i see now what i missed!

Unfortunately I was hoping that the rule was wider than what its is.

Im trying to layer different kinds of naming-conventions ontop of CMOF
and UML2 (namespace, named element), but one of the really tricky one
allows same named properties with different property-type:s.

Personally I objected to that particular rule but for some reasons it
was needed.

It would have been great if the Infrastructure: E/CMOF Namedelement
isDistinguishableFrom would have been more permissive in order to allow
flexible naming conventions. And then UML2 could have restricted the
query to get better alignment with realisation technologies..

thanks
/anders


James Bruck wrote:
> Hi Anders,
>
> The query isDistinguishableFrom() is checking metatypes not types.
> In your case, the warning appears because the metatypes of "property" in
> "Class" are the same ( Propety ) and the names are also the same.
>
> The OCL as it appears in the spec is not entirely correct since it uses
> "..self.oclType", where "oclType" is not properly formed OCL (I double
> checked that with Christian Damus <aka Mr.OCL > )
> The query behaves as you would expect most programming languages to behave
> ( Java in particular ). For example, you would get a warning if you had
> two attributes with the same name even if their types were different.
>
> The query should return true in a scenario where you have a nested Class and
> a nested Interface under a namespace that have the same name. In that case,
> the metatypes would be different.
>
> Regards,
>
> - James.
>
> <user@domain.com> wrote in message news:468F7DC6.8050409@domain.com...
>> Hi,
>>
>> I seem to have a problem with my reading understanding of the query
>> NamedElement::isDistinguishableFrom()
>>
>> UML 2007-02-03, "The query isDistinguishableFrom() determines whether
>> two NamedElements may logically co-exist within a Namespace.
>> By default, two named elements are distinguishable if (a) they have
>> unrelated types or (b) they have related types but
>> different names."
>>
>>
>> A warning is issued for atttached small file.
>> "Not all the members of namespace '<Class> Class' are distinguishable
>> within it."
>>
>> note: Im using the latest Europe 3.3 release.
>>
>> thanks
>> /anders
>>
>
>
> ------------------------------------------------------------ ----------------
> ----
>
>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <uml:Package xmi:version="2.1"
> xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
> xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML"
> xmi:id="_xZ0P4SpPEdybW4WcTRWaZg">
>> <eAnnotations xmi:id="_2CQoASx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CQoAix7EdyIN_9H57vYNQ" key="uuid"
> value="_2CQoACx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <packagedElement xmi:type="uml:DataType"
> xmi:id="_3MagoCpPEdybW4WcTRWaZg" name="A">
>> <eAnnotations xmi:id="_2CQoBCx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CQoBSx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CQoAyx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <ownedAttribute xmi:id="_5XvIsCpPEdybW4WcTRWaZg" name="property"
> type="_PNCdICx2EdyhfbRgxFvqZQ" aggregation="composite">
>> <eAnnotations xmi:id="_2CQoByx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CQoCCx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CQoBix7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> </packagedElement>
>> <packagedElement xmi:type="uml:Class" xmi:id="_7f7kQCpPEdybW4WcTRWaZg"
> name="Class">
>> <eAnnotations xmi:id="_2CQoCix7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CQoCyx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CQoCSx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <ownedAttribute xmi:id="_B9caQCpQEdybW4WcTRWaZg" name="property"
> type="_3MagoCpPEdybW4WcTRWaZg" isReadOnly="true" isDerived="true"
> isDerivedUnion="true" aggregation="composite">
>> <eAnnotations xmi:id="_2CaZASx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CaZAix7EdyIN_9H57vYNQ" key="uuid"
> value="_2CaZACx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <upperValue xmi:type="uml:LiteralUnlimitedNatural"
> xmi:id="_uG_-0CpQEdybW4WcTRWaZg" value="*">
>> <eAnnotations xmi:id="_2CaZBCx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CaZBSx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CaZAyx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </upperValue>
>> <lowerValue xmi:type="uml:LiteralInteger"
> xmi:id="_ti8PgCpQEdybW4WcTRWaZg">
>> <eAnnotations xmi:id="_2CaZByx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CaZCCx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CaZBix7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </lowerValue>
>> </ownedAttribute>
>> <ownedAttribute xmi:id="_Dq9sACpQEdybW4WcTRWaZg" name="property"
> type="_8k7dcCpPEdybW4WcTRWaZg" aggregation="composite">
>> <eAnnotations xmi:id="_2CaZCix7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CaZCyx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CaZCSx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> <ownedAttribute xmi:type="uml:Port" xmi:id="_m1ptMCx2EdyhfbRgxFvqZQ"
> name="port" aggregation="composite">
>> <eAnnotations xmi:id="_2Cji8Sx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2Cji8ix7EdyIN_9H57vYNQ" key="uuid"
> value="_2Cji8Cx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> </packagedElement>
>> <packagedElement xmi:type="uml:DataType"
> xmi:id="_8k7dcCpPEdybW4WcTRWaZg" name="B">
>> <eAnnotations xmi:id="_2Cji9Cx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2Cji9Sx7EdyIN_9H57vYNQ" key="uuid"
> value="_2Cji8yx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </packagedElement>
>> <packagedElement xmi:type="uml:PrimitiveType"
> xmi:id="_9pxloCpPEdybW4WcTRWaZg" name="P">
>> <eAnnotations xmi:id="_2Cji9yx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2Cji-Cx7EdyIN_9H57vYNQ" key="uuid"
> value="_2Cji9ix7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <ownedAttribute xmi:id="_AKZvUCpQEdybW4WcTRWaZg" name="property"
> aggregation="composite">
>> <eAnnotations xmi:id="_2Cji-ix7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2Cji-yx7EdyIN_9H57vYNQ" key="uuid"
> value="_2Cji-Sx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> </packagedElement>
>> <packagedElement xmi:type="uml:DataType"
> xmi:id="_PNCdICx2EdyhfbRgxFvqZQ" name="DataType">
>> <eAnnotations xmi:id="_2CtT-ix7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CtT-yx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CtT-Sx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <ownedAttribute xmi:id="_QX2DYCx2EdyhfbRgxFvqZQ" name="property"
> aggregation="composite">
>> <eAnnotations xmi:id="_2CtUACx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CtUASx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CtT_yx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> </packagedElement>
>> <packagedElement xmi:type="uml:Component"
> xmi:id="_oATicCx2EdyhfbRgxFvqZQ" name="Component">
>> <eAnnotations xmi:id="_2C3E8Sx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2C3E8ix7EdyIN_9H57vYNQ" key="uuid"
> value="_2C3E8Cx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <ownedAttribute xmi:type="uml:Port" xmi:id="_oh_TMCx2EdyhfbRgxFvqZQ"
> name="port" aggregation="composite">
>> <eAnnotations xmi:id="_2C3E9Cx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2C3E9Sx7EdyIN_9H57vYNQ" key="uuid"
> value="_2C3E8yx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> </packagedElement>
>> </uml:Package>
>>
>
>
> ------------------------------------------------------------ ----------------
> ----
>
>
>
>
>
Re: Problems with UML2::NamedElement::isDistinguishableFrom [message #473949 is a reply to message #473947] Wed, 11 July 2007 13:48 Go to previous message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
Hi Anders,

You might want to bring that up with OMG and attempt getting the spec
changed.
You can try sending an email to issues@omg.org or uml2-rtf@omg.org.
Unless you have very strong arguments against how the spec defines this
currently you might have a bit of a battle getting the spec changed :)
The opensource API really tries to follow the spec to the letter; warts and
all.

- James.


<user@domain.com> wrote in message news:f72lki$80c$1@build.eclipse.org...
> Hi James,
>
> Thanks with the reading help, i see now what i missed!
>
> Unfortunately I was hoping that the rule was wider than what its is.
>
> Im trying to layer different kinds of naming-conventions ontop of CMOF
> and UML2 (namespace, named element), but one of the really tricky one
> allows same named properties with different property-type:s.
>
> Personally I objected to that particular rule but for some reasons it
> was needed.
>
> It would have been great if the Infrastructure: E/CMOF Namedelement
> isDistinguishableFrom would have been more permissive in order to allow
> flexible naming conventions. And then UML2 could have restricted the
> query to get better alignment with realisation technologies..
>
> thanks
> /anders
>
>
> James Bruck wrote:
> > Hi Anders,
> >
> > The query isDistinguishableFrom() is checking metatypes not types.
> > In your case, the warning appears because the metatypes of "property" in
> > "Class" are the same ( Propety ) and the names are also the same.
> >
> > The OCL as it appears in the spec is not entirely correct since it uses
> > "..self.oclType", where "oclType" is not properly formed OCL (I double
> > checked that with Christian Damus <aka Mr.OCL > )
> > The query behaves as you would expect most programming languages to
behave
> > ( Java in particular ). For example, you would get a warning if you
had
> > two attributes with the same name even if their types were different.
> >
> > The query should return true in a scenario where you have a nested Class
and
> > a nested Interface under a namespace that have the same name. In that
case,
> > the metatypes would be different.
> >
> > Regards,
> >
> > - James.
> >
> > <user@domain.com> wrote in message news:468F7DC6.8050409@domain.com...
> >> Hi,
> >>
> >> I seem to have a problem with my reading understanding of the query
> >> NamedElement::isDistinguishableFrom()
> >>
> >> UML 2007-02-03, "The query isDistinguishableFrom() determines whether
> >> two NamedElements may logically co-exist within a Namespace.
> >> By default, two named elements are distinguishable if (a) they have
> >> unrelated types or (b) they have related types but
> >> different names."
> >>
> >>
> >> A warning is issued for atttached small file.
> >> "Not all the members of namespace '<Class> Class' are distinguishable
> >> within it."
> >>
> >> note: Im using the latest Europe 3.3 release.
> >>
> >> thanks
> >> /anders
> >>
> >
> >
>
> ------------------------------------------------------------ --------------
--
> > ----
> >
> >
> >> <?xml version="1.0" encoding="UTF-8"?>
> >> <uml:Package xmi:version="2.1"
> > xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
> > xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML"
> > xmi:id="_xZ0P4SpPEdybW4WcTRWaZg">
> >> <eAnnotations xmi:id="_2CQoASx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CQoAix7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CQoACx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <packagedElement xmi:type="uml:DataType"
> > xmi:id="_3MagoCpPEdybW4WcTRWaZg" name="A">
> >> <eAnnotations xmi:id="_2CQoBCx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CQoBSx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CQoAyx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <ownedAttribute xmi:id="_5XvIsCpPEdybW4WcTRWaZg" name="property"
> > type="_PNCdICx2EdyhfbRgxFvqZQ" aggregation="composite">
> >> <eAnnotations xmi:id="_2CQoByx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CQoCCx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CQoBix7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> </packagedElement>
> >> <packagedElement xmi:type="uml:Class"
xmi:id="_7f7kQCpPEdybW4WcTRWaZg"
> > name="Class">
> >> <eAnnotations xmi:id="_2CQoCix7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CQoCyx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CQoCSx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <ownedAttribute xmi:id="_B9caQCpQEdybW4WcTRWaZg" name="property"
> > type="_3MagoCpPEdybW4WcTRWaZg" isReadOnly="true" isDerived="true"
> > isDerivedUnion="true" aggregation="composite">
> >> <eAnnotations xmi:id="_2CaZASx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CaZAix7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CaZACx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <upperValue xmi:type="uml:LiteralUnlimitedNatural"
> > xmi:id="_uG_-0CpQEdybW4WcTRWaZg" value="*">
> >> <eAnnotations xmi:id="_2CaZBCx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CaZBSx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CaZAyx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </upperValue>
> >> <lowerValue xmi:type="uml:LiteralInteger"
> > xmi:id="_ti8PgCpQEdybW4WcTRWaZg">
> >> <eAnnotations xmi:id="_2CaZByx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CaZCCx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CaZBix7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </lowerValue>
> >> </ownedAttribute>
> >> <ownedAttribute xmi:id="_Dq9sACpQEdybW4WcTRWaZg" name="property"
> > type="_8k7dcCpPEdybW4WcTRWaZg" aggregation="composite">
> >> <eAnnotations xmi:id="_2CaZCix7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CaZCyx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CaZCSx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> <ownedAttribute xmi:type="uml:Port"
xmi:id="_m1ptMCx2EdyhfbRgxFvqZQ"
> > name="port" aggregation="composite">
> >> <eAnnotations xmi:id="_2Cji8Sx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2Cji8ix7EdyIN_9H57vYNQ" key="uuid"
> > value="_2Cji8Cx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> </packagedElement>
> >> <packagedElement xmi:type="uml:DataType"
> > xmi:id="_8k7dcCpPEdybW4WcTRWaZg" name="B">
> >> <eAnnotations xmi:id="_2Cji9Cx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2Cji9Sx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2Cji8yx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </packagedElement>
> >> <packagedElement xmi:type="uml:PrimitiveType"
> > xmi:id="_9pxloCpPEdybW4WcTRWaZg" name="P">
> >> <eAnnotations xmi:id="_2Cji9yx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2Cji-Cx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2Cji9ix7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <ownedAttribute xmi:id="_AKZvUCpQEdybW4WcTRWaZg" name="property"
> > aggregation="composite">
> >> <eAnnotations xmi:id="_2Cji-ix7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2Cji-yx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2Cji-Sx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> </packagedElement>
> >> <packagedElement xmi:type="uml:DataType"
> > xmi:id="_PNCdICx2EdyhfbRgxFvqZQ" name="DataType">
> >> <eAnnotations xmi:id="_2CtT-ix7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CtT-yx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CtT-Sx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <ownedAttribute xmi:id="_QX2DYCx2EdyhfbRgxFvqZQ" name="property"
> > aggregation="composite">
> >> <eAnnotations xmi:id="_2CtUACx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CtUASx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CtT_yx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> </packagedElement>
> >> <packagedElement xmi:type="uml:Component"
> > xmi:id="_oATicCx2EdyhfbRgxFvqZQ" name="Component">
> >> <eAnnotations xmi:id="_2C3E8Sx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2C3E8ix7EdyIN_9H57vYNQ" key="uuid"
> > value="_2C3E8Cx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <ownedAttribute xmi:type="uml:Port"
xmi:id="_oh_TMCx2EdyhfbRgxFvqZQ"
> > name="port" aggregation="composite">
> >> <eAnnotations xmi:id="_2C3E9Cx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2C3E9Sx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2C3E8yx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> </packagedElement>
> >> </uml:Package>
> >>
> >
> >
>
> ------------------------------------------------------------ --------------
--
> > ----
> >
> >
> >
> >
> >
Re: Problems with UML2::NamedElement::isDistinguishableFrom [message #623307 is a reply to message #473891] Mon, 09 July 2007 15:21 Go to previous message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
Hi Anders,

The query isDistinguishableFrom() is checking metatypes not types.
In your case, the warning appears because the metatypes of "property" in
"Class" are the same ( Propety ) and the names are also the same.

The OCL as it appears in the spec is not entirely correct since it uses
"..self.oclType", where "oclType" is not properly formed OCL (I double
checked that with Christian Damus <aka Mr.OCL > )
The query behaves as you would expect most programming languages to behave
( Java in particular ). For example, you would get a warning if you had
two attributes with the same name even if their types were different.

The query should return true in a scenario where you have a nested Class and
a nested Interface under a namespace that have the same name. In that case,
the metatypes would be different.

Regards,

- James.

<user@domain.com> wrote in message news:468F7DC6.8050409@domain.com...
> Hi,
>
> I seem to have a problem with my reading understanding of the query
> NamedElement::isDistinguishableFrom()
>
> UML 2007-02-03, "The query isDistinguishableFrom() determines whether
> two NamedElements may logically co-exist within a Namespace.
> By default, two named elements are distinguishable if (a) they have
> unrelated types or (b) they have related types but
> different names."
>
>
> A warning is issued for atttached small file.
> "Not all the members of namespace '<Class> Class' are distinguishable
> within it."
>
> note: Im using the latest Europe 3.3 release.
>
> thanks
> /anders
>


------------------------------------------------------------ ----------------
----


> <?xml version="1.0" encoding="UTF-8"?>
> <uml:Package xmi:version="2.1"
xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML"
xmi:id="_xZ0P4SpPEdybW4WcTRWaZg">
> <eAnnotations xmi:id="_2CQoASx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CQoAix7EdyIN_9H57vYNQ" key="uuid"
value="_2CQoACx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <packagedElement xmi:type="uml:DataType"
xmi:id="_3MagoCpPEdybW4WcTRWaZg" name="A">
> <eAnnotations xmi:id="_2CQoBCx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CQoBSx7EdyIN_9H57vYNQ" key="uuid"
value="_2CQoAyx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <ownedAttribute xmi:id="_5XvIsCpPEdybW4WcTRWaZg" name="property"
type="_PNCdICx2EdyhfbRgxFvqZQ" aggregation="composite">
> <eAnnotations xmi:id="_2CQoByx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CQoCCx7EdyIN_9H57vYNQ" key="uuid"
value="_2CQoBix7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> </packagedElement>
> <packagedElement xmi:type="uml:Class" xmi:id="_7f7kQCpPEdybW4WcTRWaZg"
name="Class">
> <eAnnotations xmi:id="_2CQoCix7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CQoCyx7EdyIN_9H57vYNQ" key="uuid"
value="_2CQoCSx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <ownedAttribute xmi:id="_B9caQCpQEdybW4WcTRWaZg" name="property"
type="_3MagoCpPEdybW4WcTRWaZg" isReadOnly="true" isDerived="true"
isDerivedUnion="true" aggregation="composite">
> <eAnnotations xmi:id="_2CaZASx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CaZAix7EdyIN_9H57vYNQ" key="uuid"
value="_2CaZACx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <upperValue xmi:type="uml:LiteralUnlimitedNatural"
xmi:id="_uG_-0CpQEdybW4WcTRWaZg" value="*">
> <eAnnotations xmi:id="_2CaZBCx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CaZBSx7EdyIN_9H57vYNQ" key="uuid"
value="_2CaZAyx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </upperValue>
> <lowerValue xmi:type="uml:LiteralInteger"
xmi:id="_ti8PgCpQEdybW4WcTRWaZg">
> <eAnnotations xmi:id="_2CaZByx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CaZCCx7EdyIN_9H57vYNQ" key="uuid"
value="_2CaZBix7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </lowerValue>
> </ownedAttribute>
> <ownedAttribute xmi:id="_Dq9sACpQEdybW4WcTRWaZg" name="property"
type="_8k7dcCpPEdybW4WcTRWaZg" aggregation="composite">
> <eAnnotations xmi:id="_2CaZCix7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CaZCyx7EdyIN_9H57vYNQ" key="uuid"
value="_2CaZCSx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> <ownedAttribute xmi:type="uml:Port" xmi:id="_m1ptMCx2EdyhfbRgxFvqZQ"
name="port" aggregation="composite">
> <eAnnotations xmi:id="_2Cji8Sx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2Cji8ix7EdyIN_9H57vYNQ" key="uuid"
value="_2Cji8Cx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> </packagedElement>
> <packagedElement xmi:type="uml:DataType"
xmi:id="_8k7dcCpPEdybW4WcTRWaZg" name="B">
> <eAnnotations xmi:id="_2Cji9Cx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2Cji9Sx7EdyIN_9H57vYNQ" key="uuid"
value="_2Cji8yx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </packagedElement>
> <packagedElement xmi:type="uml:PrimitiveType"
xmi:id="_9pxloCpPEdybW4WcTRWaZg" name="P">
> <eAnnotations xmi:id="_2Cji9yx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2Cji-Cx7EdyIN_9H57vYNQ" key="uuid"
value="_2Cji9ix7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <ownedAttribute xmi:id="_AKZvUCpQEdybW4WcTRWaZg" name="property"
aggregation="composite">
> <eAnnotations xmi:id="_2Cji-ix7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2Cji-yx7EdyIN_9H57vYNQ" key="uuid"
value="_2Cji-Sx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> </packagedElement>
> <packagedElement xmi:type="uml:DataType"
xmi:id="_PNCdICx2EdyhfbRgxFvqZQ" name="DataType">
> <eAnnotations xmi:id="_2CtT-ix7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CtT-yx7EdyIN_9H57vYNQ" key="uuid"
value="_2CtT-Sx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <ownedAttribute xmi:id="_QX2DYCx2EdyhfbRgxFvqZQ" name="property"
aggregation="composite">
> <eAnnotations xmi:id="_2CtUACx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2CtUASx7EdyIN_9H57vYNQ" key="uuid"
value="_2CtT_yx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> </packagedElement>
> <packagedElement xmi:type="uml:Component"
xmi:id="_oATicCx2EdyhfbRgxFvqZQ" name="Component">
> <eAnnotations xmi:id="_2C3E8Sx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2C3E8ix7EdyIN_9H57vYNQ" key="uuid"
value="_2C3E8Cx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> <ownedAttribute xmi:type="uml:Port" xmi:id="_oh_TMCx2EdyhfbRgxFvqZQ"
name="port" aggregation="composite">
> <eAnnotations xmi:id="_2C3E9Cx7EdyIN_9H57vYNQ"
source="http://www.topcased.org/uuid">
> <details xmi:id="_2C3E9Sx7EdyIN_9H57vYNQ" key="uuid"
value="_2C3E8yx7EdyIN_9H57vYNQ"/>
> </eAnnotations>
> </ownedAttribute>
> </packagedElement>
> </uml:Package>
>


------------------------------------------------------------ ----------------
----
Re: Problems with UML2::NamedElement::isDistinguishableFrom [message #623646 is a reply to message #473893] Wed, 11 July 2007 13:23 Go to previous message
user is currently offline userFriend
Messages: 296
Registered: July 2009
Senior Member
Hi James,

Thanks with the reading help, i see now what i missed!

Unfortunately I was hoping that the rule was wider than what its is.

Im trying to layer different kinds of naming-conventions ontop of CMOF
and UML2 (namespace, named element), but one of the really tricky one
allows same named properties with different property-type:s.

Personally I objected to that particular rule but for some reasons it
was needed.

It would have been great if the Infrastructure: E/CMOF Namedelement
isDistinguishableFrom would have been more permissive in order to allow
flexible naming conventions. And then UML2 could have restricted the
query to get better alignment with realisation technologies..

thanks
/anders


James Bruck wrote:
> Hi Anders,
>
> The query isDistinguishableFrom() is checking metatypes not types.
> In your case, the warning appears because the metatypes of "property" in
> "Class" are the same ( Propety ) and the names are also the same.
>
> The OCL as it appears in the spec is not entirely correct since it uses
> "..self.oclType", where "oclType" is not properly formed OCL (I double
> checked that with Christian Damus <aka Mr.OCL > )
> The query behaves as you would expect most programming languages to behave
> ( Java in particular ). For example, you would get a warning if you had
> two attributes with the same name even if their types were different.
>
> The query should return true in a scenario where you have a nested Class and
> a nested Interface under a namespace that have the same name. In that case,
> the metatypes would be different.
>
> Regards,
>
> - James.
>
> <user@domain.com> wrote in message news:468F7DC6.8050409@domain.com...
>> Hi,
>>
>> I seem to have a problem with my reading understanding of the query
>> NamedElement::isDistinguishableFrom()
>>
>> UML 2007-02-03, "The query isDistinguishableFrom() determines whether
>> two NamedElements may logically co-exist within a Namespace.
>> By default, two named elements are distinguishable if (a) they have
>> unrelated types or (b) they have related types but
>> different names."
>>
>>
>> A warning is issued for atttached small file.
>> "Not all the members of namespace '<Class> Class' are distinguishable
>> within it."
>>
>> note: Im using the latest Europe 3.3 release.
>>
>> thanks
>> /anders
>>
>
>
> ------------------------------------------------------------ ----------------
> ----
>
>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <uml:Package xmi:version="2.1"
> xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
> xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML"
> xmi:id="_xZ0P4SpPEdybW4WcTRWaZg">
>> <eAnnotations xmi:id="_2CQoASx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CQoAix7EdyIN_9H57vYNQ" key="uuid"
> value="_2CQoACx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <packagedElement xmi:type="uml:DataType"
> xmi:id="_3MagoCpPEdybW4WcTRWaZg" name="A">
>> <eAnnotations xmi:id="_2CQoBCx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CQoBSx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CQoAyx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <ownedAttribute xmi:id="_5XvIsCpPEdybW4WcTRWaZg" name="property"
> type="_PNCdICx2EdyhfbRgxFvqZQ" aggregation="composite">
>> <eAnnotations xmi:id="_2CQoByx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CQoCCx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CQoBix7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> </packagedElement>
>> <packagedElement xmi:type="uml:Class" xmi:id="_7f7kQCpPEdybW4WcTRWaZg"
> name="Class">
>> <eAnnotations xmi:id="_2CQoCix7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CQoCyx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CQoCSx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <ownedAttribute xmi:id="_B9caQCpQEdybW4WcTRWaZg" name="property"
> type="_3MagoCpPEdybW4WcTRWaZg" isReadOnly="true" isDerived="true"
> isDerivedUnion="true" aggregation="composite">
>> <eAnnotations xmi:id="_2CaZASx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CaZAix7EdyIN_9H57vYNQ" key="uuid"
> value="_2CaZACx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <upperValue xmi:type="uml:LiteralUnlimitedNatural"
> xmi:id="_uG_-0CpQEdybW4WcTRWaZg" value="*">
>> <eAnnotations xmi:id="_2CaZBCx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CaZBSx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CaZAyx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </upperValue>
>> <lowerValue xmi:type="uml:LiteralInteger"
> xmi:id="_ti8PgCpQEdybW4WcTRWaZg">
>> <eAnnotations xmi:id="_2CaZByx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CaZCCx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CaZBix7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </lowerValue>
>> </ownedAttribute>
>> <ownedAttribute xmi:id="_Dq9sACpQEdybW4WcTRWaZg" name="property"
> type="_8k7dcCpPEdybW4WcTRWaZg" aggregation="composite">
>> <eAnnotations xmi:id="_2CaZCix7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CaZCyx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CaZCSx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> <ownedAttribute xmi:type="uml:Port" xmi:id="_m1ptMCx2EdyhfbRgxFvqZQ"
> name="port" aggregation="composite">
>> <eAnnotations xmi:id="_2Cji8Sx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2Cji8ix7EdyIN_9H57vYNQ" key="uuid"
> value="_2Cji8Cx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> </packagedElement>
>> <packagedElement xmi:type="uml:DataType"
> xmi:id="_8k7dcCpPEdybW4WcTRWaZg" name="B">
>> <eAnnotations xmi:id="_2Cji9Cx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2Cji9Sx7EdyIN_9H57vYNQ" key="uuid"
> value="_2Cji8yx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </packagedElement>
>> <packagedElement xmi:type="uml:PrimitiveType"
> xmi:id="_9pxloCpPEdybW4WcTRWaZg" name="P">
>> <eAnnotations xmi:id="_2Cji9yx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2Cji-Cx7EdyIN_9H57vYNQ" key="uuid"
> value="_2Cji9ix7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <ownedAttribute xmi:id="_AKZvUCpQEdybW4WcTRWaZg" name="property"
> aggregation="composite">
>> <eAnnotations xmi:id="_2Cji-ix7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2Cji-yx7EdyIN_9H57vYNQ" key="uuid"
> value="_2Cji-Sx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> </packagedElement>
>> <packagedElement xmi:type="uml:DataType"
> xmi:id="_PNCdICx2EdyhfbRgxFvqZQ" name="DataType">
>> <eAnnotations xmi:id="_2CtT-ix7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CtT-yx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CtT-Sx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <ownedAttribute xmi:id="_QX2DYCx2EdyhfbRgxFvqZQ" name="property"
> aggregation="composite">
>> <eAnnotations xmi:id="_2CtUACx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2CtUASx7EdyIN_9H57vYNQ" key="uuid"
> value="_2CtT_yx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> </packagedElement>
>> <packagedElement xmi:type="uml:Component"
> xmi:id="_oATicCx2EdyhfbRgxFvqZQ" name="Component">
>> <eAnnotations xmi:id="_2C3E8Sx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2C3E8ix7EdyIN_9H57vYNQ" key="uuid"
> value="_2C3E8Cx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> <ownedAttribute xmi:type="uml:Port" xmi:id="_oh_TMCx2EdyhfbRgxFvqZQ"
> name="port" aggregation="composite">
>> <eAnnotations xmi:id="_2C3E9Cx7EdyIN_9H57vYNQ"
> source="http://www.topcased.org/uuid">
>> <details xmi:id="_2C3E9Sx7EdyIN_9H57vYNQ" key="uuid"
> value="_2C3E8yx7EdyIN_9H57vYNQ"/>
>> </eAnnotations>
>> </ownedAttribute>
>> </packagedElement>
>> </uml:Package>
>>
>
>
> ------------------------------------------------------------ ----------------
> ----
>
>
>
>
>
Re: Problems with UML2::NamedElement::isDistinguishableFrom [message #623648 is a reply to message #473947] Wed, 11 July 2007 13:48 Go to previous message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
Hi Anders,

You might want to bring that up with OMG and attempt getting the spec
changed.
You can try sending an email to issues@omg.org or uml2-rtf@omg.org.
Unless you have very strong arguments against how the spec defines this
currently you might have a bit of a battle getting the spec changed :)
The opensource API really tries to follow the spec to the letter; warts and
all.

- James.


<user@domain.com> wrote in message news:f72lki$80c$1@build.eclipse.org...
> Hi James,
>
> Thanks with the reading help, i see now what i missed!
>
> Unfortunately I was hoping that the rule was wider than what its is.
>
> Im trying to layer different kinds of naming-conventions ontop of CMOF
> and UML2 (namespace, named element), but one of the really tricky one
> allows same named properties with different property-type:s.
>
> Personally I objected to that particular rule but for some reasons it
> was needed.
>
> It would have been great if the Infrastructure: E/CMOF Namedelement
> isDistinguishableFrom would have been more permissive in order to allow
> flexible naming conventions. And then UML2 could have restricted the
> query to get better alignment with realisation technologies..
>
> thanks
> /anders
>
>
> James Bruck wrote:
> > Hi Anders,
> >
> > The query isDistinguishableFrom() is checking metatypes not types.
> > In your case, the warning appears because the metatypes of "property" in
> > "Class" are the same ( Propety ) and the names are also the same.
> >
> > The OCL as it appears in the spec is not entirely correct since it uses
> > "..self.oclType", where "oclType" is not properly formed OCL (I double
> > checked that with Christian Damus <aka Mr.OCL > )
> > The query behaves as you would expect most programming languages to
behave
> > ( Java in particular ). For example, you would get a warning if you
had
> > two attributes with the same name even if their types were different.
> >
> > The query should return true in a scenario where you have a nested Class
and
> > a nested Interface under a namespace that have the same name. In that
case,
> > the metatypes would be different.
> >
> > Regards,
> >
> > - James.
> >
> > <user@domain.com> wrote in message news:468F7DC6.8050409@domain.com...
> >> Hi,
> >>
> >> I seem to have a problem with my reading understanding of the query
> >> NamedElement::isDistinguishableFrom()
> >>
> >> UML 2007-02-03, "The query isDistinguishableFrom() determines whether
> >> two NamedElements may logically co-exist within a Namespace.
> >> By default, two named elements are distinguishable if (a) they have
> >> unrelated types or (b) they have related types but
> >> different names."
> >>
> >>
> >> A warning is issued for atttached small file.
> >> "Not all the members of namespace '<Class> Class' are distinguishable
> >> within it."
> >>
> >> note: Im using the latest Europe 3.3 release.
> >>
> >> thanks
> >> /anders
> >>
> >
> >
>
> ------------------------------------------------------------ --------------
--
> > ----
> >
> >
> >> <?xml version="1.0" encoding="UTF-8"?>
> >> <uml:Package xmi:version="2.1"
> > xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
> > xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML"
> > xmi:id="_xZ0P4SpPEdybW4WcTRWaZg">
> >> <eAnnotations xmi:id="_2CQoASx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CQoAix7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CQoACx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <packagedElement xmi:type="uml:DataType"
> > xmi:id="_3MagoCpPEdybW4WcTRWaZg" name="A">
> >> <eAnnotations xmi:id="_2CQoBCx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CQoBSx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CQoAyx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <ownedAttribute xmi:id="_5XvIsCpPEdybW4WcTRWaZg" name="property"
> > type="_PNCdICx2EdyhfbRgxFvqZQ" aggregation="composite">
> >> <eAnnotations xmi:id="_2CQoByx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CQoCCx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CQoBix7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> </packagedElement>
> >> <packagedElement xmi:type="uml:Class"
xmi:id="_7f7kQCpPEdybW4WcTRWaZg"
> > name="Class">
> >> <eAnnotations xmi:id="_2CQoCix7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CQoCyx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CQoCSx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <ownedAttribute xmi:id="_B9caQCpQEdybW4WcTRWaZg" name="property"
> > type="_3MagoCpPEdybW4WcTRWaZg" isReadOnly="true" isDerived="true"
> > isDerivedUnion="true" aggregation="composite">
> >> <eAnnotations xmi:id="_2CaZASx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CaZAix7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CaZACx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <upperValue xmi:type="uml:LiteralUnlimitedNatural"
> > xmi:id="_uG_-0CpQEdybW4WcTRWaZg" value="*">
> >> <eAnnotations xmi:id="_2CaZBCx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CaZBSx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CaZAyx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </upperValue>
> >> <lowerValue xmi:type="uml:LiteralInteger"
> > xmi:id="_ti8PgCpQEdybW4WcTRWaZg">
> >> <eAnnotations xmi:id="_2CaZByx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CaZCCx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CaZBix7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </lowerValue>
> >> </ownedAttribute>
> >> <ownedAttribute xmi:id="_Dq9sACpQEdybW4WcTRWaZg" name="property"
> > type="_8k7dcCpPEdybW4WcTRWaZg" aggregation="composite">
> >> <eAnnotations xmi:id="_2CaZCix7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CaZCyx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CaZCSx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> <ownedAttribute xmi:type="uml:Port"
xmi:id="_m1ptMCx2EdyhfbRgxFvqZQ"
> > name="port" aggregation="composite">
> >> <eAnnotations xmi:id="_2Cji8Sx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2Cji8ix7EdyIN_9H57vYNQ" key="uuid"
> > value="_2Cji8Cx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> </packagedElement>
> >> <packagedElement xmi:type="uml:DataType"
> > xmi:id="_8k7dcCpPEdybW4WcTRWaZg" name="B">
> >> <eAnnotations xmi:id="_2Cji9Cx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2Cji9Sx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2Cji8yx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </packagedElement>
> >> <packagedElement xmi:type="uml:PrimitiveType"
> > xmi:id="_9pxloCpPEdybW4WcTRWaZg" name="P">
> >> <eAnnotations xmi:id="_2Cji9yx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2Cji-Cx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2Cji9ix7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <ownedAttribute xmi:id="_AKZvUCpQEdybW4WcTRWaZg" name="property"
> > aggregation="composite">
> >> <eAnnotations xmi:id="_2Cji-ix7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2Cji-yx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2Cji-Sx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> </packagedElement>
> >> <packagedElement xmi:type="uml:DataType"
> > xmi:id="_PNCdICx2EdyhfbRgxFvqZQ" name="DataType">
> >> <eAnnotations xmi:id="_2CtT-ix7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CtT-yx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CtT-Sx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <ownedAttribute xmi:id="_QX2DYCx2EdyhfbRgxFvqZQ" name="property"
> > aggregation="composite">
> >> <eAnnotations xmi:id="_2CtUACx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2CtUASx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2CtT_yx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> </packagedElement>
> >> <packagedElement xmi:type="uml:Component"
> > xmi:id="_oATicCx2EdyhfbRgxFvqZQ" name="Component">
> >> <eAnnotations xmi:id="_2C3E8Sx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2C3E8ix7EdyIN_9H57vYNQ" key="uuid"
> > value="_2C3E8Cx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> <ownedAttribute xmi:type="uml:Port"
xmi:id="_oh_TMCx2EdyhfbRgxFvqZQ"
> > name="port" aggregation="composite">
> >> <eAnnotations xmi:id="_2C3E9Cx7EdyIN_9H57vYNQ"
> > source="http://www.topcased.org/uuid">
> >> <details xmi:id="_2C3E9Sx7EdyIN_9H57vYNQ" key="uuid"
> > value="_2C3E8yx7EdyIN_9H57vYNQ"/>
> >> </eAnnotations>
> >> </ownedAttribute>
> >> </packagedElement>
> >> </uml:Package>
> >>
> >
> >
>
> ------------------------------------------------------------ --------------
--
> > ----
> >
> >
> >
> >
> >
Previous Topic:How to get Project of Element or Model
Next Topic:UML2 XMI > SVG via XSLT
Goto Forum:
  


Current Time: Thu Apr 25 00:20:44 GMT 2024

Powered by FUDForum. Page generated in 0.04241 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top